200x-xx-xx Richard Sandiford <richard@codesourcery.com> Julian Brown <julian@codesourcery.com>
gcc/ 200x-xx-xx Richard Sandiford <richard@codesourcery.com> Julian Brown <julian@codesourcery.com> * config/m68k/m68k.h (CONST_OK_FOR_LETTER_P): Add an 'R' case. * config/m68k/m68k.md (*movsi_cfv4): Fold into... (*movsi_cf): ...here. Remove unnecessary 'R' from 'Rg'. Add commentary. Co-Authored-By: Julian Brown <julian@codesourcery.com> From-SVN: r120958
This commit is contained in:
parent
bda2a57174
commit
f233b84c17
@ -1,3 +1,11 @@
|
||||
2007-01-19 Richard Sandiford <richard@codesourcery.com>
|
||||
Julian Brown <julian@codesourcery.com>
|
||||
|
||||
* config/m68k/m68k.h (CONST_OK_FOR_LETTER_P): Add an 'R' case.
|
||||
* config/m68k/m68k.md (*movsi_cfv4): Fold into...
|
||||
(*movsi_cf): ...here. Remove unnecessary 'R' from 'Rg'.
|
||||
Add commentary.
|
||||
|
||||
2007-01-19 Richard Sandiford <richard@codesourcery.com>
|
||||
|
||||
* config/m68k/m68k-protos.h (valid_mov3q_const): Take a HOST_WIDE_INT
|
||||
|
@ -493,7 +493,8 @@ extern enum reg_class regno_reg_class[];
|
||||
`M' is for numbers that moveq+notb can't handle.
|
||||
'N' is for range 24 to 31, rotatert:SI 8 to 1 expressed as rotate.
|
||||
'O' is for 16 (for rotate using swap).
|
||||
'P' is for range 8 to 15, rotatert:HI 8 to 1 expressed as rotate. */
|
||||
'P' is for range 8 to 15, rotatert:HI 8 to 1 expressed as rotate.
|
||||
'R' is for numbers that mov3q can handle. */
|
||||
#define CONST_OK_FOR_LETTER_P(VALUE, C) \
|
||||
((C) == 'I' ? (VALUE) > 0 && (VALUE) <= 8 : \
|
||||
(C) == 'J' ? (VALUE) >= -0x8000 && (VALUE) <= 0x7FFF : \
|
||||
@ -502,7 +503,8 @@ extern enum reg_class regno_reg_class[];
|
||||
(C) == 'M' ? (VALUE) < -0x100 || (VALUE) >= 0x100 : \
|
||||
(C) == 'N' ? (VALUE) >= 24 && (VALUE) <= 31 : \
|
||||
(C) == 'O' ? (VALUE) == 16 : \
|
||||
(C) == 'P' ? (VALUE) >= 8 && (VALUE) <= 15 : 0)
|
||||
(C) == 'P' ? (VALUE) >= 8 && (VALUE) <= 15 : \
|
||||
(C) == 'R' ? valid_mov3q_const (VALUE) : 0)
|
||||
|
||||
/* "G" defines all of the floating constants that are *NOT* 68881
|
||||
constants. This is so 68881 constants get reloaded and the
|
||||
|
@ -667,16 +667,11 @@
|
||||
return output_move_simode (operands);
|
||||
})
|
||||
|
||||
;; ColdFire move instructions can have at most one operand of mode >= 6.
|
||||
(define_insn "*movsi_cf"
|
||||
[(set (match_operand:SI 0 "nonimmediate_operand" "=r<Q>,g,U")
|
||||
(match_operand:SI 1 "general_operand" "g,r<Q>,U"))]
|
||||
"TARGET_COLDFIRE && !TARGET_ISAB"
|
||||
"* return output_move_simode (operands);")
|
||||
|
||||
(define_insn "*movsi_cfv4"
|
||||
[(set (match_operand:SI 0 "nonimmediate_operand" "=r<Q>,g,U")
|
||||
(match_operand:SI 1 "general_operand" "Rg,Rr<Q>,U"))]
|
||||
"TARGET_ISAB"
|
||||
(match_operand:SI 1 "general_operand" "g,Rr<Q>,U"))]
|
||||
"TARGET_COLDFIRE"
|
||||
"* return output_move_simode (operands);")
|
||||
|
||||
;; Special case of fullword move, where we need to get a non-GOT PIC
|
||||
|
Loading…
Reference in New Issue
Block a user