diff options
author | Jan Hubicka <jh@suse.cz> | 2002-06-20 12:15:59 +0200 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2002-06-20 10:15:59 +0000 |
commit | b6bb1d561836b8939f3b289f596348f0ea4ab06d (patch) | |
tree | 5e5359339988523f999201a48ae650bba9b7a058 /gcc | |
parent | a8577242841ea3c0cc6ee20bc4d120f7bc0e0a0f (diff) | |
download | gcc-b6bb1d561836b8939f3b289f596348f0ea4ab06d.zip gcc-b6bb1d561836b8939f3b289f596348f0ea4ab06d.tar.gz gcc-b6bb1d561836b8939f3b289f596348f0ea4ab06d.tar.bz2 |
* i386.md (xorqi_1_slp, xorqi_2_slp): New patterns.
From-SVN: r54826
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/config/i386/i386.md | 23 |
2 files changed, 27 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 710e2cd..b2ebcd7 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +Thu Jun 20 12:14:01 CEST 2002 Jan Hubicka <jh@suse.cz> + + * i386.md (xorqi_1_slp, xorqi_2_slp): New patterns. + 2002-05-20 Richard Henderson <rth@redhat.com> * 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 1d1381a..c2ef896 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 |