Commit 80559c31 by Jeffrey A Law Committed by Jeff Law

pa.md (subsi3): Turn into an expander.

        * pa.md (subsi3): Turn into an expander.  Create two anonymous
        patterns.  One for PA2.0 one for PA1.x.  Use mtsarcm for PA2.0.
        * pa.h (EXTRA_CONSTRAINT): Handle 'S'.

From-SVN: r29597
parent 635d1437
...@@ -39,6 +39,7 @@ Wed Sep 22 06:06:57 1999 Jeffrey A Law (law@cygnus.com) ...@@ -39,6 +39,7 @@ Wed Sep 22 06:06:57 1999 Jeffrey A Law (law@cygnus.com)
* pa.md (subsi3): Turn into an expander. Create two anonymous * pa.md (subsi3): Turn into an expander. Create two anonymous
patterns. One for PA2.0 one for PA1.x. Use mtsarcm for PA2.0. patterns. One for PA2.0 one for PA1.x. Use mtsarcm for PA2.0.
* pa.h (EXTRA_CONSTRAINT): Handle 'S'.
* pa.md (floatunssisf2, floatunssidf2): Generate different RTL * pa.md (floatunssisf2, floatunssidf2): Generate different RTL
for TARGET_PA_20. for TARGET_PA_20.
......
...@@ -1315,7 +1315,7 @@ extern struct rtx_def *hppa_va_arg(); ...@@ -1315,7 +1315,7 @@ extern struct rtx_def *hppa_va_arg();
`R' is used for scaled indexed addresses. `R' is used for scaled indexed addresses.
`S' is unused. `S' is the constant 31.
`T' is for fp loads and stores. */ `T' is for fp loads and stores. */
#define EXTRA_CONSTRAINT(OP, C) \ #define EXTRA_CONSTRAINT(OP, C) \
...@@ -1343,7 +1343,9 @@ extern struct rtx_def *hppa_va_arg(); ...@@ -1343,7 +1343,9 @@ extern struct rtx_def *hppa_va_arg();
&& memory_address_p (DFmode, XEXP (OP, 0)) \ && memory_address_p (DFmode, XEXP (OP, 0)) \
&& !(GET_CODE (XEXP (OP, 0)) == PLUS \ && !(GET_CODE (XEXP (OP, 0)) == PLUS \
&& (GET_CODE (XEXP (XEXP (OP, 0), 0)) == MULT\ && (GET_CODE (XEXP (XEXP (OP, 0), 0)) == MULT\
|| GET_CODE (XEXP (XEXP (OP, 0), 1)) == MULT))) : 0))) || GET_CODE (XEXP (XEXP (OP, 0), 1)) == MULT)))
: ((C) == 'S' ? \
(GET_CODE (OP) == CONST_INT && INTVAL (OP) == 31) : 0))))
/* The macros REG_OK_FOR..._P assume that the arg is a REG rtx /* The macros REG_OK_FOR..._P assume that the arg is a REG rtx
and check its validity for a certain class. and check its validity for a certain class.
...@@ -1706,7 +1708,7 @@ while (0) ...@@ -1706,7 +1708,7 @@ while (0)
/* Specify the machine mode that pointers have. /* Specify the machine mode that pointers have.
After generation of rtl, the compiler makes no further distinction After generation of rtl, the compiler makes no further distinction
between pointers and any other objects of this machine mode. */ between pointers and any other objects of this machine mode. */
#define Pmode word_mode #define Pmode SImode
/* Add any extra modes needed to represent the condition code. /* Add any extra modes needed to represent the condition code.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment