diff options
Diffstat (limited to 'gcc/doc/md.texi')
-rw-r--r-- | gcc/doc/md.texi | 22 |
1 files changed, 16 insertions, 6 deletions
diff --git a/gcc/doc/md.texi b/gcc/doc/md.texi index 7bbdda8e415..ce59a0fd5ed 100644 --- a/gcc/doc/md.texi +++ b/gcc/doc/md.texi @@ -1314,15 +1314,15 @@ The constraints are defined through these macros: @table @code @item REG_CLASS_FROM_LETTER -Register class constraints (usually lower case). +Register class constraints (usually lowercase). @item CONST_OK_FOR_LETTER_P Immediate constant constraints, for non-floating point constants of -word size or smaller precision (usually upper case). +word size or smaller precision (usually uppercase). @item CONST_DOUBLE_OK_FOR_LETTER_P Immediate constant constraints, for all floating point constants and for -constants of greater than word size precision (usually upper case). +constants of greater than word size precision (usually uppercase). @item EXTRA_CONSTRAINT Special cases of registers or memory. This macro is not required, and @@ -2318,7 +2318,7 @@ pattern to accomplish a certain task. @table @asis @cindex @code{mov@var{m}} instruction pattern @item @samp{mov@var{m}} -Here @var{m} stands for a two-letter machine mode name, in lower case. +Here @var{m} stands for a two-letter machine mode name, in lowercase. This instruction pattern moves data with that machine mode from operand 1 to operand 0. For example, @samp{movsi} moves full-word data. @@ -2799,7 +2799,7 @@ The use for multiple @code{clrstr@var{m}} is as for @code{movstr@var{m}}. @cindex @code{cmpstr@var{m}} instruction pattern @item @samp{cmpstr@var{m}} -Block compare instruction, with five operands. Operand 0 is the output; +String compare instruction, with five operands. Operand 0 is the output; it has mode @var{m}. The remaining four operands are like the operands of @samp{movstr@var{m}}. The two memory blocks specified are compared byte by byte in lexicographic order starting at the beginning of each @@ -2809,6 +2809,16 @@ that may access an invalid page or segment and cause a fault. The effect of the instruction is to store a value in operand 0 whose sign indicates the result of the comparison. +@cindex @code{cmpmem@var{m}} instruction pattern +@item @samp{cmpmem@var{m}} +Block compare instruction, with five operands like the operands +of @samp{cmpstr@var{m}}. The two memory blocks specified are compared +byte by byte in lexicographic order starting at the beginning of each +block. Unlike @samp{cmpstr@var{m}} the instruction can prefetch +any bytes in the two memory blocks. The effect of the instruction is +to store a value in operand 0 whose sign indicates the result of the +comparison. + @cindex @code{strlen@var{m}} instruction pattern @item @samp{strlen@var{m}} Compute the length of a string, with three operands. @@ -4800,7 +4810,7 @@ A @samp{#define} is written for the symbol @samp{HAVE_ATTR_@var{name}}. @item An enumeral class is defined for @samp{attr_@var{name}} with elements of the form @samp{@var{upper-name}_@var{upper-value}} where -the attribute name and value are first converted to upper case. +the attribute name and value are first converted to uppercase. @item A function @samp{get_attr_@var{name}} is defined that is passed an insn and |