diff options
author | Jim Wilson <wilson@gcc.gnu.org> | 1993-03-15 11:40:34 -0800 |
---|---|---|
committer | Jim Wilson <wilson@gcc.gnu.org> | 1993-03-15 11:40:34 -0800 |
commit | d21a353d96c94d9876e4b5c2921fe29672f0c14b (patch) | |
tree | a863c735a91b64b55877ad54d9f7bc2a0ba25484 /gcc/config/sparc | |
parent | 6f0f06377eb781444f2722ef75e8830ff05af988 (diff) | |
download | gcc-d21a353d96c94d9876e4b5c2921fe29672f0c14b.zip gcc-d21a353d96c94d9876e4b5c2921fe29672f0c14b.tar.gz gcc-d21a353d96c94d9876e4b5c2921fe29672f0c14b.tar.bz2 |
(zero_extendqisi2+4,+5): Add new patterns for combining a SI->QI mode truncate...
(zero_extendqisi2+4,+5): Add new patterns for combining
a SI->QI mode truncate with an insn that sets the condition codes.
From-SVN: r3743
Diffstat (limited to 'gcc/config/sparc')
-rw-r--r-- | gcc/config/sparc/sparc.md | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/gcc/config/sparc/sparc.md b/gcc/config/sparc/sparc.md index 5f8afeb..293893d 100644 --- a/gcc/config/sparc/sparc.md +++ b/gcc/config/sparc/sparc.md @@ -1418,6 +1418,26 @@ "" "andcc %1,0xff,%0" [(set_attr "type" "unary")]) + +;; Similarly, handle SI->QI mode truncation followed by a compare. + +(define_insn "" + [(set (reg:CC 0) + (compare:CC (subreg:QI (match_operand:SI 0 "register_operand" "r") 0) + (const_int 0)))] + "" + "andcc %0,0xff,%%g0" + [(set_attr "type" "compare")]) + +(define_insn "" + [(set (reg:CC 0) + (compare:CC (subreg:QI (match_operand:SI 1 "register_operand" "r") 0) + (const_int 0))) + (set (match_operand:QI 0 "register_operand" "=r") + (match_dup 1))] + "" + "andcc %1,0xff,%0" + [(set_attr "type" "unary")]) ;;- sign extension instructions |