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
This commit is contained in:
parent
635d1437cb
commit
80559c31a6
|
@ -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
|
||||
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
|
||||
for TARGET_PA_20.
|
||||
|
|
|
@ -1315,7 +1315,7 @@ extern struct rtx_def *hppa_va_arg();
|
|||
|
||||
`R' is used for scaled indexed addresses.
|
||||
|
||||
`S' is unused.
|
||||
`S' is the constant 31.
|
||||
|
||||
`T' is for fp loads and stores. */
|
||||
#define EXTRA_CONSTRAINT(OP, C) \
|
||||
|
@ -1343,7 +1343,9 @@ extern struct rtx_def *hppa_va_arg();
|
|||
&& memory_address_p (DFmode, XEXP (OP, 0)) \
|
||||
&& !(GET_CODE (XEXP (OP, 0)) == PLUS \
|
||||
&& (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
|
||||
and check its validity for a certain class.
|
||||
|
@ -1706,7 +1708,7 @@ while (0)
|
|||
/* Specify the machine mode that pointers have.
|
||||
After generation of rtl, the compiler makes no further distinction
|
||||
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.
|
||||
|
||||
|
|
Loading…
Reference in New Issue