Age | Commit message (Collapse) | Author | Files | Lines |
|
AVX-512 introduced new syntax using braces for decorators.
Opmask, broadcat, rounding control use this new syntax.
http://software.intel.com/sites/default/files/319433-015.pdf
Signed-off-by: Jin Kyu Song <jin.kyu.song@intel.com>
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
|
|
H. Peter Anvin noted:
|
| Could we avoid putting static code that has no dynamic content in
| dynamically generated files... it just complicates things unnecessarily.
|
| The above can move into nasm.h for example.
|
Good idea.
CC: "H. Peter Anvin" <hpa@zytor.com>
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
|
|
Instead of opencoded check use inline helper.
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
|
|
Hopefully this should catch all of them... but please keep an eye out
for any other uses of int32_t for the operand flags.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|
This adds copyright verbiage to the Perl scripts. Scripts that are
known to be clean w.r.t. the 2-clause BSD license are given that
license; unclear ones are given the "LGPL for now".
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|
Add include guards to generated header files, and make sure the
appropriate prerequisite headers are included if necessary.
|
|
The declarations in regdis.h need to be "extern", since they are
external data.
regdis.c should include regdis.h.
Minor stylistic cleanups in regs.c.
|
|
Add comments to regflags.c and regvals.c, to make it easier to spot
errors.
|
|
|
|
Don't #include .c files, even if they are auto-generated; instead
compile them as separate compilation units and let the linker do its
job.
|
|
"Stealth whitespace" makes it harder to read diffs, and just generally
cause unwanted weirdness. Do a source-wide pass to get rid of it.
|
|
Concentrate compiler dependencies to compiler.h; make sure compiler.h
is included first in every .c file (since some prototypes may depend
on the presence of feature request macros.)
Actually use the conditional inclusion of various functions (totally
broken in previous releases.)
|
|
Remove CVS $Id$ tags, since git doesn't use them.
|
|
We have a lot of enumerations; by declaring fields as such, we make it
easier when debugging, since the debugger can display the enumerations
in cleartext. However, make sure exceptional values (like -1) are
included in the enumeration, since the compiler otherwise may not
include it in the valid range of the enumeration.
|
|
When we're dealing with a field which is guaranteed to have an enum type,
then declare it as such so it shows up in debuggers.
|
|
|
|
Handle dashed sequences with suffixes. Use that for r8-r15[bwd].
|
|
There was a magic hard-coded constant that register numbers were between
1 and 124. Well, we have about 150 registers now, and that broke.
|
|
Get rid of magic open-coded register numbers. We now keep track of
a total of three different kinds of register numbers: the register
enumeration (regs.h), the x86 register value, and the register flags.
That has all the information we need.
Additionally, do massive revamping of the EA generation code and the
REX generation logic.
|
|
We used to use * to mean substitute in 0-7. Now it means that it should
be incremented 8 times. Using a different character feels cleaner.
|
|
64-bit support for ndisasm. This is very much an initial attempt, and
there are guaranteed to be bugs in the code. However, some *very*
preliminary testing seems to indicate it's not completely off-base.
|
|
64-bit support required some major changes to regs.dat; clean some of
it up (re-introduce patterns, where appropriate) and allow a single
register to belong to multiple disassembly classes; also keep track
of the x86 register number again.
|
|
- Don't use an advancing counter through an array to do a push().
- An empty array is written as (), not 0.
|
|
|
|
|
|
|
|
a) Automatically generate dependencies for all Makefiles;
b) Move register definitions to a separate .dat file;
c) Add support for "unimplemented but there in theory" registers.
|