diff options
author | geoffk <geoffk@138bc75d-0d04-0410-961f-82ee72b054a4> | 1999-08-01 16:14:58 +0000 |
---|---|---|
committer | geoffk <geoffk@138bc75d-0d04-0410-961f-82ee72b054a4> | 1999-08-01 16:14:58 +0000 |
commit | 1ac3dc37c00cc057c1e9e23025708199d4730678 (patch) | |
tree | 5aabdc2c0749cc2bdd4aee71e4a65c91d31a84ec /gcc/md.texi | |
parent | 21b005edccf01c883a6f989f701c2273a774dc3e (diff) | |
download | gcc-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.texi | 10 |
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 |