diff options
author | Jim Wilson <wilson@gcc.gnu.org> | 1994-11-21 11:40:36 -0800 |
---|---|---|
committer | Jim Wilson <wilson@gcc.gnu.org> | 1994-11-21 11:40:36 -0800 |
commit | 47b34d40242b4606a0451ac03ef53ba60bae1cd2 (patch) | |
tree | 12afdae3a0cc838911eee766d0c0e1524925585f | |
parent | f4d9a3fb2bd70a707c273b556ac50bb1c9cea36f (diff) | |
download | gcc-47b34d40242b4606a0451ac03ef53ba60bae1cd2.zip gcc-47b34d40242b4606a0451ac03ef53ba60bae1cd2.tar.gz gcc-47b34d40242b4606a0451ac03ef53ba60bae1cd2.tar.bz2 |
(operand_subword): For CONST_DOUBLE, add case to
handle BITS_PER_WORD of 16.
From-SVN: r8541
-rw-r--r-- | gcc/emit-rtl.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/gcc/emit-rtl.c b/gcc/emit-rtl.c index 615aeb1..cfd0d24 100644 --- a/gcc/emit-rtl.c +++ b/gcc/emit-rtl.c @@ -1105,6 +1105,15 @@ operand_subword (op, i, validate_address, mode) return GEN_INT ((((HOST_WIDE_INT) k[! WORDS_BIG_ENDIAN]) << 32) | (HOST_WIDE_INT) k[WORDS_BIG_ENDIAN]); #endif + else if (BITS_PER_WORD == 16) + { + long value; + value = k[i >> 1]; + if ((i & 0x1) == 0) + value >>= 16; + value &= 0xffff; + return GEN_INT ((HOST_WIDE_INT) value); + } else abort (); } |