mirror of git://gcc.gnu.org/git/gcc.git
i386.md (kxnor<mode>): Add FLAGS_REG clobber.
* config/i386/i386.md (kxnor<mode>): Add FLAGS_REG clobber. From-SVN: r203889
This commit is contained in:
parent
d6c6ba3c3e
commit
54f9aba031
|
|
@ -1,3 +1,7 @@
|
||||||
|
2013-10-20 Uros Bizjak <ubizjak@gmail.com>
|
||||||
|
|
||||||
|
* config/i386/i386.md (kxnor<mode>): Add FLAGS_REG clobber.
|
||||||
|
|
||||||
2013-10-20 Jan Hubicka <jh@suse.cz>
|
2013-10-20 Jan Hubicka <jh@suse.cz>
|
||||||
|
|
||||||
* config/i386/i386-tune.def: Add comment; organize into categories
|
* config/i386/i386-tune.def: Add comment; organize into categories
|
||||||
|
|
|
||||||
|
|
@ -2302,9 +2302,12 @@
|
||||||
;; For loads of Q_REG to NONQ_REG we use full sized moves except for partial
|
;; For loads of Q_REG to NONQ_REG we use full sized moves except for partial
|
||||||
;; register stall machines with, where we use QImode instructions, since
|
;; register stall machines with, where we use QImode instructions, since
|
||||||
;; partial register stall can be caused there. Then we use movzx.
|
;; partial register stall can be caused there. Then we use movzx.
|
||||||
|
|
||||||
(define_insn "*movqi_internal"
|
(define_insn "*movqi_internal"
|
||||||
[(set (match_operand:QI 0 "nonimmediate_operand" "=q,q ,q ,r,r ,?r,m ,Yk,Yk,r")
|
[(set (match_operand:QI 0 "nonimmediate_operand"
|
||||||
(match_operand:QI 1 "general_operand" "q ,qn,qm,q,rn,qm,qn,r ,Yk,Yk"))]
|
"=q,q ,q ,r,r ,?r,m ,Yk,Yk,r")
|
||||||
|
(match_operand:QI 1 "general_operand"
|
||||||
|
"q ,qn,qm,q,rn,qm,qn,r ,Yk,Yk"))]
|
||||||
"!(MEM_P (operands[0]) && MEM_P (operands[1]))"
|
"!(MEM_P (operands[0]) && MEM_P (operands[1]))"
|
||||||
{
|
{
|
||||||
switch (get_attr_type (insn))
|
switch (get_attr_type (insn))
|
||||||
|
|
@ -7828,8 +7831,7 @@
|
||||||
(parallel [(set (match_dup 0)
|
(parallel [(set (match_dup 0)
|
||||||
(and:HI (match_dup 0)
|
(and:HI (match_dup 0)
|
||||||
(match_dup 1)))
|
(match_dup 1)))
|
||||||
(clobber (reg:CC FLAGS_REG))])]
|
(clobber (reg:CC FLAGS_REG))])])
|
||||||
"")
|
|
||||||
|
|
||||||
;; Turn *anddi_1 into *andsi_1_zext if possible.
|
;; Turn *anddi_1 into *andsi_1_zext if possible.
|
||||||
(define_split
|
(define_split
|
||||||
|
|
@ -8254,7 +8256,8 @@
|
||||||
(not:SWI12
|
(not:SWI12
|
||||||
(xor:SWI12
|
(xor:SWI12
|
||||||
(match_operand:SWI12 1 "register_operand" "0,Yk")
|
(match_operand:SWI12 1 "register_operand" "0,Yk")
|
||||||
(match_operand:SWI12 2 "register_operand" "r,Yk"))))]
|
(match_operand:SWI12 2 "register_operand" "r,Yk"))))
|
||||||
|
(clobber (reg:CC FLAGS_REG))]
|
||||||
"TARGET_AVX512F"
|
"TARGET_AVX512F"
|
||||||
"@
|
"@
|
||||||
#
|
#
|
||||||
|
|
@ -8268,15 +8271,15 @@
|
||||||
(not:SWI12
|
(not:SWI12
|
||||||
(xor:SWI12
|
(xor:SWI12
|
||||||
(match_dup 0)
|
(match_dup 0)
|
||||||
(match_operand:SWI12 1 "general_reg_operand"))))]
|
(match_operand:SWI12 1 "general_reg_operand"))))
|
||||||
|
(clobber (reg:CC FLAGS_REG))]
|
||||||
"TARGET_AVX512F && reload_completed"
|
"TARGET_AVX512F && reload_completed"
|
||||||
[(parallel [(set (match_dup 0)
|
[(parallel [(set (match_dup 0)
|
||||||
(xor:HI (match_dup 0)
|
(xor:HI (match_dup 0)
|
||||||
(match_dup 1)))
|
(match_dup 1)))
|
||||||
(clobber (reg:CC FLAGS_REG))])
|
(clobber (reg:CC FLAGS_REG))])
|
||||||
(set (match_dup 0)
|
(set (match_dup 0)
|
||||||
(not:HI (match_dup 0)))]
|
(not:HI (match_dup 0)))])
|
||||||
"")
|
|
||||||
|
|
||||||
(define_insn "kortestzhi"
|
(define_insn "kortestzhi"
|
||||||
[(set (reg:CCZ FLAGS_REG)
|
[(set (reg:CCZ FLAGS_REG)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue