* config/s390/s390.md ("trap", "conditional_trap", "*trap"): New insns.
From-SVN: r57102
This commit is contained in:
parent
8764acde96
commit
4456530dac
2 changed files with 39 additions and 0 deletions
|
@ -1,3 +1,8 @@
|
|||
2002-09-13 Hartmut Penner <hpenner@de.ibm.com>
|
||||
|
||||
* config/s390/s390.md ("trap", "conditional_trap", "*trap"): New
|
||||
insns.
|
||||
|
||||
2002-09-12 Richard Henderson <rth@redhat.com>
|
||||
|
||||
* Makefile.in (HOST_PRINT): Use print-rtl1.o
|
||||
|
|
|
@ -5970,6 +5970,40 @@
|
|||
(const_string "RR") (const_string "RX")))
|
||||
(set_attr "atype" "mem")])
|
||||
|
||||
;;
|
||||
;;- Trap instructions.
|
||||
;;
|
||||
|
||||
(define_insn "trap"
|
||||
[(trap_if (const_int 1) (const_int 0))]
|
||||
""
|
||||
"j\\t.+2"
|
||||
[(set_attr "op_type" "RX")])
|
||||
|
||||
(define_expand "conditional_trap"
|
||||
[(set (match_dup 2) (match_dup 3))
|
||||
(trap_if (match_operator 0 "comparison_operator"
|
||||
[(match_dup 2) (const_int 0)])
|
||||
(match_operand:SI 1 "general_operand" ""))]
|
||||
""
|
||||
"
|
||||
{
|
||||
enum machine_mode ccmode;
|
||||
|
||||
if (operands[1] != const0_rtx) FAIL;
|
||||
|
||||
ccmode = s390_select_ccmode (GET_CODE (operands[0]),
|
||||
s390_compare_op0, s390_compare_op1);
|
||||
operands[2] = gen_rtx_REG (ccmode, 33);
|
||||
operands[3] = gen_rtx_COMPARE (ccmode, s390_compare_op0, s390_compare_op1);
|
||||
}")
|
||||
|
||||
(define_insn "*trap"
|
||||
[(trap_if (match_operator 0 "comparison_operator" [(reg 33) (const_int 0)])
|
||||
(const_int 0))]
|
||||
""
|
||||
"j%C0\\t.+2";
|
||||
[(set_attr "op_type" "RX")])
|
||||
|
||||
;;
|
||||
;;- Loop instructions.
|
||||
|
|
Loading…
Add table
Reference in a new issue