|
194 | 194 | })
|
195 | 195 |
|
196 | 196 | (define_insn "*movsi_insn"
|
197 |
| - [(set (match_operand:SI 0 "nonimmediate_operand" "=m,r,r,r,r,r") |
198 |
| - (match_operand:SI 1 "input_operand" "rO,M,K,I,r,m"))] |
| 197 | + [(set (match_operand:SI 0 "nonimmediate_operand" "=m,r,r,r,r,r,?r") |
| 198 | + (match_operand:SI 1 "input_operand" "rO,M,K,I,r,m,i"))] |
199 | 199 | "register_operand (operands[0], SImode)
|
200 | 200 | || reg_or_0_operand (operands[1], SImode)"
|
201 | 201 | "@
|
|
204 | 204 | l.ori\t%0,r0,%1
|
205 | 205 | l.xori\t%0,r0,%1
|
206 | 206 | l.ori\t%0,%1,0
|
207 |
| - l.lwz\t%0,%1" |
208 |
| - [(set_attr "type" "store,move,logic,logic,logic,load")]) |
| 207 | + l.lwz\t%0,%1 |
| 208 | + #" |
| 209 | + [(set_attr "type" "store,move,logic,logic,logic,load,unknown")]) |
| 210 | + |
| 211 | +(define_split |
| 212 | + [(set (match_operand:SI 0 "register_operand") |
| 213 | + (match_operand:SI 1 "immediate_operand"))] |
| 214 | + "!input_operand (operands[1], SImode)" |
| 215 | + [(const_int 0)] |
| 216 | +{ |
| 217 | + or1k_expand_move (SImode, operands[0], operands[1]); |
| 218 | + DONE; |
| 219 | +}) |
209 | 220 |
|
210 | 221 | (define_insn "*movsi_lo_sum"
|
211 | 222 | [(set (match_operand:SI 0 "register_operand" "=r")
|
|
0 commit comments