From b6bb1d561836b8939f3b289f596348f0ea4ab06d Mon Sep 17 00:00:00 2001 From: Jan Hubicka Date: Thu, 20 Jun 2002 12:15:59 +0200 Subject: [PATCH] * i386.md (xorqi_1_slp, xorqi_2_slp): New patterns. From-SVN: r54826 --- gcc/ChangeLog | 4 ++++ gcc/config/i386/i386.md | 23 +++++++++++++++++++++++ 2 files changed, 27 insertions(+) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 710e2cd3d47..b2ebcd772ca 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +Thu Jun 20 12:14:01 CEST 2002 Jan Hubicka + + * i386.md (xorqi_1_slp, xorqi_2_slp): New patterns. + 2002-05-20 Richard Henderson * c-common.c (c_common_get_alias_set): Correctly handle characters. diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md index 1d1381ac9f6..c2ef8965439 100644 --- a/gcc/config/i386/i386.md +++ b/gcc/config/i386/i386.md @@ -8830,6 +8830,16 @@ [(set_attr "type" "alu") (set_attr "mode" "QI,QI,SI")]) +(define_insn "*xorqi_1_slp" + [(set (strict_low_part (match_operand:QI 0 "nonimmediate_operand" "+qm,q")) + (xor:QI (match_dup 0) + (match_operand:QI 1 "general_operand" "qi,qmi"))) + (clobber (reg:CC 17))] + "! TARGET_PARTIAL_REG_STALL || optimize_size" + "xor{b}\t{%1, %0|%0, %1}" + [(set_attr "type" "alu1") + (set_attr "mode" "QI")]) + (define_insn "xorqi_ext_0" [(set (zero_extract:SI (match_operand 0 "ext_register_operand" "=Q") (const_int 8) @@ -8917,6 +8927,19 @@ [(set_attr "type" "alu") (set_attr "mode" "QI")]) +(define_insn "*xorqi_2_slp" + [(set (reg 17) + (compare (xor:QI (match_operand:QI 0 "nonimmediate_operand" "+q,qm") + (match_operand:QI 1 "general_operand" "qim,qi")) + (const_int 0))) + (set (strict_low_part (match_dup 0)) + (xor:QI (match_dup 0) (match_dup 1)))] + "(! TARGET_PARTIAL_REG_STALL || optimize_size) + && ix86_match_ccmode (insn, CCNOmode)" + "xor{b}\t{%1, %0|%0, %1}" + [(set_attr "type" "alu1") + (set_attr "mode" "QI")]) + (define_insn "*xorqi_cc_2" [(set (reg 17) (compare -- 2.30.2