s390.md: Add a splitter for NOT rtx.
2014-04-11 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> * config/s390/s390.md: Add a splitter for NOT rtx. From-SVN: r209295
This commit is contained in:
parent
8f0ad2e592
commit
3c91f126f4
|
@ -1,3 +1,7 @@
|
||||||
|
2014-04-11 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
|
||||||
|
|
||||||
|
* config/s390/s390.md: Add a splitter for NOT rtx.
|
||||||
|
|
||||||
2014-04-11 Jakub Jelinek <jakub@redhat.com>
|
2014-04-11 Jakub Jelinek <jakub@redhat.com>
|
||||||
|
|
||||||
PR rtl-optimization/60663
|
PR rtl-optimization/60663
|
||||||
|
|
|
@ -7001,6 +7001,21 @@
|
||||||
""
|
""
|
||||||
"s390_expand_logical_operator (XOR, <MODE>mode, operands); DONE;")
|
"s390_expand_logical_operator (XOR, <MODE>mode, operands); DONE;")
|
||||||
|
|
||||||
|
; Combine replaces (xor (x) (const_int -1)) with (not (x)) when doing
|
||||||
|
; simplifications. So its better to have something matching.
|
||||||
|
(define_split
|
||||||
|
[(set (match_operand:INT 0 "nonimmediate_operand" "")
|
||||||
|
(not:INT (match_operand:INT 1 "nonimmediate_operand" "")))]
|
||||||
|
""
|
||||||
|
[(parallel
|
||||||
|
[(set (match_dup 0) (xor:INT (match_dup 1) (match_dup 2)))
|
||||||
|
(clobber (reg:CC CC_REGNUM))])]
|
||||||
|
{
|
||||||
|
operands[2] = constm1_rtx;
|
||||||
|
if (!s390_logical_operator_ok_p (operands))
|
||||||
|
FAIL;
|
||||||
|
})
|
||||||
|
|
||||||
;
|
;
|
||||||
; xordi3 instruction pattern(s).
|
; xordi3 instruction pattern(s).
|
||||||
;
|
;
|
||||||
|
|
Loading…
Reference in New Issue