Commit 24f29b06 by Kazu Hirata Committed by Kazu Hirata

h8300.md: Remove explicit (set_attr "cc" "clobber").

	* config/h8300/h8300.md: Remove explicit (set_attr "cc"
	"clobber").

From-SVN: r77872
parent d2f2c87b
2004-02-15 Kazu Hirata <kazu@cs.umass.edu>
* config/h8300/h8300.md: Remove explicit (set_attr "cc"
"clobber").
2004-02-15 Bernardo Innocenti <bernie@develer.com> 2004-02-15 Bernardo Innocenti <bernie@develer.com>
* config/m68k/m68k.h (PRINT_OPERAND_PUNCT_VALID_P): Restore support for * config/m68k/m68k.h (PRINT_OPERAND_PUNCT_VALID_P): Restore support for
......
...@@ -128,8 +128,7 @@ ...@@ -128,8 +128,7 @@
"TARGET_H8300 "TARGET_H8300
&& operands[0] != stack_pointer_rtx" && operands[0] != stack_pointer_rtx"
"mov.w\\t%T0,@-r7" "mov.w\\t%T0,@-r7"
[(set_attr "length" "2") [(set_attr "length" "2")])
(set_attr "cc" "clobber")])
(define_insn "pushqi1_h8300hs" (define_insn "pushqi1_h8300hs"
[(parallel [(set (reg:SI SP_REG) [(parallel [(set (reg:SI SP_REG)
...@@ -139,8 +138,7 @@ ...@@ -139,8 +138,7 @@
"(TARGET_H8300H || TARGET_H8300S) "(TARGET_H8300H || TARGET_H8300S)
&& operands[0] != stack_pointer_rtx" && operands[0] != stack_pointer_rtx"
"mov.l\\t%S0,@-er7" "mov.l\\t%S0,@-er7"
[(set_attr "length" "4") [(set_attr "length" "4")])
(set_attr "cc" "clobber")])
(define_insn "pushqi1_h8300hs_normal" (define_insn "pushqi1_h8300hs_normal"
[(parallel [(set (reg:HI SP_REG) [(parallel [(set (reg:HI SP_REG)
...@@ -150,8 +148,7 @@ ...@@ -150,8 +148,7 @@
"(TARGET_H8300H || TARGET_H8300S) "(TARGET_H8300H || TARGET_H8300S)
&& operands[0] != stack_pointer_rtx" && operands[0] != stack_pointer_rtx"
"mov.l\\t%S0,@-er7" "mov.l\\t%S0,@-er7"
[(set_attr "length" "4") [(set_attr "length" "4")])
(set_attr "cc" "clobber")])
(define_expand "pushqi1" (define_expand "pushqi1"
[(match_operand:QI 0 "register_operand" "")] [(match_operand:QI 0 "register_operand" "")]
...@@ -246,8 +243,7 @@ ...@@ -246,8 +243,7 @@
"(TARGET_H8300H || TARGET_H8300S) "(TARGET_H8300H || TARGET_H8300S)
&& operands[0] != stack_pointer_rtx" && operands[0] != stack_pointer_rtx"
"mov.l\\t%S0,@-er7" "mov.l\\t%S0,@-er7"
[(set_attr "length" "4") [(set_attr "length" "4")])
(set_attr "cc" "clobber")])
(define_insn "pushhi1_h8300hs_normal" (define_insn "pushhi1_h8300hs_normal"
[(parallel [(set (reg:HI SP_REG) [(parallel [(set (reg:HI SP_REG)
...@@ -257,8 +253,7 @@ ...@@ -257,8 +253,7 @@
"(TARGET_H8300H || TARGET_H8300S) "(TARGET_H8300H || TARGET_H8300S)
&& operands[0] != stack_pointer_rtx" && operands[0] != stack_pointer_rtx"
"mov.l\\t%S0,@-er7" "mov.l\\t%S0,@-er7"
[(set_attr "length" "4") [(set_attr "length" "4")])
(set_attr "cc" "clobber")])
(define_expand "pushhi1" (define_expand "pushhi1"
[(match_operand:HI 0 "register_operand" "")] [(match_operand:HI 0 "register_operand" "")]
...@@ -457,8 +452,7 @@ ...@@ -457,8 +452,7 @@
} }
}" }"
[(set (attr "length") [(set (attr "length")
(symbol_ref "compute_mov_length (operands)")) (symbol_ref "compute_mov_length (operands)"))])
(set_attr "cc" "clobber")])
(define_insn "*movsf_h8300" (define_insn "*movsf_h8300"
[(set (match_operand:SF 0 "general_operand_dst" "=r,r,r,o,<,r") [(set (match_operand:SF 0 "general_operand_dst" "=r,r,r,o,<,r")
...@@ -514,8 +508,7 @@ ...@@ -514,8 +508,7 @@
} }
}" }"
[(set (attr "length") [(set (attr "length")
(symbol_ref "compute_mov_length (operands)")) (symbol_ref "compute_mov_length (operands)"))])
(set_attr "cc" "clobber")])
(define_insn "*movsi_h8300hs" (define_insn "*movsi_h8300hs"
[(set (match_operand:SI 0 "general_operand_dst" "=r,r,r,<,r,r,m,*a,*a,r") [(set (match_operand:SI 0 "general_operand_dst" "=r,r,r,<,r,r,m,*a,*a,r")
...@@ -1011,8 +1004,7 @@ ...@@ -1011,8 +1004,7 @@
(match_operand:SI 2 "register_operand" "r")))] (match_operand:SI 2 "register_operand" "r")))]
"TARGET_H8300" "TARGET_H8300"
"sub.w %f2,%f0\;subx %y2,%y0\;subx %z2,%z0" "sub.w %f2,%f0\;subx %y2,%y0\;subx %z2,%z0"
[(set_attr "length" "6") [(set_attr "length" "6")])
(set_attr "cc" "clobber")])
(define_insn "*subsi3_h8300hs" (define_insn "*subsi3_h8300hs"
[(set (match_operand:SI 0 "register_operand" "=r,r") [(set (match_operand:SI 0 "register_operand" "=r,r")
...@@ -1122,8 +1114,7 @@ ...@@ -1122,8 +1114,7 @@
else else
return \"divxu.b\\t%X2,%T0\;mov.b\\t%t0,%s3\"; return \"divxu.b\\t%X2,%T0\;mov.b\\t%t0,%s3\";
}" }"
[(set_attr "length" "4") [(set_attr "length" "4")])
(set_attr "cc" "clobber")])
(define_insn "divmodqi4" (define_insn "divmodqi4"
[(set (match_operand:QI 0 "register_operand" "=r") [(set (match_operand:QI 0 "register_operand" "=r")
...@@ -1144,8 +1135,7 @@ ...@@ -1144,8 +1135,7 @@
else else
return \"divxs.b\\t%X2,%T0\;mov.b\\t%t0,%s3\"; return \"divxs.b\\t%X2,%T0\;mov.b\\t%t0,%s3\";
}" }"
[(set_attr "length" "6") [(set_attr "length" "6")])
(set_attr "cc" "clobber")])
(define_insn "udivmodhi4" (define_insn "udivmodhi4"
[(set (match_operand:HI 0 "register_operand" "=r") [(set (match_operand:HI 0 "register_operand" "=r")
...@@ -1166,8 +1156,7 @@ ...@@ -1166,8 +1156,7 @@
else else
return \"divxu.w\\t%T2,%S0\;mov.w\\t%e0,%f3\"; return \"divxu.w\\t%T2,%S0\;mov.w\\t%e0,%f3\";
}" }"
[(set_attr "length" "4") [(set_attr "length" "4")])
(set_attr "cc" "clobber")])
(define_insn "divmodhi4" (define_insn "divmodhi4"
[(set (match_operand:HI 0 "register_operand" "=r") [(set (match_operand:HI 0 "register_operand" "=r")
...@@ -1188,8 +1177,7 @@ ...@@ -1188,8 +1177,7 @@
else else
return \"divxs.w\\t%T2,%S0\;mov.w\\t%e0,%f3\"; return \"divxs.w\\t%T2,%S0\;mov.w\\t%e0,%f3\";
}" }"
[(set_attr "length" "6") [(set_attr "length" "6")])
(set_attr "cc" "clobber")])
;; ---------------------------------------------------------------------- ;; ----------------------------------------------------------------------
;; AND INSTRUCTIONS ;; AND INSTRUCTIONS
...@@ -1232,8 +1220,7 @@ ...@@ -1232,8 +1220,7 @@
(match_operand:QI 1 "register_operand" "0")))] (match_operand:QI 1 "register_operand" "0")))]
"" ""
"bld\\t%V3,%X2\;bor\\t%V3,%X0\;bst\\t%V3,%X0" "bld\\t%V3,%X2\;bor\\t%V3,%X0\;bst\\t%V3,%X0"
[(set_attr "length" "6") [(set_attr "length" "6")])
(set_attr "cc" "clobber")])
(define_insn "*andorhi3" (define_insn "*andorhi3"
[(set (match_operand:HI 0 "register_operand" "=r") [(set (match_operand:HI 0 "register_operand" "=r")
...@@ -1251,8 +1238,7 @@ ...@@ -1251,8 +1238,7 @@
} }
return \"bld\\t%V3,%s2\;bor\\t%V3,%s0\;bst\\t%V3,%s0\"; return \"bld\\t%V3,%s2\;bor\\t%V3,%s0\;bst\\t%V3,%s0\";
}" }"
[(set_attr "length" "6") [(set_attr "length" "6")])
(set_attr "cc" "clobber")])
(define_insn "*andorsi3" (define_insn "*andorsi3"
[(set (match_operand:SI 0 "register_operand" "=r") [(set (match_operand:SI 0 "register_operand" "=r")
...@@ -1270,8 +1256,7 @@ ...@@ -1270,8 +1256,7 @@
} }
return \"bld\\t%V3,%w2\;bor\\t%V3,%w0\;bst\\t%V3,%w0\"; return \"bld\\t%V3,%w2\;bor\\t%V3,%w0\;bst\\t%V3,%w0\";
}" }"
[(set_attr "length" "6") [(set_attr "length" "6")])
(set_attr "cc" "clobber")])
(define_insn "*andorsi3_shift_8" (define_insn "*andorsi3_shift_8"
[(set (match_operand:SI 0 "register_operand" "=r") [(set (match_operand:SI 0 "register_operand" "=r")
...@@ -1281,8 +1266,7 @@ ...@@ -1281,8 +1266,7 @@
(match_operand:SI 1 "register_operand" "0")))] (match_operand:SI 1 "register_operand" "0")))]
"" ""
"or.b\\t%w2,%x0" "or.b\\t%w2,%x0"
[(set_attr "length" "2") [(set_attr "length" "2")])
(set_attr "cc" "clobber")])
(define_expand "andsi3" (define_expand "andsi3"
[(set (match_operand:SI 0 "register_operand" "") [(set (match_operand:SI 0 "register_operand" "")
...@@ -1484,16 +1468,14 @@ ...@@ -1484,16 +1468,14 @@
(neg:SF (match_operand:SF 1 "register_operand" "0")))] (neg:SF (match_operand:SF 1 "register_operand" "0")))]
"TARGET_H8300" "TARGET_H8300"
"xor.b\\t#128,%z0" "xor.b\\t#128,%z0"
[(set_attr "cc" "clobber") [(set_attr "length" "2")])
(set_attr "length" "2")])
(define_insn "*negsf2_h8300hs" (define_insn "*negsf2_h8300hs"
[(set (match_operand:SF 0 "register_operand" "=r") [(set (match_operand:SF 0 "register_operand" "=r")
(neg:SF (match_operand:SF 1 "register_operand" "0")))] (neg:SF (match_operand:SF 1 "register_operand" "0")))]
"TARGET_H8300H || TARGET_H8300S" "TARGET_H8300H || TARGET_H8300S"
"xor.w\\t#32768,%e0" "xor.w\\t#32768,%e0"
[(set_attr "cc" "clobber") [(set_attr "length" "4")])
(set_attr "length" "4")])
;; ---------------------------------------------------------------------- ;; ----------------------------------------------------------------------
;; ABSOLUTE VALUE INSTRUCTIONS ;; ABSOLUTE VALUE INSTRUCTIONS
...@@ -1510,16 +1492,14 @@ ...@@ -1510,16 +1492,14 @@
(abs:SF (match_operand:SF 1 "register_operand" "0")))] (abs:SF (match_operand:SF 1 "register_operand" "0")))]
"TARGET_H8300" "TARGET_H8300"
"and.b\\t#127,%z0" "and.b\\t#127,%z0"
[(set_attr "cc" "clobber") [(set_attr "length" "2")])
(set_attr "length" "2")])
(define_insn "*abssf2_h8300hs" (define_insn "*abssf2_h8300hs"
[(set (match_operand:SF 0 "register_operand" "=r") [(set (match_operand:SF 0 "register_operand" "=r")
(abs:SF (match_operand:SF 1 "register_operand" "0")))] (abs:SF (match_operand:SF 1 "register_operand" "0")))]
"TARGET_H8300H || TARGET_H8300S" "TARGET_H8300H || TARGET_H8300S"
"and.w\\t#32767,%e0" "and.w\\t#32767,%e0"
[(set_attr "cc" "clobber") [(set_attr "length" "4")])
(set_attr "length" "4")])
;; ---------------------------------------------------------------------- ;; ----------------------------------------------------------------------
;; NOT INSTRUCTIONS ;; NOT INSTRUCTIONS
...@@ -1544,8 +1524,7 @@ ...@@ -1544,8 +1524,7 @@
(not:HI (match_operand:HI 1 "register_operand" "0")))] (not:HI (match_operand:HI 1 "register_operand" "0")))]
"TARGET_H8300" "TARGET_H8300"
"not %s0\;not %t0" "not %s0\;not %t0"
[(set_attr "cc" "clobber") [(set_attr "length" "4")])
(set_attr "length" "4")])
(define_insn "*one_cmplhi2_h8300hs" (define_insn "*one_cmplhi2_h8300hs"
[(set (match_operand:HI 0 "register_operand" "=r") [(set (match_operand:HI 0 "register_operand" "=r")
...@@ -1566,8 +1545,7 @@ ...@@ -1566,8 +1545,7 @@
(not:SI (match_operand:SI 1 "register_operand" "0")))] (not:SI (match_operand:SI 1 "register_operand" "0")))]
"TARGET_H8300" "TARGET_H8300"
"not %w0\;not %x0\;not %y0\;not %z0" "not %w0\;not %x0\;not %y0\;not %z0"
[(set_attr "cc" "clobber") [(set_attr "length" "8")])
(set_attr "length" "8")])
(define_insn "*one_complsi2_h8300hs" (define_insn "*one_complsi2_h8300hs"
[(set (match_operand:SI 0 "register_operand" "=r") [(set (match_operand:SI 0 "register_operand" "=r")
...@@ -1825,8 +1803,7 @@ ...@@ -1825,8 +1803,7 @@
else else
return \"jsr\\t%0\"; return \"jsr\\t%0\";
}" }"
[(set_attr "cc" "clobber") [(set (attr "length")
(set (attr "length")
(if_then_else (match_operand:QI 0 "small_call_insn_operand" "") (if_then_else (match_operand:QI 0 "small_call_insn_operand" "")
(const_int 2) (const_int 2)
(const_int 4)))]) (const_int 4)))])
...@@ -1849,8 +1826,7 @@ ...@@ -1849,8 +1826,7 @@
else else
return \"jsr\\t%1\"; return \"jsr\\t%1\";
}" }"
[(set_attr "cc" "clobber") [(set (attr "length")
(set (attr "length")
(if_then_else (match_operand:QI 0 "small_call_insn_operand" "") (if_then_else (match_operand:QI 0 "small_call_insn_operand" "")
(const_int 2) (const_int 2)
(const_int 4)))]) (const_int 4)))])
...@@ -2233,8 +2209,7 @@ ...@@ -2233,8 +2209,7 @@
return \"stc\texr,@-er7\;mov.l\\ter0,@-er7\;stc\tccr,r0l\;mov.b\tr0l,@(6,er7)\;mov.l\\t@er7+,er0\;orc\t#128,ccr\"; return \"stc\texr,@-er7\;mov.l\\ter0,@-er7\;stc\tccr,r0l\;mov.b\tr0l,@(6,er7)\;mov.l\\t@er7+,er0\;orc\t#128,ccr\";
abort (); abort ();
}" }"
[(set_attr "length" "20") [(set_attr "length" "20")])
(set_attr "cc" "clobber")])
;; ---------------------------------------------------------------------- ;; ----------------------------------------------------------------------
;; EXTEND INSTRUCTIONS ;; EXTEND INSTRUCTIONS
...@@ -2253,8 +2228,7 @@ ...@@ -2253,8 +2228,7 @@
"@ "@
mov.b #0,%t0 mov.b #0,%t0
#" #"
[(set_attr "length" "2,10") [(set_attr "length" "2,10")])
(set_attr "cc" "clobber,clobber")])
(define_insn "*zero_extendqihi2_h8300hs" (define_insn "*zero_extendqihi2_h8300hs"
[(set (match_operand:HI 0 "register_operand" "=r,r") [(set (match_operand:HI 0 "register_operand" "=r,r")
...@@ -2294,8 +2268,7 @@ ...@@ -2294,8 +2268,7 @@
"@ "@
mov.b #0,%x0\;sub.w %e0,%e0 mov.b #0,%x0\;sub.w %e0,%e0
mov.b %R1,%w0\;mov.b #0,%x0\;sub.w %e0,%e0" mov.b %R1,%w0\;mov.b #0,%x0\;sub.w %e0,%e0"
[(set_attr "length" "4,8") [(set_attr "length" "4,8")])
(set_attr "cc" "clobber,clobber")])
(define_insn "*zero_extendqisi2_h8300hs" (define_insn "*zero_extendqisi2_h8300hs"
[(set (match_operand:SI 0 "register_operand" "=r,r") [(set (match_operand:SI 0 "register_operand" "=r,r")
...@@ -2345,8 +2318,7 @@ ...@@ -2345,8 +2318,7 @@
sub.w %e0,%e0 sub.w %e0,%e0
mov.w %f1,%f0\;sub.w %e0,%e0 mov.w %f1,%f0\;sub.w %e0,%e0
mov.w %e1,%f0\;sub.w %e0,%e0" mov.w %e1,%f0\;sub.w %e0,%e0"
[(set_attr "length" "2,4,6") [(set_attr "length" "2,4,6")])
(set_attr "cc" "clobber,clobber,clobber")])
(define_insn "*zero_extendhisi2_h8300hs" (define_insn "*zero_extendhisi2_h8300hs"
[(set (match_operand:SI 0 "register_operand" "=r") [(set (match_operand:SI 0 "register_operand" "=r")
...@@ -2369,8 +2341,7 @@ ...@@ -2369,8 +2341,7 @@
"@ "@
bld #7,%s0\;subx %t0,%t0 bld #7,%s0\;subx %t0,%t0
mov.b %R1,%s0\;bld #7,%s0\;subx %t0,%t0" mov.b %R1,%s0\;bld #7,%s0\;subx %t0,%t0"
[(set_attr "length" "4,8") [(set_attr "length" "4,8")])
(set_attr "cc" "clobber,clobber")])
(define_insn "*extendqihi2_h8300hs" (define_insn "*extendqihi2_h8300hs"
[(set (match_operand:HI 0 "register_operand" "=r") [(set (match_operand:HI 0 "register_operand" "=r")
...@@ -2393,8 +2364,7 @@ ...@@ -2393,8 +2364,7 @@
"@ "@
bld #7,%w0\;subx %x0,%x0\;subx %y0,%y0\;subx %z0,%z0 bld #7,%w0\;subx %x0,%x0\;subx %y0,%y0\;subx %z0,%z0
mov.b %R1,%w0\;bld #7,%w0\;subx %x0,%x0\;subx %y0,%y0\;subx %z0,%z0" mov.b %R1,%w0\;bld #7,%w0\;subx %x0,%x0\;subx %y0,%y0\;subx %z0,%z0"
[(set_attr "length" "8,12") [(set_attr "length" "8,12")])
(set_attr "cc" "clobber,clobber")])
;; The following pattern is needed because without the pattern, the ;; The following pattern is needed because without the pattern, the
;; combiner would split (sign_extend:SI (reg:QI)) into into two 24-bit ;; combiner would split (sign_extend:SI (reg:QI)) into into two 24-bit
...@@ -2425,8 +2395,7 @@ ...@@ -2425,8 +2395,7 @@
"@ "@
bld #7,%x0\;subx %y0,%y0\;subx %z0,%z0 bld #7,%x0\;subx %y0,%y0\;subx %z0,%z0
mov.w %T1,%f0\;bld #7,%x0\;subx %y0,%y0\;subx %z0,%z0" mov.w %T1,%f0\;bld #7,%x0\;subx %y0,%y0\;subx %z0,%z0"
[(set_attr "length" "6,10") [(set_attr "length" "6,10")])
(set_attr "cc" "clobber,clobber")])
(define_insn "*extendhisi2_h8300hs" (define_insn "*extendhisi2_h8300hs"
[(set (match_operand:SI 0 "register_operand" "=r") [(set (match_operand:SI 0 "register_operand" "=r")
...@@ -2650,8 +2619,7 @@ ...@@ -2650,8 +2619,7 @@
"" ""
"* return output_a_rotate (ROTATE, operands);" "* return output_a_rotate (ROTATE, operands);"
[(set (attr "length") [(set (attr "length")
(symbol_ref "compute_a_rotate_length (operands)")) (symbol_ref "compute_a_rotate_length (operands)"))])
(set_attr "cc" "clobber")])
(define_expand "rotlhi3" (define_expand "rotlhi3"
[(set (match_operand:HI 0 "register_operand" "") [(set (match_operand:HI 0 "register_operand" "")
...@@ -2667,8 +2635,7 @@ ...@@ -2667,8 +2635,7 @@
"" ""
"* return output_a_rotate (ROTATE, operands);" "* return output_a_rotate (ROTATE, operands);"
[(set (attr "length") [(set (attr "length")
(symbol_ref "compute_a_rotate_length (operands)")) (symbol_ref "compute_a_rotate_length (operands)"))])
(set_attr "cc" "clobber")])
(define_expand "rotlsi3" (define_expand "rotlsi3"
[(set (match_operand:SI 0 "register_operand" "") [(set (match_operand:SI 0 "register_operand" "")
...@@ -2684,8 +2651,7 @@ ...@@ -2684,8 +2651,7 @@
"TARGET_H8300H || TARGET_H8300S" "TARGET_H8300H || TARGET_H8300S"
"* return output_a_rotate (ROTATE, operands);" "* return output_a_rotate (ROTATE, operands);"
[(set (attr "length") [(set (attr "length")
(symbol_ref "compute_a_rotate_length (operands)")) (symbol_ref "compute_a_rotate_length (operands)"))])
(set_attr "cc" "clobber")])
;; ----------------------------------------------------------------- ;; -----------------------------------------------------------------
;; BIT FIELDS ;; BIT FIELDS
...@@ -2711,8 +2677,7 @@ ...@@ -2711,8 +2677,7 @@
(match_operand:HI 2 "immediate_operand" "n")))] (match_operand:HI 2 "immediate_operand" "n")))]
"TARGET_H8300" "TARGET_H8300"
"sub.w %0,%0\;bld %Z2,%Y1\;bst #0,%X0" "sub.w %0,%0\;bld %Z2,%Y1\;bst #0,%X0"
[(set_attr "cc" "clobber") [(set_attr "length" "6")])
(set_attr "length" "6")])
;; ;;
;; Inverted loads with a 16bit destination. ;; Inverted loads with a 16bit destination.
...@@ -2727,8 +2692,7 @@ ...@@ -2727,8 +2692,7 @@
"TARGET_H8300 "TARGET_H8300
&& (1 << INTVAL (operands[2])) == INTVAL (operands[3])" && (1 << INTVAL (operands[2])) == INTVAL (operands[3])"
"sub.w %0,%0\;bild %Z2,%Y1\;bst #0,%X0" "sub.w %0,%0\;bild %Z2,%Y1\;bst #0,%X0"
[(set_attr "cc" "clobber") [(set_attr "length" "8")])
(set_attr "length" "8")])
;; ;;
;; Normal loads with a 32bit destination. ;; Normal loads with a 32bit destination.
...@@ -2742,8 +2706,7 @@ ...@@ -2742,8 +2706,7 @@
"TARGET_H8300 "TARGET_H8300
&& INTVAL (operands[2]) < 16" && INTVAL (operands[2]) < 16"
"* return output_simode_bld (0, operands);" "* return output_simode_bld (0, operands);"
[(set_attr "cc" "clobber") [(set_attr "length" "8")])
(set_attr "length" "8")])
(define_insn "*extzv_1_r_h8300hs" (define_insn "*extzv_1_r_h8300hs"
[(set (match_operand:SI 0 "register_operand" "=r,r") [(set (match_operand:SI 0 "register_operand" "=r,r")
...@@ -2770,8 +2733,7 @@ ...@@ -2770,8 +2733,7 @@
&& INTVAL (operands[2]) < 16 && INTVAL (operands[2]) < 16
&& (1 << INTVAL (operands[2])) == INTVAL (operands[3])" && (1 << INTVAL (operands[2])) == INTVAL (operands[3])"
"* return output_simode_bld (1, operands);" "* return output_simode_bld (1, operands);"
[(set_attr "cc" "clobber") [(set_attr "length" "8")])
(set_attr "length" "8")])
(define_insn "*extzv_1_r_inv_h8300hs" (define_insn "*extzv_1_r_inv_h8300hs"
[(set (match_operand:SI 0 "register_operand" "=r,r") [(set (match_operand:SI 0 "register_operand" "=r,r")
...@@ -2811,8 +2773,7 @@ ...@@ -2811,8 +2773,7 @@
(match_operand:HI 2 "register_operand" "r"))] (match_operand:HI 2 "register_operand" "r"))]
"" ""
"bld #0,%R2\;bst %Z1,%Y0 ; i1" "bld #0,%R2\;bst %Z1,%Y0 ; i1"
[(set_attr "cc" "clobber") [(set_attr "length" "4")])
(set_attr "length" "4")])
(define_expand "extzv" (define_expand "extzv"
[(set (match_operand:HI 0 "register_operand" "") [(set (match_operand:HI 0 "register_operand" "")
...@@ -2842,8 +2803,7 @@ ...@@ -2842,8 +2803,7 @@
(match_operand:HI 3 "bit_operand" "0")]))] (match_operand:HI 3 "bit_operand" "0")]))]
"" ""
"bld %Z2,%Y1\;b%c4 #0,%R0\;bst #0,%R0; bl1" "bld %Z2,%Y1\;b%c4 #0,%R0\;bst #0,%R0; bl1"
[(set_attr "cc" "clobber") [(set_attr "length" "6")])
(set_attr "length" "6")])
(define_insn "" (define_insn ""
[(set (match_operand:HI 0 "bit_operand" "=Ur") [(set (match_operand:HI 0 "bit_operand" "=Ur")
...@@ -2856,8 +2816,7 @@ ...@@ -2856,8 +2816,7 @@
(match_operand:HI 4 "immediate_operand" "n"))]))] (match_operand:HI 4 "immediate_operand" "n"))]))]
"" ""
"bld %Z2,%Y1\;b%c5 %Z4,%Y3\;bst #0,%R0; bl3" "bld %Z2,%Y1\;b%c5 %Z4,%Y3\;bst #0,%R0; bl3"
[(set_attr "cc" "clobber") [(set_attr "length" "6")])
(set_attr "length" "6")])
;; ----------------------------------------------------------------- ;; -----------------------------------------------------------------
;; COMBINE PATTERNS ;; COMBINE PATTERNS
...@@ -2873,8 +2832,7 @@ ...@@ -2873,8 +2832,7 @@
"(TARGET_H8300H || TARGET_H8300S) "(TARGET_H8300H || TARGET_H8300S)
&& INTVAL (operands[1]) < 16" && INTVAL (operands[1]) < 16"
"bld\\t#0,%w2\;bst\\t%Z1,%Y0" "bld\\t#0,%w2\;bst\\t%Z1,%Y0"
[(set_attr "cc" "clobber") [(set_attr "length" "4")])
(set_attr "length" "4")])
(define_insn "*insv_si_1_n_lshiftrt" (define_insn "*insv_si_1_n_lshiftrt"
[(set (zero_extract:SI (match_operand:SI 0 "register_operand" "+r") [(set (zero_extract:SI (match_operand:SI 0 "register_operand" "+r")
...@@ -2886,8 +2844,7 @@ ...@@ -2886,8 +2844,7 @@
&& INTVAL (operands[1]) < 16 && INTVAL (operands[1]) < 16
&& INTVAL (operands[3]) < 16" && INTVAL (operands[3]) < 16"
"bld\\t%Z3,%Y2\;bst\\t%Z1,%Y0" "bld\\t%Z3,%Y2\;bst\\t%Z1,%Y0"
[(set_attr "cc" "clobber") [(set_attr "length" "4")])
(set_attr "length" "4")])
(define_insn "*insv_si_1_n_lshiftrt_16" (define_insn "*insv_si_1_n_lshiftrt_16"
[(set (zero_extract:SI (match_operand:SI 0 "register_operand" "+r") [(set (zero_extract:SI (match_operand:SI 0 "register_operand" "+r")
...@@ -2898,8 +2855,7 @@ ...@@ -2898,8 +2855,7 @@
"(TARGET_H8300H || TARGET_H8300S) "(TARGET_H8300H || TARGET_H8300S)
&& INTVAL (operands[1]) < 16" && INTVAL (operands[1]) < 16"
"rotr.w\\t%e2\;rotl.w\\t%e2\;bst\\t%Z1,%Y0" "rotr.w\\t%e2\;rotl.w\\t%e2\;bst\\t%Z1,%Y0"
[(set_attr "cc" "clobber") [(set_attr "length" "6")])
(set_attr "length" "6")])
(define_insn "*insv_si_8_8" (define_insn "*insv_si_8_8"
[(set (zero_extract:SI (match_operand:SI 0 "register_operand" "+r") [(set (zero_extract:SI (match_operand:SI 0 "register_operand" "+r")
...@@ -2908,8 +2864,7 @@ ...@@ -2908,8 +2864,7 @@
(match_operand:SI 1 "register_operand" "r"))] (match_operand:SI 1 "register_operand" "r"))]
"TARGET_H8300H || TARGET_H8300S" "TARGET_H8300H || TARGET_H8300S"
"mov.b\\t%w1,%x0" "mov.b\\t%w1,%x0"
[(set_attr "cc" "clobber") [(set_attr "length" "2")])
(set_attr "length" "2")])
(define_insn "*insv_si_8_8_lshiftrt_8" (define_insn "*insv_si_8_8_lshiftrt_8"
[(set (zero_extract:SI (match_operand:SI 0 "register_operand" "+r") [(set (zero_extract:SI (match_operand:SI 0 "register_operand" "+r")
...@@ -2919,8 +2874,7 @@ ...@@ -2919,8 +2874,7 @@
(const_int 8)))] (const_int 8)))]
"TARGET_H8300H || TARGET_H8300S" "TARGET_H8300H || TARGET_H8300S"
"mov.b\\t%x1,%x0" "mov.b\\t%x1,%x0"
[(set_attr "cc" "clobber") [(set_attr "length" "2")])
(set_attr "length" "2")])
;; extzv:SI ;; extzv:SI
...@@ -3035,8 +2989,7 @@ ...@@ -3035,8 +2989,7 @@
operands[3] = GEN_INT (exact_log2 (INTVAL (operands[3]))); operands[3] = GEN_INT (exact_log2 (INTVAL (operands[3])));
return \"shll.l\\t%S0\;xor.l\\t%S0,%S0\;bst\\t%Z3,%Y0\"; return \"shll.l\\t%S0\;xor.l\\t%S0,%S0\;bst\\t%Z3,%Y0\";
}" }"
[(set_attr "length" "8") [(set_attr "length" "8")])
(set_attr "cc" "clobber")])
(define_insn_and_split "*andsi3_lshiftrt_9_sb" (define_insn_and_split "*andsi3_lshiftrt_9_sb"
[(set (match_operand:SI 0 "register_operand" "=r") [(set (match_operand:SI 0 "register_operand" "=r")
...@@ -3065,8 +3018,7 @@ ...@@ -3065,8 +3018,7 @@
(match_operand:SI 2 "register_operand" "0")))] (match_operand:SI 2 "register_operand" "0")))]
"TARGET_H8300H || TARGET_H8300S" "TARGET_H8300H || TARGET_H8300S"
"add.w\\t%f1,%e0" "add.w\\t%f1,%e0"
[(set_attr "length" "2") [(set_attr "length" "2")])
(set_attr "cc" "clobber")])
(define_insn "*addsi3_lshiftrt_16_zexthi" (define_insn "*addsi3_lshiftrt_16_zexthi"
[(set (match_operand:SI 0 "register_operand" "=r") [(set (match_operand:SI 0 "register_operand" "=r")
...@@ -3075,8 +3027,7 @@ ...@@ -3075,8 +3027,7 @@
(zero_extend:SI (match_operand:HI 2 "register_operand" "0"))))] (zero_extend:SI (match_operand:HI 2 "register_operand" "0"))))]
"TARGET_H8300H || TARGET_H8300S" "TARGET_H8300H || TARGET_H8300S"
"add.w\\t%e1,%f0\;xor.w\\t%e0,%e0\;rotxl.w\\t%e0" "add.w\\t%e1,%f0\;xor.w\\t%e0,%e0\;rotxl.w\\t%e0"
[(set_attr "cc" "clobber") [(set_attr "length" "6")])
(set_attr "length" "6")])
(define_insn_and_split "*addsi3_and_r_1" (define_insn_and_split "*addsi3_and_r_1"
[(set (match_operand:SI 0 "register_operand" "=r") [(set (match_operand:SI 0 "register_operand" "=r")
...@@ -3133,8 +3084,7 @@ ...@@ -3133,8 +3084,7 @@
(match_operand:HI 3 "register_operand" "0")]))] (match_operand:HI 3 "register_operand" "0")]))]
"" ""
"%c1.b\\t%X2,%s0" "%c1.b\\t%X2,%s0"
[(set_attr "cc" "clobber") [(set_attr "length" "2")])
(set_attr "length" "2")])
;; [ix]or:SI ;; [ix]or:SI
...@@ -3145,8 +3095,7 @@ ...@@ -3145,8 +3095,7 @@
(match_operand:SI 3 "register_operand" "0")]))] (match_operand:SI 3 "register_operand" "0")]))]
"" ""
"%c1.b\\t%X2,%w0" "%c1.b\\t%X2,%w0"
[(set_attr "cc" "clobber") [(set_attr "length" "2")])
(set_attr "length" "2")])
(define_insn "*ixorsi3_zext_hi" (define_insn "*ixorsi3_zext_hi"
[(set (match_operand:SI 0 "register_operand" "=r") [(set (match_operand:SI 0 "register_operand" "=r")
...@@ -3155,8 +3104,7 @@ ...@@ -3155,8 +3104,7 @@
(match_operand:SI 3 "register_operand" "0")]))] (match_operand:SI 3 "register_operand" "0")]))]
"TARGET_H8300H || TARGET_H8300S" "TARGET_H8300H || TARGET_H8300S"
"%c1.w\\t%T2,%f0" "%c1.w\\t%T2,%f0"
[(set_attr "cc" "clobber") [(set_attr "length" "2")])
(set_attr "length" "2")])
(define_insn "*ixorsi3_ashift_16" (define_insn "*ixorsi3_ashift_16"
[(set (match_operand:SI 0 "register_operand" "=r") [(set (match_operand:SI 0 "register_operand" "=r")
...@@ -3166,8 +3114,7 @@ ...@@ -3166,8 +3114,7 @@
(match_operand:SI 3 "register_operand" "0")]))] (match_operand:SI 3 "register_operand" "0")]))]
"TARGET_H8300H || TARGET_H8300S" "TARGET_H8300H || TARGET_H8300S"
"%c1.w\\t%f2,%e0" "%c1.w\\t%f2,%e0"
[(set_attr "cc" "clobber") [(set_attr "length" "2")])
(set_attr "length" "2")])
(define_insn "*ixorsi3_lshiftrt_16" (define_insn "*ixorsi3_lshiftrt_16"
[(set (match_operand:SI 0 "register_operand" "=r") [(set (match_operand:SI 0 "register_operand" "=r")
...@@ -3177,8 +3124,7 @@ ...@@ -3177,8 +3124,7 @@
(match_operand:SI 3 "register_operand" "0")]))] (match_operand:SI 3 "register_operand" "0")]))]
"TARGET_H8300H || TARGET_H8300S" "TARGET_H8300H || TARGET_H8300S"
"%c1.w\\t%e2,%f0" "%c1.w\\t%e2,%f0"
[(set_attr "cc" "clobber") [(set_attr "length" "2")])
(set_attr "length" "2")])
;; ior:HI ;; ior:HI
...@@ -3189,8 +3135,7 @@ ...@@ -3189,8 +3135,7 @@
(match_operand:HI 2 "register_operand" "0")))] (match_operand:HI 2 "register_operand" "0")))]
"" ""
"or.b\\t%s1,%t0" "or.b\\t%s1,%t0"
[(set_attr "cc" "clobber") [(set_attr "length" "2")])
(set_attr "length" "2")])
(define_insn "*iorhi3_lshiftrt_8" (define_insn "*iorhi3_lshiftrt_8"
[(set (match_operand:HI 0 "register_operand" "=r") [(set (match_operand:HI 0 "register_operand" "=r")
...@@ -3199,8 +3144,7 @@ ...@@ -3199,8 +3144,7 @@
(match_operand:HI 2 "register_operand" "0")))] (match_operand:HI 2 "register_operand" "0")))]
"" ""
"or.b\\t%t1,%s0" "or.b\\t%t1,%s0"
[(set_attr "cc" "clobber") [(set_attr "length" "2")])
(set_attr "length" "2")])
(define_insn "*iorhi3_two_qi" (define_insn "*iorhi3_two_qi"
[(set (match_operand:HI 0 "register_operand" "=r") [(set (match_operand:HI 0 "register_operand" "=r")
...@@ -3209,8 +3153,7 @@ ...@@ -3209,8 +3153,7 @@
(const_int 8))))] (const_int 8))))]
"" ""
"mov.b\\t%s2,%t0" "mov.b\\t%s2,%t0"
[(set_attr "cc" "clobber") [(set_attr "length" "2")])
(set_attr "length" "2")])
(define_insn "*iorhi3_two_qi_mem" (define_insn "*iorhi3_two_qi_mem"
[(set (match_operand:HI 0 "register_operand" "=&r") [(set (match_operand:HI 0 "register_operand" "=&r")
...@@ -3219,8 +3162,7 @@ ...@@ -3219,8 +3162,7 @@
(const_int 8))))] (const_int 8))))]
"" ""
"mov.b\\t%X2,%t0\;mov.b\\t%X1,%s0" "mov.b\\t%X2,%t0\;mov.b\\t%X1,%s0"
[(set_attr "cc" "clobber") [(set_attr "length" "16")])
(set_attr "length" "16")])
(define_split (define_split
[(set (match_operand:HI 0 "register_operand" "") [(set (match_operand:HI 0 "register_operand" "")
...@@ -3243,8 +3185,7 @@ ...@@ -3243,8 +3185,7 @@
(const_int 16))))] (const_int 16))))]
"TARGET_H8300H || TARGET_H8300S" "TARGET_H8300H || TARGET_H8300S"
"mov.w\\t%f2,%e0" "mov.w\\t%f2,%e0"
[(set_attr "cc" "clobber") [(set_attr "length" "2")])
(set_attr "length" "2")])
(define_insn_and_split "*iorsi3_two_qi_zext" (define_insn_and_split "*iorsi3_two_qi_zext"
[(set (match_operand:SI 0 "register_operand" "=&r") [(set (match_operand:SI 0 "register_operand" "=&r")
...@@ -3272,8 +3213,7 @@ ...@@ -3272,8 +3213,7 @@
(const_int 16))))] (const_int 16))))]
"TARGET_H8300H || TARGET_H8300S" "TARGET_H8300H || TARGET_H8300S"
"mov.w\\t%e2,%f0" "mov.w\\t%e2,%f0"
[(set_attr "length" "2") [(set_attr "length" "2")])
(set_attr "cc" "clobber")])
(define_insn_and_split "*iorsi3_two_qi_sext" (define_insn_and_split "*iorsi3_two_qi_sext"
[(set (match_operand:SI 0 "register_operand" "=r") [(set (match_operand:SI 0 "register_operand" "=r")
...@@ -3299,8 +3239,7 @@ ...@@ -3299,8 +3239,7 @@
(zero_extend:SI (match_operand:QI 2 "general_operand_src" "r,g>"))))] (zero_extend:SI (match_operand:QI 2 "general_operand_src" "r,g>"))))]
"TARGET_H8300H || TARGET_H8300S" "TARGET_H8300H || TARGET_H8300S"
"mov.b\\t%X2,%w0" "mov.b\\t%X2,%w0"
[(set_attr "length" "2,8") [(set_attr "length" "2,8")])
(set_attr "cc" "clobber,clobber")])
(define_insn "*iorsi3_ashift_31" (define_insn "*iorsi3_ashift_31"
[(set (match_operand:SI 0 "register_operand" "=&r") [(set (match_operand:SI 0 "register_operand" "=&r")
...@@ -3329,8 +3268,7 @@ ...@@ -3329,8 +3268,7 @@
operands[3] = dstpos; operands[3] = dstpos;
return \"bld\\t%Z2,%Y1\;bor\\t%Z3,%Y0\;bst\\t%Z3,%Y0\"; return \"bld\\t%Z2,%Y1\;bor\\t%Z3,%Y0\;bst\\t%Z3,%Y0\";
}" }"
[(set_attr "length" "6") [(set_attr "length" "6")])
(set_attr "cc" "clobber")])
(define_insn "*iorsi3_and_lshiftrt" (define_insn "*iorsi3_and_lshiftrt"
[(set (match_operand:SI 0 "register_operand" "=r") [(set (match_operand:SI 0 "register_operand" "=r")
...@@ -3349,8 +3287,7 @@ ...@@ -3349,8 +3287,7 @@
operands[3] = dstpos; operands[3] = dstpos;
return \"bld\\t%Z2,%Y1\;bor\\t%Z3,%Y0\;bst\\t%Z3,%Y0\"; return \"bld\\t%Z2,%Y1\;bor\\t%Z3,%Y0\;bst\\t%Z3,%Y0\";
}" }"
[(set_attr "length" "6") [(set_attr "length" "6")])
(set_attr "cc" "clobber")])
(define_insn "*iorsi3_zero_extract" (define_insn "*iorsi3_zero_extract"
[(set (match_operand:SI 0 "register_operand" "=r") [(set (match_operand:SI 0 "register_operand" "=r")
...@@ -3361,8 +3298,7 @@ ...@@ -3361,8 +3298,7 @@
"(TARGET_H8300H || TARGET_H8300S) "(TARGET_H8300H || TARGET_H8300S)
&& INTVAL (operands[2]) < 16" && INTVAL (operands[2]) < 16"
"bld\\t%Z2,%Y1\;bor\\t#0,%w0\;bst\\t#0,%w0" "bld\\t%Z2,%Y1\;bor\\t#0,%w0\;bst\\t#0,%w0"
[(set_attr "length" "6") [(set_attr "length" "6")])
(set_attr "cc" "clobber")])
(define_insn "*iorsi3_and_lshiftrt_n_sb" (define_insn "*iorsi3_and_lshiftrt_n_sb"
[(set (match_operand:SI 0 "register_operand" "=r") [(set (match_operand:SI 0 "register_operand" "=r")
...@@ -3372,8 +3308,7 @@ ...@@ -3372,8 +3308,7 @@
(match_operand:SI 2 "register_operand" "0")))] (match_operand:SI 2 "register_operand" "0")))]
"(TARGET_H8300H || TARGET_H8300S)" "(TARGET_H8300H || TARGET_H8300S)"
"rotl.l\\t%S1\;rotr.l\\t%S1\;bor\\t#1,%w0\;bst\\t#1,%w0" "rotl.l\\t%S1\;rotr.l\\t%S1\;bor\\t#1,%w0\;bst\\t#1,%w0"
[(set_attr "length" "8") [(set_attr "length" "8")])
(set_attr "cc" "clobber")])
(define_insn "*iorsi3_and_lshiftrt_9_sb" (define_insn "*iorsi3_and_lshiftrt_9_sb"
[(set (match_operand:SI 0 "register_operand" "=r") [(set (match_operand:SI 0 "register_operand" "=r")
...@@ -3390,8 +3325,7 @@ ...@@ -3390,8 +3325,7 @@
else else
return \"rotl.l\\t%S1\;rotr.l\\t%S1\;xor.w\\t%T3,%T3\;bst\\t#6,%s3\;or.w\\t%T3,%e0\"; return \"rotl.l\\t%S1\;rotr.l\\t%S1\;xor.w\\t%T3,%T3\;bst\\t#6,%s3\;or.w\\t%T3,%e0\";
}" }"
[(set_attr "length" "10") [(set_attr "length" "10")])
(set_attr "cc" "clobber")])
;; Used to OR the exponent of a float. ;; Used to OR the exponent of a float.
...@@ -3456,8 +3390,7 @@ ...@@ -3456,8 +3390,7 @@
(const_int 1))))] (const_int 1))))]
"TARGET_H8300H || TARGET_H8300S" "TARGET_H8300H || TARGET_H8300S"
"shlr.l\\t%S0\;bor\\t#0,%w0\;bst\\t#0,%w0" "shlr.l\\t%S0\;bor\\t#0,%w0\;bst\\t#0,%w0"
[(set_attr "length" "6") [(set_attr "length" "6")])
(set_attr "cc" "clobber")])
(define_insn_and_split "*iorsi3_ashift_16_ashift_24" (define_insn_and_split "*iorsi3_ashift_16_ashift_24"
[(set (match_operand:SI 0 "register_operand" "=r") [(set (match_operand:SI 0 "register_operand" "=r")
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment