diff options
author | Nick Clifton <nickc@redhat.com> | 2004-11-19 09:47:23 +0000 |
---|---|---|
committer | Nick Clifton <nickc@gcc.gnu.org> | 2004-11-19 09:47:23 +0000 |
commit | f99652b5e31bf860a7a007e71e67796f047a3512 (patch) | |
tree | 8ca78644de58813f1f589e1ff2f999bc240d9ec5 /gcc/config/stormy16/stormy16.md | |
parent | e648d85ab2e419200e7424d1d744030c7075b013 (diff) | |
download | gcc-f99652b5e31bf860a7a007e71e67796f047a3512.tar.gz |
config/stormy16/stormy16.c (combine_bnp): Add code to handle zero_extension and lshiftrt insns.
config/stormy16/stormy16.c (combine_bnp): Add code to handle zero_extension and
lshiftrt insns.
Replace uses of XEXP(...) with either SET_DEST() or SET_SRC() where
appropriate.
config/stormy16.stormy16.md (bclrx3, bsetx3): New patterns to handle bp and bn
insn patterns with a zero_extend rtx inside them.
From-SVN: r90898
Diffstat (limited to 'gcc/config/stormy16/stormy16.md')
-rw-r--r-- | gcc/config/stormy16/stormy16.md | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/gcc/config/stormy16/stormy16.md b/gcc/config/stormy16/stormy16.md index 13474bee032..14dd7902188 100644 --- a/gcc/config/stormy16/stormy16.md +++ b/gcc/config/stormy16/stormy16.md @@ -1268,6 +1268,19 @@ [(set_attr "length" "4") (set_attr "psw_operand" "nop")]) +(define_insn "*bclrx3" + [(set (pc) + (if_then_else (eq:HI (and:HI (zero_extend:HI (match_operand:QI 1 "xstormy16_below100_operand" "W")) + (match_operand:HI 2 "immediate_operand" "i")) + (const_int 0)) + (label_ref (match_operand 0 "" "")) + (pc))) + (clobber (match_operand:BI 3 "" "=y"))] + "" + "bn %1,%B2,%l0" + [(set_attr "length" "4") + (set_attr "psw_operand" "nop")]) + (define_insn "*bclr7" [(set (pc) (if_then_else (xor:HI (lshiftrt:HI (subreg:HI @@ -1320,6 +1333,19 @@ [(set_attr "length" "4") (set_attr "psw_operand" "nop")]) +(define_insn "*bsetx3" + [(set (pc) + (if_then_else (ne:HI (and:HI (zero_extend:HI (match_operand:QI 1 "xstormy16_below100_operand" "W")) + (match_operand:HI 2 "immediate_operand" "i")) + (const_int 0)) + (label_ref (match_operand 0 "" "")) + (pc))) + (clobber (match_operand:BI 3 "" "=y"))] + "" + "bp %1,%B2,%l0" + [(set_attr "length" "4") + (set_attr "psw_operand" "nop")]) + (define_insn "*bset7" [(set (pc) (if_then_else (lshiftrt:HI (subreg:HI (match_operand:QI 1 "xstormy16_below100_operand" "W") 0) |