This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

hppa-linux support 5


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.
 


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]