diff options
author | DJ Delorie <dj@redhat.com> | 2013-12-13 16:58:29 -0500 |
---|---|---|
committer | DJ Delorie <dj@gcc.gnu.org> | 2013-12-13 16:58:29 -0500 |
commit | a3b50977d934b27d0683fb9bf75309dceda2a098 (patch) | |
tree | ff12ae290061dd5ac04366d4fbd758fb6ba65168 /gcc/config/msp430 | |
parent | 4cd3c67de7449a93bc59b47c2db7fac25db4c4ec (diff) | |
download | gcc-a3b50977d934b27d0683fb9bf75309dceda2a098.zip gcc-a3b50977d934b27d0683fb9bf75309dceda2a098.tar.gz gcc-a3b50977d934b27d0683fb9bf75309dceda2a098.tar.bz2 |
msp430.md (movqi): replace general_operand with msp_general_operand and nonimmediate_operand with...
* config/msp430/msp430.md (movqi): replace general_operand with
msp_general_operand and nonimmediate_operand with
msp_nonimmediate_operand to allow volatile operands.
(movhi): Likewise.
(movpsi): Likewise.
(addpsi3): Likewise.
(addhi3): Likewise.
(addhi3_cy): Likewise.
(addchi4_cy): Likewise.
(xor<mode>3): Likewise.
(ome_cmpl<mode>2): Likewise.
(extendqihi2): Likewise.
(zero_extendqihi2): Likewise.
(zero_extendhipsi2): Likewise.
(truncpsihi2): Likewise.
(srai_1): Likewise.
From-SVN: r205977
Diffstat (limited to 'gcc/config/msp430')
-rw-r--r-- | gcc/config/msp430/msp430.md | 70 |
1 files changed, 35 insertions, 35 deletions
diff --git a/gcc/config/msp430/msp430.md b/gcc/config/msp430/msp430.md index 21720a4..93ff3bd 100644 --- a/gcc/config/msp430/msp430.md +++ b/gcc/config/msp430/msp430.md @@ -172,8 +172,8 @@ ) (define_insn "movqi" - [(set (match_operand:QI 0 "nonimmediate_operand" "=rYs,rm") - (match_operand:QI 1 "general_operand" "riYs,rmi"))] + [(set (match_operand:QI 0 "msp_nonimmediate_operand" "=rYs,rm") + (match_operand:QI 1 "msp_general_operand" "riYs,rmi"))] "" "@ MOV.B\t%1, %0 @@ -181,8 +181,8 @@ ) (define_insn "movhi" - [(set (match_operand:HI 0 "nonimmediate_operand" "=rYs,rm") - (match_operand:HI 1 "general_operand" "riYs,rmi"))] + [(set (match_operand:HI 0 "msp_nonimmediate_operand" "=rYs,rm") + (match_operand:HI 1 "msp_general_operand" "riYs,rmi"))] "" "@ MOV.W\t%1, %0 @@ -211,8 +211,8 @@ ;; Some MOVX.A cases can be done with MOVA, this is only a few of them. (define_insn "movpsi" - [(set (match_operand:PSI 0 "nonimmediate_operand" "=r,Ya,rm") - (match_operand:PSI 1 "general_operand" "riYa,r,rmi"))] + [(set (match_operand:PSI 0 "msp_nonimmediate_operand" "=r,Ya,rm") + (match_operand:PSI 1 "msp_general_operand" "riYa,r,rmi"))] "" "@ MOV%A0\t%1, %0 @@ -237,9 +237,9 @@ ;; Math (define_insn "addpsi3" - [(set (match_operand:PSI 0 "nonimmediate_operand" "=r,rm") - (plus:PSI (match_operand:PSI 1 "nonimmediate_operand" "%0,0") - (match_operand:PSI 2 "general_operand" "rLs,rmi")))] + [(set (match_operand:PSI 0 "msp_nonimmediate_operand" "=r,rm") + (plus:PSI (match_operand:PSI 1 "msp_nonimmediate_operand" "%0,0") + (match_operand:PSI 2 "msp_general_operand" "rLs,rmi")))] "" "@ ADDA\t%2, %0 @@ -247,9 +247,9 @@ ) (define_insn "addqi3" - [(set (match_operand:QI 0 "nonimmediate_operand" "=rYs,rm") - (plus:QI (match_operand:QI 1 "nonimmediate_operand" "%0,0") - (match_operand:QI 2 "general_operand" "riYs,rmi")))] + [(set (match_operand:QI 0 "msp_nonimmediate_operand" "=rYs,rm") + (plus:QI (match_operand:QI 1 "msp_nonimmediate_operand" "%0,0") + (match_operand:QI 2 "msp_general_operand" "riYs,rmi")))] "" "@ ADD.B\t%2, %0 @@ -257,9 +257,9 @@ ) (define_insn "addhi3" - [(set (match_operand:HI 0 "nonimmediate_operand" "=rYs,rm") - (plus:HI (match_operand:HI 1 "nonimmediate_operand" "%0,0") - (match_operand:HI 2 "general_operand" "riYs,rmi")))] + [(set (match_operand:HI 0 "msp_nonimmediate_operand" "=rYs,rm") + (plus:HI (match_operand:HI 1 "msp_nonimmediate_operand" "%0,0") + (match_operand:HI 2 "msp_general_operand" "riYs,rmi")))] "" "@ ADD.W\t%2, %0 @@ -316,9 +316,9 @@ ; that are not single_set() very well. (define_insn "addhi3_cy" - [(set (match_operand:HI 0 "nonimmediate_operand" "=r,rm") - (plus:HI (match_operand:HI 1 "nonimmediate_operand" "%0,0") - (match_operand:HI 2 "general_operand" "r,rm"))) + [(set (match_operand:HI 0 "msp_nonimmediate_operand" "=r,rm") + (plus:HI (match_operand:HI 1 "msp_nonimmediate_operand" "%0,0") + (match_operand:HI 2 "msp_general_operand" "r,rm"))) (set (reg:BI CARRY) (truncate:BI (lshiftrt:SI (plus:SI (zero_extend:SI (match_dup 1)) (zero_extend:SI (match_dup 2))) @@ -347,9 +347,9 @@ ; Version of addhi that adds the carry, for SImode adds. (define_insn "addchi4_cy" - [(set (match_operand:HI 0 "nonimmediate_operand" "=r,rm") - (plus:HI (plus:HI (match_operand:HI 1 "nonimmediate_operand" "%0,0") - (match_operand:HI 2 "general_operand" "ri,rmi")) + [(set (match_operand:HI 0 "msp_nonimmediate_operand" "=r,rm") + (plus:HI (plus:HI (match_operand:HI 1 "msp_nonimmediate_operand" "%0,0") + (match_operand:HI 2 "msp_general_operand" "ri,rmi")) (zero_extend:HI (reg:BI CARRY)))) ] "" @@ -487,9 +487,9 @@ ) (define_insn "xor<mode>3" - [(set (match_operand:QHI 0 "nonimmediate_operand" "=rYs,rm") - (xor:QHI (match_operand:QHI 1 "nonimmediate_operand" "%0,0") - (match_operand:QHI 2 "general_operand" "riYs,rmi")))] + [(set (match_operand:QHI 0 "msp_nonimmediate_operand" "=rYs,rm") + (xor:QHI (match_operand:QHI 1 "msp_nonimmediate_operand" "%0,0") + (match_operand:QHI 2 "msp_general_operand" "riYs,rmi")))] "" "@ XOR%x0%B0\t%2, %0 @@ -498,8 +498,8 @@ ;; Macro : XOR #~0, %0 (define_insn "one_cmpl<mode>2" - [(set (match_operand:QHI 0 "nonimmediate_operand" "=rYs,m") - (not:QHI (match_operand:QHI 1 "nonimmediate_operand" "0,0")))] + [(set (match_operand:QHI 0 "msp_nonimmediate_operand" "=rYs,m") + (not:QHI (match_operand:QHI 1 "msp_nonimmediate_operand" "0,0")))] "" "@ INV%x0%B0\t%0 @@ -507,8 +507,8 @@ ) (define_insn "extendqihi2" - [(set (match_operand:HI 0 "nonimmediate_operand" "=rYs,m") - (sign_extend:HI (match_operand:QI 1 "nonimmediate_operand" "0,0")))] + [(set (match_operand:HI 0 "msp_nonimmediate_operand" "=rYs,m") + (sign_extend:HI (match_operand:QI 1 "msp_nonimmediate_operand" "0,0")))] "" "@ SXT%X0\t%0 @@ -516,8 +516,8 @@ ) (define_insn "zero_extendqihi2" - [(set (match_operand:HI 0 "nonimmediate_operand" "=rYs,m") - (zero_extend:HI (match_operand:QI 1 "nonimmediate_operand" "0,0")))] + [(set (match_operand:HI 0 "msp_nonimmediate_operand" "=rYs,m") + (zero_extend:HI (match_operand:QI 1 "msp_nonimmediate_operand" "0,0")))] "" "@ AND\t#0xff, %0 @@ -536,14 +536,14 @@ ) (define_insn "zero_extendhipsi2" - [(set (match_operand:PSI 0 "nonimmediate_operand" "=r,m") - (zero_extend:PSI (match_operand:HI 1 "nonimmediate_operand" "rm,r")))] + [(set (match_operand:PSI 0 "msp_nonimmediate_operand" "=r,m") + (zero_extend:PSI (match_operand:HI 1 "msp_nonimmediate_operand" "rm,r")))] "" "MOVX\t%1, %0" ) (define_insn "truncpsihi2" - [(set (match_operand:HI 0 "nonimmediate_operand" "=rm") + [(set (match_operand:HI 0 "msp_nonimmediate_operand" "=rm") (truncate:HI (match_operand:PSI 1 "register_operand" "r")))] "" "MOVX\t%1, %0" @@ -769,8 +769,8 @@ ) (define_insn "srai_1" - [(set (match_operand:HI 0 "nonimmediate_operand" "=rm") - (ashiftrt:HI (match_operand:HI 1 "general_operand" "0") + [(set (match_operand:HI 0 "msp_nonimmediate_operand" "=rm") + (ashiftrt:HI (match_operand:HI 1 "msp_general_operand" "0") (const_int 1)))] "" "RRA.W\t%0" |