summaryrefslogtreecommitdiff
path: root/gcc/md.texi
diff options
context:
space:
mode:
authorgeoffk <geoffk@138bc75d-0d04-0410-961f-82ee72b054a4>1999-08-01 16:14:58 +0000
committergeoffk <geoffk@138bc75d-0d04-0410-961f-82ee72b054a4>1999-08-01 16:14:58 +0000
commit1ac3dc37c00cc057c1e9e23025708199d4730678 (patch)
tree5aabdc2c0749cc2bdd4aee71e4a65c91d31a84ec /gcc/md.texi
parent21b005edccf01c883a6f989f701c2273a774dc3e (diff)
downloadgcc-1ac3dc37c00cc057c1e9e23025708199d4730678.tar.gz
* config/rs6000/rs6000.c (num_insns_constant_wide): Correct
for type promotion. (add_operand): Get test correct for 64-bit HOST_WIDE_INT. (non_add_cint_operand): Likewise. (logical_operand): Likewise. (non_logical_cint_operand): Likewise. (print_operand): Correct printf()s for 64-bit HOST_WIDE_INT. (print_operand_address): Correct printf() for 64-bit HOST_WIDE_INT. (rs6000_select_rtx_section): Suppress warning. (small_data_operand): Suppress warning. (rs6000_got_register): Suppress warning. * config/rs6000/rs6000.md (andsi3): HOST_WIDE_INT is a signed type, so `J' is generally the wrong constraint for a SImode value; use `L' instead. (andsi3_internal2): Likewise. (andsi3_internal3): Likewise. (iorsi3_internal1): Likewise. (xorsi3_internal1): Likewise. (movsi): Likewise. (movsf_softfloat): Likewise. various unnamed compare insns: Likewise. (movsi+2): Preserve sign bits of SImode constant. (floatsidf2_internal+1): Sign-extend SImode constant correctly. (movdf+1): Preserve high bits of DFmode constant. (movdi_32+1): Sign-extend properly. various unnamed compare insns: Sign-extend properly. * unroll.c (loop_iterations): Convert HOST_WIDE_INT to unsigned properly for mode. * expmed.c (expand_mult_highpart): Convert HOST_WIDE_INT from unsigned properly for mode. (expand_divmod): Likewise. * optabs.c (expand_fix): Keep HOST_WIDE_INT constants properly signed. (expand_binop): Sometimes there is work to do when changing the mode of a CONST_INT. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@28375 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/md.texi')
-rw-r--r--gcc/md.texi10
1 files changed, 7 insertions, 3 deletions
diff --git a/gcc/md.texi b/gcc/md.texi
index 11a4001e682..13dc4421ae6 100644
--- a/gcc/md.texi
+++ b/gcc/md.texi
@@ -1384,13 +1384,14 @@ Floating point register
Signed 16 bit constant
@item J
-Constant whose low 16 bits are 0
+Unsigned 16 bit constant shifted left 16 bits (use @samp{L} instead for
+@code{SImode} constants)
@item K
-Constant whose high 16 bits are 0
+Unsigned 16 bit constant
@item L
-Constant suitable as a mask operand
+Signed 16 bit constant shifted left 16 bits
@item M
Constant larger than 31
@@ -1418,6 +1419,9 @@ AIX TOC entry
@item S
Constant suitable as a 64-bit mask operand
+@item T
+Constant suitable as a 32-bit mask operand
+
@item U
System V Release 4 small data area reference
@end table