msp430.md (zero_extendpsisi2): Use + constraint on operand 0 in order to prevent confusion about the number of...
* config/msp430/msp430.md (zero_extendpsisi2): Use + constraint on operand 0 in order to prevent confusion about the number of registers involved. From-SVN: r210636
This commit is contained in:
parent
8ec7c36a53
commit
8f0e7f6f6b
2 changed files with 13 additions and 1 deletions
|
@ -1,3 +1,9 @@
|
|||
2014-05-20 Nick Clifton <nickc@redhat.com>
|
||||
|
||||
* config/msp430/msp430.md (zero_extendpsisi2): Use + constraint on
|
||||
operand 0 in order to prevent confusion about the number of
|
||||
registers involved.
|
||||
|
||||
2014-05-20 Richard Biener <rguenther@suse.de>
|
||||
|
||||
PR tree-optimization/61221
|
||||
|
|
|
@ -618,9 +618,15 @@
|
|||
; when the PSI value is negative..
|
||||
;
|
||||
; Note: using PUSHM.A #1 is two bytes smaller than using PUSHX.A....
|
||||
;
|
||||
; Note: We use a + constraint on operand 0 as otherwise GCC gets confused
|
||||
; about extending a single PSI mode register into a pair of SImode registers
|
||||
; with the same starting register. It thinks that the upper register of
|
||||
; the pair is unused and so it can clobber it. Try compiling 20050826-2.c
|
||||
; at -O2 to see this.
|
||||
|
||||
(define_insn "zero_extendpsisi2"
|
||||
[(set (match_operand:SI 0 "register_operand" "=r")
|
||||
[(set (match_operand:SI 0 "register_operand" "+r")
|
||||
(zero_extend:SI (match_operand:PSI 1 "register_operand" "r")))]
|
||||
""
|
||||
"*
|
||||
|
|
Loading…
Add table
Reference in a new issue