* config/sparc/sparc.c (input_operand): Properly test for short op.
authorRichard Kenner <kenner@vlsi1.ultra.nyu.edu>
Mon, 1 Jan 2001 13:52:04 +0000 (13:52 +0000)
committerRichard Kenner <kenner@gcc.gnu.org>
Mon, 1 Jan 2001 13:52:04 +0000 (08:52 -0500)
From-SVN: r38588

gcc/ChangeLog
gcc/config/sparc/sparc.c

index b4ae40a792556f1a4e2bc25ec505210b1ed0b347..cd2f7ac1a803df883a50bb1f31e8b5b48a13b3f6 100644 (file)
@@ -1,5 +1,7 @@
 Mon Jan  1 07:38:33 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
 
+       * config/sparc/sparc.c (input_operand): Properly test for short op.
+
        * config.gcc (sparc-*-elf): Include sparc/sol2.h.
        (sparc-*-rtems*): Include sparc/sol2.h and sparc/elf.h.
        (sparclite-*-elf*, sparc86x-*-elf*): Likewise.
index 863b3eb3387b0d9444fe101ecd5d72a4c1828aa1..a2da379e41f6f5e6dce1f92fb549440b96fa7ee6 100644 (file)
@@ -1193,7 +1193,8 @@ input_operand (op, mode)
                  (SPARC_SIMM13_P (CONST_DOUBLE_LOW (op))
                   && (((CONST_DOUBLE_LOW (op) & 0x80000000) == 0
                        && CONST_DOUBLE_HIGH (op) == 0)
-                      || (CONST_DOUBLE_HIGH (op) == -1)))
+                      || (CONST_DOUBLE_HIGH (op) == -1
+                          && CONST_DOUBLE_LOW (op) & 0x80000000) != 0))
 #endif
                  ))))
     return 1;