* pa.h (HARD_REGNO_MODE_OK): Do not accept integer modes
greater than 32 bits in 1.0 FP registers.
* pa.md (movdi patterns): Do not accept 1.0 FP registers.
(floatunsdisf, floatunsdidf expanders): Disable unless TARGET_SNAKE.
(floatdisf2, floatdidf2 patterns): Likewise.
(fix_truncdisf2, fix_truncdidf2): Likewise.
From-SVN: r4017
#define HARD_REGNO_MODE_OK(REGNO, MODE) \
((REGNO) == 0 ? (MODE) == CCmode || (MODE) == CCFPmode \
: (REGNO) < 32 ? ((GET_MODE_SIZE (MODE) <= 4) ? 1 : ((REGNO) & 1) == 0)\
- : (REGNO) < 44 ? (GET_MODE_SIZE (MODE) >= 4) \
+ : (REGNO) < 44 ? (GET_MODE_SIZE (MODE) == 4 \
+ || (GET_MODE_SIZE (MODE) > 4 \
+ && GET_MODE_CLASS (MODE) == MODE_FLOAT)) \
: (GET_MODE_SIZE (MODE) > 4 ? ((REGNO) & 1) == 0 \
: 1))