diff options
author | ebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-09-28 11:40:27 +0000 |
---|---|---|
committer | ebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-09-28 11:40:27 +0000 |
commit | 2b8849d78b60a5563157353ba3bd8d6a7ca51354 (patch) | |
tree | 4dd3fc9de0e107c420e22aac1dfedf03b6fd740b | |
parent | c83777a4d9ad65fbba3ce638107d293cf4065731 (diff) | |
download | gcc-2b8849d78b60a5563157353ba3bd8d6a7ca51354.tar.gz |
* config/sparc/sparc.md (call_address_struct_value_sp32):
Properly mask the immediate field of the 'unimp' instruction.
(call_symbolic_struct_value_sp32): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88227 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/config/sparc/sparc.md | 10 |
2 files changed, 14 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 563ef3e375a..7247c385f54 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2004-09-28 Eric Botcazou <ebotcazou@act-europe.fr> + + * config/sparc/sparc.md (call_address_struct_value_sp32): + Properly mask the immediate field of the 'unimp' instruction. + (call_symbolic_struct_value_sp32): Likewise. + 2004-09-24 Ben Elliston <bje@au.ibm.com> Steven Bosscher <stevenb@suse.de> Andrew Pinski <pinskia@physics.uc.edu> diff --git a/gcc/config/sparc/sparc.md b/gcc/config/sparc/sparc.md index d91e51d5656..182afb9a7cd 100644 --- a/gcc/config/sparc/sparc.md +++ b/gcc/config/sparc/sparc.md @@ -7438,7 +7438,10 @@ (clobber (reg:SI 15))] ;;- Do not use operand 1 for most machines. "! TARGET_ARCH64 && GET_CODE (operands[2]) == CONST_INT && INTVAL (operands[2]) > 0" - "call\t%a0, %1\n\t nop\n\tunimp\t%2" +{ + operands[2] = GEN_INT (INTVAL (operands[2]) & 0xfff); + return "call\t%a0, %1\n\t nop\n\tunimp\t%2"; +} [(set_attr "type" "call_no_delay_slot") (set_attr "length" "3")]) @@ -7451,7 +7454,10 @@ (clobber (reg:SI 15))] ;;- Do not use operand 1 for most machines. "! TARGET_ARCH64 && GET_CODE (operands[2]) == CONST_INT && INTVAL (operands[2]) > 0" - "call\t%a0, %1\n\t nop\n\tunimp\t%2" +{ + operands[2] = GEN_INT (INTVAL (operands[2]) & 0xfff); + return "call\t%a0, %1\n\t nop\n\tunimp\t%2"; +} [(set_attr "type" "call_no_delay_slot") (set_attr "length" "3")]) |