From 4e3be7254926d00c5625949c0d9b28049b279d2d Mon Sep 17 00:00:00 2001 From: uros Date: Mon, 21 Oct 2013 11:11:14 +0000 Subject: [PATCH] * config/i386/i386.md (kxnor): Add FLAGS_REG clobber. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203889 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 4 ++++ gcc/config/i386/i386.md | 19 +++++++++++-------- 2 files changed, 15 insertions(+), 8 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index bf54da9..bbcc371 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2013-10-20 Uros Bizjak + + * config/i386/i386.md (kxnor): Add FLAGS_REG clobber. + 2013-10-20 Jan Hubicka * config/i386/i386-tune.def: Add comment; organize into categories diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md index ad79589..5413526 100644 --- a/gcc/config/i386/i386.md +++ b/gcc/config/i386/i386.md @@ -2302,9 +2302,12 @@ ;; 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 ;; partial register stall can be caused there. Then we use movzx. + (define_insn "*movqi_internal" - [(set (match_operand:QI 0 "nonimmediate_operand" "=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"))] + [(set (match_operand:QI 0 "nonimmediate_operand" + "=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]))" { switch (get_attr_type (insn)) @@ -7828,8 +7831,7 @@ (parallel [(set (match_dup 0) (and:HI (match_dup 0) (match_dup 1))) - (clobber (reg:CC FLAGS_REG))])] - "") + (clobber (reg:CC FLAGS_REG))])]) ;; Turn *anddi_1 into *andsi_1_zext if possible. (define_split @@ -8254,7 +8256,8 @@ (not:SWI12 (xor:SWI12 (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" "@ # @@ -8268,15 +8271,15 @@ (not:SWI12 (xor:SWI12 (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" [(parallel [(set (match_dup 0) (xor:HI (match_dup 0) (match_dup 1))) (clobber (reg:CC FLAGS_REG))]) (set (match_dup 0) - (not:HI (match_dup 0)))] - "") + (not:HI (match_dup 0)))]) (define_insn "kortestzhi" [(set (reg:CCZ FLAGS_REG) -- 2.7.4