This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
hppa-linux support 5
- To: gcc-patches at gcc dot gnu dot org
- Subject: hppa-linux support 5
- From: Alan Modra <alan at linuxcare dot com dot au>
- Date: Wed, 4 Apr 2001 20:15:34 +1000 (EST)
Well, this isn't really hppa-linux specific, just a minor tidying.
* pa-hpux10.h (NEW_HP_ASSEMBLER): Define to 1.
* pa-hpux11.h (NEW_HP_ASSEMBLER): Likewise.
* pa.h (LEGITIMATE_CONSTANT_P) Collapse two defines depending on
NEW_HP_ASSEMBLER into one. Kill warnings.
Alan Modra
--
Linuxcare
diff -urpN -xCVS -x*~ -x.#* gcc-current/gcc/config/pa/pa-hpux10.h gcc-new/gcc/config/pa/pa-hpux10.h
--- gcc-current/gcc/config/pa/pa-hpux10.h Fri Mar 10 11:42:22 2000
+++ gcc-new/gcc/config/pa/pa-hpux10.h Sat Mar 31 19:08:36 2001
@@ -60,4 +60,5 @@ Boston, MA 02111-1307, USA. */
/* hpux10 has the new HP assembler. It's still lousy, but it's a whole lot
better than the assembler shipped with older versions of hpux. */
-#define NEW_HP_ASSEMBLER
+#undef NEW_HP_ASSEMBLER
+#define NEW_HP_ASSEMBLER 1
diff -urpN -xCVS -x*~ -x.#* gcc-current/gcc/config/pa/pa-hpux11.h gcc-new/gcc/config/pa/pa-hpux11.h
--- gcc-current/gcc/config/pa/pa-hpux11.h Fri Feb 4 09:45:43 2000
+++ gcc-new/gcc/config/pa/pa-hpux11.h Sat Mar 31 19:08:36 2001
@@ -59,7 +59,8 @@ Boston, MA 02111-1307, USA. */
/* hpux11 has the new HP assembler. It's still lousy, but it's a whole lot
better than the assembler shipped with older versions of hpux. */
-#define NEW_HP_ASSEMBLER
+#undef NEW_HP_ASSEMBLER
+#define NEW_HP_ASSEMBLER 1
/* Make GCC agree with types.h. */
#undef SIZE_TYPE
diff -urpN -xCVS -x*~ -x.#* gcc-current/gcc/config/pa/pa.h gcc-new/gcc/config/pa/pa.h
--- gcc-current/gcc/config/pa/pa.h Tue Apr 3 16:42:05 2001
+++ gcc-new/gcc/config/pa/pa.h Sat Mar 31 22:11:39 2001
@@ -1105,28 +1116,20 @@ extern int may_call_alloca;
?!? For now also reject CONST_DOUBLES in 64bit mode. This will need
further work. */
-#ifdef NEW_HP_ASSEMBLER
-#define LEGITIMATE_CONSTANT_P(X) \
- ((GET_MODE_CLASS (GET_MODE (X)) != MODE_FLOAT \
- || (X) == CONST0_RTX (GET_MODE (X))) \
- && !(TARGET_64BIT && GET_CODE (X) == CONST_DOUBLE) \
- && !(TARGET_64BIT && GET_CODE (X) == CONST_INT \
- && !(cint_ok_for_move (INTVAL (X)) \
- || ((INTVAL (X) & 0xffffffff80000000L) == 0xffffffff80000000L) \
- || ((INTVAL (X) & 0xffffffff00000000L) == 0x0000000000000000L))) \
- && !function_label_operand (X, VOIDmode))
-#else
-#define LEGITIMATE_CONSTANT_P(X) \
- ((GET_MODE_CLASS (GET_MODE (X)) != MODE_FLOAT \
- || (X) == CONST0_RTX (GET_MODE (X))) \
- && (GET_CODE (X) != LABEL_REF || TARGET_GAS)\
- && !(TARGET_64BIT && GET_CODE (X) == CONST_DOUBLE) \
- && !(TARGET_64BIT && GET_CODE (X) == CONST_INT \
- && !(cint_ok_for_move (INTVAL (X)) \
- || ((INTVAL (X) & 0xffffffff80000000L) == 0xffffffff80000000L) \
- || ((INTVAL (X) & 0xffffffff00000000L) == 0x0000000000000000L))) \
- && !function_label_operand (X, VOIDmode))
+#ifndef NEW_HP_ASSEMBLER
+#define NEW_HP_ASSEMBLER 0
#endif
+#define LEGITIMATE_CONSTANT_P(X) \
+ ((GET_MODE_CLASS (GET_MODE (X)) != MODE_FLOAT \
+ || (X) == CONST0_RTX (GET_MODE (X))) \
+ && (NEW_HP_ASSEMBLER || TARGET_GAS || GET_CODE (X) != LABEL_REF) \
+ && !(TARGET_64BIT && GET_CODE (X) == CONST_DOUBLE) \
+ && !(TARGET_64BIT && GET_CODE (X) == CONST_INT \
+ && !(HOST_BITS_PER_WIDE_INT <= 32 \
+ || (INTVAL (X) >= (HOST_WIDE_INT) -1 << 31 \
+ && INTVAL (X) < (HOST_WIDE_INT) 1 << 32) \
+ || cint_ok_for_move (INTVAL (X)))) \
+ && !function_label_operand (X, VOIDmode))
/* Subroutine for EXTRA_CONSTRAINT.