From f99652b5e31bf860a7a007e71e67796f047a3512 Mon Sep 17 00:00:00 2001 From: Nick Clifton Date: Fri, 19 Nov 2004 09:47:23 +0000 Subject: 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 --- gcc/config/stormy16/stormy16.md | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'gcc/config/stormy16/stormy16.md') 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) -- cgit v1.2.1