[(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")))]
[(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"))
(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"))
(ashift:SI (match_operand:SI 2 "register_operand" "r")