From fbcb02cd36d3d1e60b15cfde8fec05769425c7bf Mon Sep 17 00:00:00 2001 From: Kazu Hirata <kazu@cs.umass.edu> Date: Sun, 29 Dec 2002 21:33:18 +0000 Subject: [PATCH] * config/h8300/h8300.md: Reorder some insns. From-SVN: r60611 --- gcc/ChangeLog | 4 +++ gcc/config/h8300/h8300.md | 70 +++++++++++++++++++++------------------ 2 files changed, 41 insertions(+), 33 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 52660f7409de..a3efa168ac92 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2002-12-29 Kazu Hirata <kazu@cs.umass.edu> + + * config/h8300/h8300.md: Reorder some insns. + 2002-12-29 Kazu Hirata <kazu@cs.umass.edu> * config/h8300/h8300-protos.h: Add prototypes for diff --git a/gcc/config/h8300/h8300.md b/gcc/config/h8300/h8300.md index b377961948be..87be3cbf61b0 100644 --- a/gcc/config/h8300/h8300.md +++ b/gcc/config/h8300/h8300.md @@ -2329,7 +2329,9 @@ [(set_attr "cc" "set_znv") (set_attr "length" "6")]) -(define_insn "" +;; ior:HI + +(define_insn "*iorhi3_zext" [(set (match_operand:HI 0 "register_operand" "=r") (ior:HI (zero_extend:HI (match_operand:QI 1 "register_operand" "r")) (match_operand:HI 2 "register_operand" "0")))] @@ -2340,6 +2342,40 @@ [(set_attr "cc" "clobber") (set_attr "length" "2")]) +(define_insn "*iorhi3_ashift_8" + [(set (match_operand:HI 0 "register_operand" "=r") + (ior:HI (ashift:HI (match_operand:HI 1 "register_operand" "r") + (const_int 8)) + (match_operand:HI 2 "register_operand" "0")))] + "" + "or.b\\t%s1,%t0" + [(set_attr "cc" "clobber") + (set_attr "length" "2")]) + +(define_insn "*iorhi3_lshiftrt_8" + [(set (match_operand:HI 0 "register_operand" "=r") + (ior:HI (lshiftrt:HI (match_operand:HI 1 "register_operand" "r") + (const_int 8)) + (match_operand:HI 2 "register_operand" "0")))] + "" + "or.b\t%t1,%s0" + [(set_attr "cc" "clobber") + (set_attr "length" "2")]) + +(define_insn "*iorhi3_two_qi" + [(set (match_operand:HI 0 "register_operand" "=r") + (ior:HI (zero_extend:HI (match_operand:QI 1 "register_operand" "0")) + (ashift:HI (match_operand:HI 2 "register_operand" "r") + (const_int 8))))] + "REG_P (operands[0]) + && REG_P (operands[2]) + && REGNO (operands[0]) != REGNO (operands[2])" + "mov.b\\t%s2,%t0" + [(set_attr "cc" "clobber") + (set_attr "length" "2")]) + +;; ior:SI + (define_insn "" [(set (match_operand:SI 0 "register_operand" "=r") (ior:SI (zero_extend:SI (match_operand:HI 1 "register_operand" "r")) @@ -2395,38 +2431,6 @@ [(set_attr "cc" "clobber") (set_attr "length" "2")]) -(define_insn "" - [(set (match_operand:HI 0 "register_operand" "=r") - (ior:HI (zero_extend:HI (match_operand:QI 1 "register_operand" "0")) - (ashift:HI (match_operand:HI 2 "register_operand" "r") - (const_int 8))))] - "REG_P (operands[0]) - && REG_P (operands[2]) - && REGNO (operands[0]) != REGNO (operands[2])" - "mov.b\\t%s2,%t0" - [(set_attr "cc" "clobber") - (set_attr "length" "2")]) - -(define_insn "*iorhi_ashift_8" - [(set (match_operand:HI 0 "register_operand" "=r") - (ior:HI (ashift:HI (match_operand:HI 1 "register_operand" "r") - (const_int 8)) - (match_operand:HI 2 "register_operand" "0")))] - "" - "or.b\\t%s1,%t0" - [(set_attr "cc" "clobber") - (set_attr "length" "2")]) - -(define_insn "*iorhi_lshiftrt_8" - [(set (match_operand:HI 0 "register_operand" "=r") - (ior:HI (lshiftrt:HI (match_operand:HI 1 "register_operand" "r") - (const_int 8)) - (match_operand:HI 2 "register_operand" "0")))] - "" - "or.b\t%t1,%s0" - [(set_attr "cc" "clobber") - (set_attr "length" "2")]) - (define_insn "" [(set (match_operand:SI 0 "register_operand" "=r") (ior:SI (zero_extend:SI (match_operand:HI 1 "register_operand" "0")) -- GitLab