9 Commits

Author SHA1 Message Date
Mark Charney
86a96f1beb moved the AVX512 ILD getters in to include/private/xed-ild-private.h
* covers the derived conditions for mask=0 and mask!=0.
    xed3_operand_get_mask_not0()
    xed3_operand_get_mask_zero()

  * no need to have them in the datafiles dynamic code any more.

  * guarded code by XED_SUPPORTS_AVX512.

Change-Id: Ibff9348a1409264dd349cd9423e7efdbe5f19ffc
(cherry picked from commit 713b5dc4fa038787bd46a769b729173de26047e7)
2017-05-04 22:11:12 -04:00
Mark Charney
7248925e7d override-able chip mode operand settings
* allow setting operands based chip & feature settings. The
  xed-chi-modes-override.c file can be replaced in extended builds.

Change-Id: I2452bd56372fb7cd78c0c61c6f03381e7406d532
(cherry picked from commit 872552242193cd0b50c8cc98f5b6f61e0c17cbbd)
2017-05-01 12:16:04 -04:00
Mark Charney
44fb3a23a1 disassembly: handling /is4 better
* sometimes the imm8 has a register specifier (/is4) so we like to
     display the immediate without the register specifier portion. So
     we have to distinguish the real imm8 bits specified in the operand
     from the length of the immediate field.

   * minor clean up of some of the xml tag emitting

Change-Id: I510f084e12181514376ea76031073b77f7d7011c
(cherry picked from commit 359ab61b052c87dcd82e203c8d7c688c92237969)
2017-05-01 12:16:04 -04:00
Mark Charney
4ce1e23c9a new apis xed_decoded_inst_is_broadcast(xed_decoded_inst_t* p)
* for broadcast instructions and AVX512 ld-op instr with embedded
    broadcast being used.

  * xed_decoded_inst_is_broadcast_instruction(xedd) for pure broadcasts

  * xed_decoded_inst_uses_embedded_broadcast(xedd) for AVX512 ld-op  with embedded broadcast

  * xed_decoded_inst_is_broadcast(xedd) for logical OR of the above two functions.

Change-Id: Icb8a0e20380156239be712a2542477fd79222fd9
(cherry picked from commit 2a4532c07443ba22db49ad9e21887a935ca52b1f)
2017-02-02 21:16:54 -05:00
klemens
218a25f092 spelling fixes 2016-12-24 07:47:12 -05:00
Mark Charney
85e545d229 remove leading/trailing underscores C-prepoc header guards
* generated header
    * static headers
    * example headers
    * datafile headers

(cherry picked from commit 02147122b27ba3ab53bd3c45d3766da0b971bc29)
2016-12-23 10:33:32 -05:00
Mark Charney
fcd2d41b2b moving headers to xed/ directory for install & kit. DISRUPTIVE CHANGE
* compiled kit users must refer to "#include "xed/xed-interface.h"
      and xed/ on any other public headers that they reference as part
      of the kit or new /usr/local installs.  Or they can change their
      -I flag to include the xed/ path component.  All the examples
      use xed/ in the #include statements now.

    * new knob --prefix=/usr/local (for example) that puts the
      compiled library in /usr/local/lib and the headers in
      /usr/local/include/xed .

    * To install in /usr/local, one typically must sudo.  If you do
      the whole build at sudo, then it'll create root-owned files in
      your build directory whic you might not want.  So I suggest
      first building as the local user and then sudo only for the
      final install.

         > ./mfile.py
	 > sudo ./mfile.py --prefix=/usr/local

    * There is also a --prefix-lib-dir knob to specify something other
      than "lib" for /usr/local/lib. Some systems use lib, lib32 or
      lib64 and I don't know how to tell which is which so I give
      users a knob so they can decide for themselves.

         > ./mfile.py --host-cpu=ia32
	 > sudo ./mfile.py --prefix=/usr/local --prefix-lib-dir=lib32
         > ./mfile.py --host-cpu=intel64
	 > sudo ./mfile.py --prefix=/usr/local --prefix-lib-dir=lib64

    * added xed-util.h to xed-interface.h

    * moved headers from include/public to include/public/xed

    * genutil minor cleanup

Change-Id: I3786d2280f24ff8d7e075fa7a75d90f3b28dd8c3
2016-12-21 13:53:14 -05:00
Kimihiro Nonaka
8e0ed2e1e7 fix build on NetBSD/amd64. 2016-12-19 17:05:24 +09:00
Mark Charney
ffd94e705c initial commit
Change-Id: I32a6db1a17988d9df8ff69aa1672dbf08b108e8a
2016-12-16 16:09:38 -05:00