sparc.md (call_address_struct_value_sp32): Properly mask the immediate field of the...
authorEric Botcazou <ebotcazou@act-europe.fr>
Tue, 28 Sep 2004 11:40:27 +0000 (13:40 +0200)
committerEric Botcazou <ebotcazou@gcc.gnu.org>
Tue, 28 Sep 2004 11:40:27 +0000 (11:40 +0000)
* config/sparc/sparc.md (call_address_struct_value_sp32):
Properly mask the immediate field of the 'unimp' instruction.
(call_symbolic_struct_value_sp32): Likewise.

From-SVN: r88227

gcc/ChangeLog
gcc/config/sparc/sparc.md

index 563ef3e..7247c38 100644 (file)
@@ -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>
index d91e51d..182afb9 100644 (file)
    (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")])
 
    (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")])