aboutsummaryrefslogtreecommitdiff
path: root/gcc/doc/md.texi
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/doc/md.texi')
-rw-r--r--gcc/doc/md.texi29
1 files changed, 16 insertions, 13 deletions
diff --git a/gcc/doc/md.texi b/gcc/doc/md.texi
index ae7a601..70a2755 100644
--- a/gcc/doc/md.texi
+++ b/gcc/doc/md.texi
@@ -1366,6 +1366,12 @@ as for @samp{<} apply.
A register operand is allowed provided that it is in a general
register.
+@cindex hard registers in constraint
+@item @samp{@{r@}}
+An operand is bound to hard register @samp{r} which may be any general,
+floating-point, or vector register except a fixed register like a stack pointer
+register. The set of fixed registers is target dependent.
+
@cindex constants in constraints
@cindex @samp{i} in constraint
@item @samp{i}
@@ -2171,12 +2177,6 @@ VFP floating-point registers @code{d0}-@code{d31} and the appropriate
subset @code{d0}-@code{d15} based on command line options.
Used for 64 bit values only. Not valid for Thumb1.
-@item y
-The iWMMX co-processor registers.
-
-@item z
-The iWMMX GR registers.
-
@item G
The floating-point constant 0.0
@@ -2210,9 +2210,6 @@ A symbol in the text segment of the current file
@item Uv
A memory reference suitable for VFP load/store insns (reg+constant offset)
-@item Uy
-A memory reference suitable for iWMMXt load/store instructions.
-
@item Uq
A memory reference suitable for the ARMv4 ldrsb instruction.
@end table
@@ -2927,6 +2924,9 @@ A signed 16-bit constant.
A memory operand whose address is formed by a base register and offset
that is suitable for use in instructions with the same addressing mode
as @code{st.w} and @code{ld.w}.
+@item q
+A general-purpose register except for $r0 and $r1 (for the csrxchg
+instruction)
@item I
A signed 12-bit constant (for arithmetic instructions).
@item K
@@ -3703,6 +3703,9 @@ RVC general purpose register (x8-x15).
RVC floating-point registers (f8-f15), if available, reuse GPR as FPR when use
zfinx.
+@item cR
+Even-odd RVC general purpose register pair.
+
@item R
Even-odd general purpose register pair.
@@ -5000,8 +5003,8 @@ This pattern is not allowed to @code{FAIL}.
Like @samp{vec_load_lanes@var{m}@var{n}}, but takes an additional
mask operand (operand 2) that specifies which elements of the destination
vectors should be loaded. Other elements of the destination vectors are
-taken from operand 3, which is an else operand similar to the one in
-@code{maskload}.
+taken from operand 3, which is an else operand in the subvector mode
+@var{n}, similar to the one in @code{maskload}.
The operation is equivalent to:
@smallexample
@@ -8592,7 +8595,7 @@ If this pattern is not defined, a call to the library function
@cindex @code{spaceship@var{m}4} instruction pattern
@item @samp{spaceship@var{m}4}
-Initialize output operand 0 with mode of integer type to -1, 0, 1 or 2
+Initialize output operand 0 with mode of integer type to -1, 0, 1 or -128
if operand 1 with mode @var{m} compares less than operand 2, equal to
operand 2, greater than operand 2 or is unordered with operand 2.
Operand 3 should be @code{const0_rtx} if the result is used in comparisons,
@@ -8600,7 +8603,7 @@ Operand 3 should be @code{const0_rtx} if the result is used in comparisons,
is integral unsigned, @code{constm1_rtx} if the result is used as integer
value and the comparison is integral signed and some other @code{CONST_INT}
if the result is used as integer value and the comparison is floating point.
-In the last case, instead of setting output operand 0 to 2 for unordered,
+In the last case, instead of setting output operand 0 to -128 for unordered,
set it to operand 3.
@var{m} should be a scalar floating point mode.