Commit a3b50977 by DJ Delorie Committed by DJ Delorie

msp430.md (movqi): replace general_operand with msp_general_operand and…

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
parent 4cd3c67d
2013-12-13 DJ Delorie <dj@redhat.com>
* 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.
2013-12-13 Vladimir Makarov <vmakarov@redhat.com> 2013-12-13 Vladimir Makarov <vmakarov@redhat.com>
* ira.h (struct ira_reg_equiv): Rename to ira_reg_equiv_s. * ira.h (struct ira_reg_equiv): Rename to ira_reg_equiv_s.
...@@ -172,8 +172,8 @@ ...@@ -172,8 +172,8 @@
) )
(define_insn "movqi" (define_insn "movqi"
[(set (match_operand:QI 0 "nonimmediate_operand" "=rYs,rm") [(set (match_operand:QI 0 "msp_nonimmediate_operand" "=rYs,rm")
(match_operand:QI 1 "general_operand" "riYs,rmi"))] (match_operand:QI 1 "msp_general_operand" "riYs,rmi"))]
"" ""
"@ "@
MOV.B\t%1, %0 MOV.B\t%1, %0
...@@ -181,8 +181,8 @@ ...@@ -181,8 +181,8 @@
) )
(define_insn "movhi" (define_insn "movhi"
[(set (match_operand:HI 0 "nonimmediate_operand" "=rYs,rm") [(set (match_operand:HI 0 "msp_nonimmediate_operand" "=rYs,rm")
(match_operand:HI 1 "general_operand" "riYs,rmi"))] (match_operand:HI 1 "msp_general_operand" "riYs,rmi"))]
"" ""
"@ "@
MOV.W\t%1, %0 MOV.W\t%1, %0
...@@ -211,8 +211,8 @@ ...@@ -211,8 +211,8 @@
;; Some MOVX.A cases can be done with MOVA, this is only a few of them. ;; Some MOVX.A cases can be done with MOVA, this is only a few of them.
(define_insn "movpsi" (define_insn "movpsi"
[(set (match_operand:PSI 0 "nonimmediate_operand" "=r,Ya,rm") [(set (match_operand:PSI 0 "msp_nonimmediate_operand" "=r,Ya,rm")
(match_operand:PSI 1 "general_operand" "riYa,r,rmi"))] (match_operand:PSI 1 "msp_general_operand" "riYa,r,rmi"))]
"" ""
"@ "@
MOV%A0\t%1, %0 MOV%A0\t%1, %0
...@@ -237,9 +237,9 @@ ...@@ -237,9 +237,9 @@
;; Math ;; Math
(define_insn "addpsi3" (define_insn "addpsi3"
[(set (match_operand:PSI 0 "nonimmediate_operand" "=r,rm") [(set (match_operand:PSI 0 "msp_nonimmediate_operand" "=r,rm")
(plus:PSI (match_operand:PSI 1 "nonimmediate_operand" "%0,0") (plus:PSI (match_operand:PSI 1 "msp_nonimmediate_operand" "%0,0")
(match_operand:PSI 2 "general_operand" "rLs,rmi")))] (match_operand:PSI 2 "msp_general_operand" "rLs,rmi")))]
"" ""
"@ "@
ADDA\t%2, %0 ADDA\t%2, %0
...@@ -247,9 +247,9 @@ ...@@ -247,9 +247,9 @@
) )
(define_insn "addqi3" (define_insn "addqi3"
[(set (match_operand:QI 0 "nonimmediate_operand" "=rYs,rm") [(set (match_operand:QI 0 "msp_nonimmediate_operand" "=rYs,rm")
(plus:QI (match_operand:QI 1 "nonimmediate_operand" "%0,0") (plus:QI (match_operand:QI 1 "msp_nonimmediate_operand" "%0,0")
(match_operand:QI 2 "general_operand" "riYs,rmi")))] (match_operand:QI 2 "msp_general_operand" "riYs,rmi")))]
"" ""
"@ "@
ADD.B\t%2, %0 ADD.B\t%2, %0
...@@ -257,9 +257,9 @@ ...@@ -257,9 +257,9 @@
) )
(define_insn "addhi3" (define_insn "addhi3"
[(set (match_operand:HI 0 "nonimmediate_operand" "=rYs,rm") [(set (match_operand:HI 0 "msp_nonimmediate_operand" "=rYs,rm")
(plus:HI (match_operand:HI 1 "nonimmediate_operand" "%0,0") (plus:HI (match_operand:HI 1 "msp_nonimmediate_operand" "%0,0")
(match_operand:HI 2 "general_operand" "riYs,rmi")))] (match_operand:HI 2 "msp_general_operand" "riYs,rmi")))]
"" ""
"@ "@
ADD.W\t%2, %0 ADD.W\t%2, %0
...@@ -316,9 +316,9 @@ ...@@ -316,9 +316,9 @@
; that are not single_set() very well. ; that are not single_set() very well.
(define_insn "addhi3_cy" (define_insn "addhi3_cy"
[(set (match_operand:HI 0 "nonimmediate_operand" "=r,rm") [(set (match_operand:HI 0 "msp_nonimmediate_operand" "=r,rm")
(plus:HI (match_operand:HI 1 "nonimmediate_operand" "%0,0") (plus:HI (match_operand:HI 1 "msp_nonimmediate_operand" "%0,0")
(match_operand:HI 2 "general_operand" "r,rm"))) (match_operand:HI 2 "msp_general_operand" "r,rm")))
(set (reg:BI CARRY) (set (reg:BI CARRY)
(truncate:BI (lshiftrt:SI (plus:SI (zero_extend:SI (match_dup 1)) (truncate:BI (lshiftrt:SI (plus:SI (zero_extend:SI (match_dup 1))
(zero_extend:SI (match_dup 2))) (zero_extend:SI (match_dup 2)))
...@@ -347,9 +347,9 @@ ...@@ -347,9 +347,9 @@
; Version of addhi that adds the carry, for SImode adds. ; Version of addhi that adds the carry, for SImode adds.
(define_insn "addchi4_cy" (define_insn "addchi4_cy"
[(set (match_operand:HI 0 "nonimmediate_operand" "=r,rm") [(set (match_operand:HI 0 "msp_nonimmediate_operand" "=r,rm")
(plus:HI (plus:HI (match_operand:HI 1 "nonimmediate_operand" "%0,0") (plus:HI (plus:HI (match_operand:HI 1 "msp_nonimmediate_operand" "%0,0")
(match_operand:HI 2 "general_operand" "ri,rmi")) (match_operand:HI 2 "msp_general_operand" "ri,rmi"))
(zero_extend:HI (reg:BI CARRY)))) (zero_extend:HI (reg:BI CARRY))))
] ]
"" ""
...@@ -487,9 +487,9 @@ ...@@ -487,9 +487,9 @@
) )
(define_insn "xor<mode>3" (define_insn "xor<mode>3"
[(set (match_operand:QHI 0 "nonimmediate_operand" "=rYs,rm") [(set (match_operand:QHI 0 "msp_nonimmediate_operand" "=rYs,rm")
(xor:QHI (match_operand:QHI 1 "nonimmediate_operand" "%0,0") (xor:QHI (match_operand:QHI 1 "msp_nonimmediate_operand" "%0,0")
(match_operand:QHI 2 "general_operand" "riYs,rmi")))] (match_operand:QHI 2 "msp_general_operand" "riYs,rmi")))]
"" ""
"@ "@
XOR%x0%B0\t%2, %0 XOR%x0%B0\t%2, %0
...@@ -498,8 +498,8 @@ ...@@ -498,8 +498,8 @@
;; Macro : XOR #~0, %0 ;; Macro : XOR #~0, %0
(define_insn "one_cmpl<mode>2" (define_insn "one_cmpl<mode>2"
[(set (match_operand:QHI 0 "nonimmediate_operand" "=rYs,m") [(set (match_operand:QHI 0 "msp_nonimmediate_operand" "=rYs,m")
(not:QHI (match_operand:QHI 1 "nonimmediate_operand" "0,0")))] (not:QHI (match_operand:QHI 1 "msp_nonimmediate_operand" "0,0")))]
"" ""
"@ "@
INV%x0%B0\t%0 INV%x0%B0\t%0
...@@ -507,8 +507,8 @@ ...@@ -507,8 +507,8 @@
) )
(define_insn "extendqihi2" (define_insn "extendqihi2"
[(set (match_operand:HI 0 "nonimmediate_operand" "=rYs,m") [(set (match_operand:HI 0 "msp_nonimmediate_operand" "=rYs,m")
(sign_extend:HI (match_operand:QI 1 "nonimmediate_operand" "0,0")))] (sign_extend:HI (match_operand:QI 1 "msp_nonimmediate_operand" "0,0")))]
"" ""
"@ "@
SXT%X0\t%0 SXT%X0\t%0
...@@ -516,8 +516,8 @@ ...@@ -516,8 +516,8 @@
) )
(define_insn "zero_extendqihi2" (define_insn "zero_extendqihi2"
[(set (match_operand:HI 0 "nonimmediate_operand" "=rYs,m") [(set (match_operand:HI 0 "msp_nonimmediate_operand" "=rYs,m")
(zero_extend:HI (match_operand:QI 1 "nonimmediate_operand" "0,0")))] (zero_extend:HI (match_operand:QI 1 "msp_nonimmediate_operand" "0,0")))]
"" ""
"@ "@
AND\t#0xff, %0 AND\t#0xff, %0
...@@ -536,14 +536,14 @@ ...@@ -536,14 +536,14 @@
) )
(define_insn "zero_extendhipsi2" (define_insn "zero_extendhipsi2"
[(set (match_operand:PSI 0 "nonimmediate_operand" "=r,m") [(set (match_operand:PSI 0 "msp_nonimmediate_operand" "=r,m")
(zero_extend:PSI (match_operand:HI 1 "nonimmediate_operand" "rm,r")))] (zero_extend:PSI (match_operand:HI 1 "msp_nonimmediate_operand" "rm,r")))]
"" ""
"MOVX\t%1, %0" "MOVX\t%1, %0"
) )
(define_insn "truncpsihi2" (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")))] (truncate:HI (match_operand:PSI 1 "register_operand" "r")))]
"" ""
"MOVX\t%1, %0" "MOVX\t%1, %0"
...@@ -769,8 +769,8 @@ ...@@ -769,8 +769,8 @@
) )
(define_insn "srai_1" (define_insn "srai_1"
[(set (match_operand:HI 0 "nonimmediate_operand" "=rm") [(set (match_operand:HI 0 "msp_nonimmediate_operand" "=rm")
(ashiftrt:HI (match_operand:HI 1 "general_operand" "0") (ashiftrt:HI (match_operand:HI 1 "msp_general_operand" "0")
(const_int 1)))] (const_int 1)))]
"" ""
"RRA.W\t%0" "RRA.W\t%0"
......
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