The assembler can't know if something is a colonless label or a
misspelled instruction, so print both when complaining about a missing
instruction.
Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
For disassembler to work correctly NOPs should be at the very end of the
database file.
Signed-off-by: Maciej Wieczor-Retman <maciej.wieczor-retman@intel.com>
Start the subchapter on jmp and call syntax summary. Move the far call
syntax paragraph from language chapter to the syntax chapter.
Add a couple of paragraphs about possible syntaxes of the jump/call
instructions.
Signed-off-by: Maciej Wieczor-Retman <maciej.wieczor-retman@intel.com>
Add a split EA subchapter to the syntax chapter end remove it from the
language chapter, leaving a hyperlink to the new location.
Signed-off-by: Maciej Wieczor-Retman <maciej.wieczor-retman@intel.com>
The syntax chapter is supposed to be about concepts or instructions that
either have a lot of different syntaxes or new/odd ones.
Signed-off-by: Maciej Wieczor-Retman <maciej.wieczor-retman@intel.com>
\I without anything in the curly brackets made the "procedure linkage
table" text disappear.
Signed-off-by: Maciej Wieczor-Retman <maciej.wieczor-retman@intel.com>
- Fix additional broken rules
- Add some more files to WARNOBJ
- $^ is not supported by POSIX, apparently
- Update warnings.pl to *actually* use the srcdir and list of
passed-in files.
Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
Make a note about the availability of the cccl wrapper for building
with MSVC using GNU make.
Minor tidying up of the building from source section in general.
Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
It isn't actually required to have $(PERLREQ) to run syncfiles,
so factor it out into a separate target.
Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
Using '' filename protects break the generated alternative makefiles,
but it is also largely useless -- building in relative paths which
require escaping breaks anyway as make and the shell would require
different escaping.
Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
ISO C before C23 restricted enum ranges to type "int" (not even
"unsigned int"). This limits the usability of enums for bit fields,
but it still covers our main use cases.
On gcc/clang this just produces a warning, but who knows what other
compilers will do.
Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
The MMX and early SSE PSHUF* instructions were annotated SM0-1, which
is unnecessary (no ambiguity) but broke the tighter SM matching the
assembler now uses.
This is almost certainly underspecified now, but the MMX and early SSE
instruction patterns need to be tidied up anyway, and this is the
least impactful change that seems to fix the problem.
This unbreaks compiling ffmpeg.
Reported-by: Yongjie Sheng (Intel) <sheng.yongjie@outlook.com>
Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
PF and CF are always set to the same value; allow the programmer to
specify either or both.
Allow EQU to take a {dfv} expression without needing parens.
Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
Add all the missing instructions / instruction variants that are
specified in the 2025 June Intel ISE.
Signed-off-by: Maciej Wieczor-Retman <maciej.wieczor-retman@intel.com>
Memory operand size for all VSM4KEY4 versions is specified as 128 bit
long, while the ymm register version should use 256 bit size.
Signed-off-by: Maciej Wieczor-Retman <maciej.wieczor-retman@intel.com>
Add macros for the R16L-R31L aliases for the corresponding -B
registers.
The order in the file changed to put all the -L registers at the end,
to make it easier to maintain this file.
Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
Currently, the website links directly to appendix C, D, and E by name.
At some point, change the HTML generation to use the chapter names
rather than numbers.
Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>