summaryrefslogtreecommitdiff
path: root/gcc/config
diff options
context:
space:
mode:
authorliuhongt <hongtao.liu@intel.com>2020-05-08 17:47:33 +0800
committerliuhongt <hongtao.liu@intel.com>2020-05-13 10:14:57 +0800
commit0fec3f62b9bfc03e5088a09036791c2ac84fe0c8 (patch)
tree216e121522f3cdf9d5cc164fb31e14a6b9e7449b /gcc/config
parent9042fea9722a928de2c85e1c9462ab0d3380135a (diff)
Document more x86 operand modifier.
Documents operand modifiers which are available in asm stmt but missing in document. | Modifier | Description | Available in asm stmt | Existed in documentation | | --- | --- | ------- | ----- | | L,W,B,Q,S,T | print the opcode suffix for specified size of operand. | Available | Not | | C | print opcode suffix for set/cmov insn. | Not | - | | c | like C, but print reversed condition | Not | - | | F,f | likewise, but for floating-point. | Not | - | | O | if HAVE_AS_IX86_CMOV_SUN_SYNTAX, expand to "w.", "l." or "q.", otherwise nothing | Not | - | | R | print embedded rounding and sae. | Available | Not | | r | print only sae. | Available | Not | | z | print the opcode suffix for the size of the current operand. | Available | Existed | | Z | likewise, with special suffixes for x87 instructions. | Availble | Not | | * | print a star (in certain assembler syntax) | Not | - | | A | print an absolute memory reference. | Available | Existed | | E | print address with DImode register names if TARGET_64BIT. | Available | Existed | | w | print the operand as if it's a "word" (HImode) even if it isn't. | Available | Existed | | s | print a shift double count, followed by the assemblers argument delimiter. | Available | Not | | b | print the QImode name of the register for the indicated operand %b0 would print %al if operands[0] is reg 0. | Available | Existed | | w | likewise, print the HImode name of the register. | Available | Existed | | k | likewise, print the SImode name of the register. | Available | Existed | | q | likewise, print the DImode name of the register. | Available | Existed | | x | likewise, print the V4SFmode name of the register. | Available | Not | | t | likewise, print the V8SFmode name of the register. | Available | Not | | g | likewise, print the V16SFmode name of the register. | Avaliable | Not | | h | print the QImode name for a "high" register, either ah, bh, ch or dh. | Available | Existed | | y | print "st(0)" instead of "st" as a register. | Available | Not | | d | print duplicated register operand for AVX instruction. | Available | Not | | D | print condition for SSE cmp instruction. | Not | - | | P | if PIC, print an @PLT suffix. | Available | Existed | | p | print raw symbol name. | Available | Existed | | X | don't print any sort of PIC '@' suffix for a symbol. | Not | - | | & | print some in-use local-dynamic symbol name. | Not | - | | H | print a memory address offset by 8; used for sse high-parts | Available | Existed | | Y | print condition for XOP pcom* instruction. | Not | - | | V | print naked full integer register name without %. | Available | Existed | | + | print a branch hint as 'cs' or 'ds' prefix | Not | - | | ; | print a semicolon (after prefixes due to bug in older gas). | Not | - | | ~ | print "i" if TARGET_AVX2, "f" otherwise. | Not | - | | ^ | print addr32 prefix if TARGET_64BIT and Pmode != word_mode | Not | - | | M | print addr32 prefix for TARGET_X32 with VSIB address. | Not | - | | ! | print NOTRACK prefix for jxx/call/ret instructions if required. | Not | - | | N | print maskz if it's constant 0 operand. | Available | Not | | I | print comparision predicate operand for sse cmp condition. | Not | - | gcc/ChangeLog PR target/94118 * doc/extend.texi (x86Operandmodifiers): Document more x86 operand modifier. * gcc/config/i386/i386.c: Add comment for operand modifier N and I. Modified-by: liuhongt <hongtao.liu@intel.com>
Diffstat (limited to 'gcc/config')
-rw-r--r--gcc/config/i386/i386.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index 17883ffd131..f7a4bae49bb 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -12506,6 +12506,8 @@ print_reg (rtx x, int code, FILE *file)
^ -- print addr32 prefix if TARGET_64BIT and Pmode != word_mode
M -- print addr32 prefix for TARGET_X32 with VSIB address.
! -- print NOTRACK prefix for jxx/call/ret instructions if required.
+ N -- print maskz if it's constant 0 operand.
+ I -- print comparision predicate operand for sse cmp condition.
*/
void