diff options
author | Alexandre Oliva <aoliva@redhat.com> | 2001-05-03 18:41:29 +0000 |
---|---|---|
committer | Alexandre Oliva <aoliva@gcc.gnu.org> | 2001-05-03 18:41:29 +0000 |
commit | 776716da7fb7df8c962c11bcde545658d69a6408 (patch) | |
tree | 3cd7a56ed35c954418b2871fb2df839269c558d8 /gcc | |
parent | ecd554cd35980ee431644a7036c7cc4fa2c45077 (diff) | |
download | gcc-776716da7fb7df8c962c11bcde545658d69a6408.zip gcc-776716da7fb7df8c962c11bcde545658d69a6408.tar.gz gcc-776716da7fb7df8c962c11bcde545658d69a6408.tar.bz2 |
* config/mn10300/mn10300.md: Sign-extend GEN_INT operands.
From-SVN: r41797
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/config/mn10300/mn10300.md | 14 |
2 files changed, 12 insertions, 6 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 4aaf478..ce974e3 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2001-05-03 Alexandre Oliva <aoliva@redhat.com> + + * config/mn10300/mn10300.md: Sign-extend GEN_INT operands. + 2001-05-03 Mark Mitchell <mark@codesourcery.com> * integrate.h (struct inline_remap): Add leaf_reg_map table. diff --git a/gcc/config/mn10300/mn10300.md b/gcc/config/mn10300/mn10300.md index 7050f7a..3123955 100644 --- a/gcc/config/mn10300/mn10300.md +++ b/gcc/config/mn10300/mn10300.md @@ -1289,7 +1289,7 @@ } xoperands[0] = operands[0]; - xoperands[1] = GEN_INT (mask); + xoperands[1] = GEN_INT (trunc_int_for_mode (mask, SImode)); output_asm_insn (\"btst %1,%0\", xoperands); return \"\"; }" @@ -1331,7 +1331,7 @@ } xoperands[0] = operands[0]; - xoperands[1] = GEN_INT (mask); + xoperands[1] = GEN_INT (trunc_int_for_mode (mask, SImode)); if (GET_CODE (operands[0]) == REG) output_asm_insn (\"btst %1,%0\", xoperands); else @@ -1882,7 +1882,7 @@ target = operand_subword (operands[0], 1, 1, DFmode); result = expand_binop (SImode, and_optab, operand_subword_force (operands[1], 1, DFmode), - GEN_INT(0x7fffffff), target, 0, OPTAB_WIDEN); + GEN_INT (0x7fffffff), target, 0, OPTAB_WIDEN); if (result == 0) abort (); @@ -1912,7 +1912,7 @@ target = operand_subword_force (operands[0], 0, SFmode); result = expand_binop (SImode, and_optab, operand_subword_force (operands[1], 0, SFmode), - GEN_INT(0x7fffffff), target, 0, OPTAB_WIDEN); + GEN_INT (0x7fffffff), target, 0, OPTAB_WIDEN); if (result == 0) abort (); @@ -1937,7 +1937,8 @@ target = operand_subword (operands[0], 1, 1, DFmode); result = expand_binop (SImode, xor_optab, operand_subword_force (operands[1], 1, DFmode), - GEN_INT(0x80000000), target, 0, OPTAB_WIDEN); + GEN_INT (trunc_int_for_mode (0x80000000, SImode)), + target, 0, OPTAB_WIDEN); if (result == 0) abort (); @@ -1967,7 +1968,8 @@ target = operand_subword_force (operands[0], 0, SFmode); result = expand_binop (SImode, xor_optab, operand_subword_force (operands[1], 0, SFmode), - GEN_INT(0x80000000), target, 0, OPTAB_WIDEN); + GEN_INT (trunc_int_for_mode (0x80000000, SImode)), + target, 0, OPTAB_WIDEN); if (result == 0) abort (); |