Commit 4f60e9d3 by Segher Boessenkool Committed by Segher Boessenkool

rs6000.md (sminsi3, [...]): Delete.

2012-09-18  Segher Boessenkool  <segher@kernel.crashing.org>

gcc/
	* config/rs6000/rs6000.md (sminsi3, smaxsi3, uminsi3, umaxsi3):
	Delete.
	(abssi2, abs<mode>2_isel, nabs<mode>2_isel, abssi2_nopower,
	nabs_nopower): Delete.
	(absdi2, absdi2_internal, nabsdi2): Delete.
	(smindi3, smaxdi3, umindi3, umaxdi3): Delete.

From-SVN: r191450
parent 65c247ee
2012-09-18 Segher Boessenkool <segher@kernel.crashing.org>
* config/rs6000/rs6000.md (sminsi3, smaxsi3, uminsi3, umaxsi3):
Delete.
(abssi2, abs<mode>2_isel, nabs<mode>2_isel, abssi2_nopower,
nabs_nopower): Delete.
(absdi2, absdi2_internal, nabsdi2): Delete.
(smindi3, smaxdi3, umindi3, umaxdi3): Delete.
2012-09-18 Georg-Johann Lay <avr@gjlay.de> 2012-09-18 Georg-Johann Lay <avr@gjlay.de>
* config/avr/avr.md: Tidy up empty "". Fix C code indentation. * config/avr/avr.md: Tidy up empty "". Fix C code indentation.
......
...@@ -1796,154 +1796,6 @@ ...@@ -1796,154 +1796,6 @@
} }
}") }")
(define_expand "sminsi3"
[(set (match_dup 3)
(if_then_else:SI (gt:SI (match_operand:SI 1 "gpc_reg_operand" "")
(match_operand:SI 2 "reg_or_short_operand" ""))
(const_int 0)
(minus:SI (match_dup 2) (match_dup 1))))
(set (match_operand:SI 0 "gpc_reg_operand" "")
(minus:SI (match_dup 2) (match_dup 3)))]
"TARGET_ISEL"
"
{
operands[2] = force_reg (SImode, operands[2]);
rs6000_emit_minmax (operands[0], SMIN, operands[1], operands[2]);
DONE;
}")
(define_expand "smaxsi3"
[(set (match_dup 3)
(if_then_else:SI (gt:SI (match_operand:SI 1 "gpc_reg_operand" "")
(match_operand:SI 2 "reg_or_short_operand" ""))
(const_int 0)
(minus:SI (match_dup 2) (match_dup 1))))
(set (match_operand:SI 0 "gpc_reg_operand" "")
(plus:SI (match_dup 3) (match_dup 1)))]
"TARGET_ISEL"
"
{
operands[2] = force_reg (SImode, operands[2]);
rs6000_emit_minmax (operands[0], SMAX, operands[1], operands[2]);
DONE;
}")
(define_expand "uminsi3"
[(set (match_dup 3) (xor:SI (match_operand:SI 1 "gpc_reg_operand" "")
(match_dup 5)))
(set (match_dup 4) (xor:SI (match_operand:SI 2 "gpc_reg_operand" "")
(match_dup 5)))
(set (match_dup 3) (if_then_else:SI (gt (match_dup 3) (match_dup 4))
(const_int 0)
(minus:SI (match_dup 4) (match_dup 3))))
(set (match_operand:SI 0 "gpc_reg_operand" "")
(minus:SI (match_dup 2) (match_dup 3)))]
"TARGET_ISEL"
"
{
rs6000_emit_minmax (operands[0], UMIN, operands[1], operands[2]);
DONE;
}")
(define_expand "umaxsi3"
[(set (match_dup 3) (xor:SI (match_operand:SI 1 "gpc_reg_operand" "")
(match_dup 5)))
(set (match_dup 4) (xor:SI (match_operand:SI 2 "gpc_reg_operand" "")
(match_dup 5)))
(set (match_dup 3) (if_then_else:SI (gt (match_dup 3) (match_dup 4))
(const_int 0)
(minus:SI (match_dup 4) (match_dup 3))))
(set (match_operand:SI 0 "gpc_reg_operand" "")
(plus:SI (match_dup 3) (match_dup 1)))]
"TARGET_ISEL"
"
{
rs6000_emit_minmax (operands[0], UMAX, operands[1], operands[2]);
DONE;
}")
;; We don't need abs with condition code because such comparisons should
;; never be done.
(define_expand "abssi2"
[(set (match_operand:SI 0 "gpc_reg_operand" "")
(abs:SI (match_operand:SI 1 "gpc_reg_operand" "")))]
""
"
{
if (TARGET_ISEL)
{
emit_insn (gen_abssi2_isel (operands[0], operands[1]));
DONE;
}
else
{
emit_insn (gen_abssi2_nopower (operands[0], operands[1]));
DONE;
}
}")
(define_insn_and_split "abs<mode>2_isel"
[(set (match_operand:GPR 0 "gpc_reg_operand" "=r")
(abs:GPR (match_operand:GPR 1 "gpc_reg_operand" "b")))
(clobber (match_scratch:GPR 2 "=&b"))
(clobber (match_scratch:CC 3 "=y"))]
"TARGET_ISEL"
"#"
"&& reload_completed"
[(set (match_dup 2) (neg:GPR (match_dup 1)))
(set (match_dup 3)
(compare:CC (match_dup 1)
(const_int 0)))
(set (match_dup 0)
(if_then_else:GPR (lt (match_dup 3)
(const_int 0))
(match_dup 2)
(match_dup 1)))]
"")
(define_insn_and_split "nabs<mode>2_isel"
[(set (match_operand:GPR 0 "gpc_reg_operand" "=r")
(neg:GPR (abs:GPR (match_operand:GPR 1 "gpc_reg_operand" "b"))))
(clobber (match_scratch:GPR 2 "=&b"))
(clobber (match_scratch:CC 3 "=y"))]
"TARGET_ISEL"
"#"
"&& reload_completed"
[(set (match_dup 2) (neg:GPR (match_dup 1)))
(set (match_dup 3)
(compare:CC (match_dup 1)
(const_int 0)))
(set (match_dup 0)
(if_then_else:GPR (lt (match_dup 3)
(const_int 0))
(match_dup 1)
(match_dup 2)))]
"")
(define_insn_and_split "abssi2_nopower"
[(set (match_operand:SI 0 "gpc_reg_operand" "=&r,r")
(abs:SI (match_operand:SI 1 "gpc_reg_operand" "r,0")))
(clobber (match_scratch:SI 2 "=&r,&r"))]
"! TARGET_ISEL"
"#"
"&& reload_completed"
[(set (match_dup 2) (ashiftrt:SI (match_dup 1) (const_int 31)))
(set (match_dup 0) (xor:SI (match_dup 2) (match_dup 1)))
(set (match_dup 0) (minus:SI (match_dup 0) (match_dup 2)))]
"")
(define_insn_and_split "*nabs_nopower"
[(set (match_operand:SI 0 "gpc_reg_operand" "=&r,r")
(neg:SI (abs:SI (match_operand:SI 1 "gpc_reg_operand" "r,0"))))
(clobber (match_scratch:SI 2 "=&r,&r"))]
""
"#"
"&& reload_completed"
[(set (match_dup 2) (ashiftrt:SI (match_dup 1) (const_int 31)))
(set (match_dup 0) (xor:SI (match_dup 2) (match_dup 1)))
(set (match_dup 0) (minus:SI (match_dup 2) (match_dup 0)))]
"")
(define_expand "neg<mode>2" (define_expand "neg<mode>2"
[(set (match_operand:SDI 0 "gpc_reg_operand" "") [(set (match_operand:SDI 0 "gpc_reg_operand" "")
(neg:SDI (match_operand:SDI 1 "gpc_reg_operand" "")))] (neg:SDI (match_operand:SDI 1 "gpc_reg_operand" "")))]
...@@ -6374,43 +6226,6 @@ ...@@ -6374,43 +6226,6 @@
;; PowerPC64 DImode operations. ;; PowerPC64 DImode operations.
(define_expand "absdi2"
[(set (match_operand:DI 0 "gpc_reg_operand" "")
(abs:DI (match_operand:DI 1 "gpc_reg_operand" "")))]
"TARGET_POWERPC64"
"
{
if (TARGET_ISEL)
emit_insn (gen_absdi2_isel (operands[0], operands[1]));
else
emit_insn (gen_absdi2_internal (operands[0], operands[1]));
DONE;
}")
(define_insn_and_split "absdi2_internal"
[(set (match_operand:DI 0 "gpc_reg_operand" "=&r,r")
(abs:DI (match_operand:DI 1 "gpc_reg_operand" "r,0")))
(clobber (match_scratch:DI 2 "=&r,&r"))]
"TARGET_POWERPC64 && !TARGET_ISEL"
"#"
"&& reload_completed"
[(set (match_dup 2) (ashiftrt:DI (match_dup 1) (const_int 63)))
(set (match_dup 0) (xor:DI (match_dup 2) (match_dup 1)))
(set (match_dup 0) (minus:DI (match_dup 0) (match_dup 2)))]
"")
(define_insn_and_split "*nabsdi2"
[(set (match_operand:DI 0 "gpc_reg_operand" "=&r,r")
(neg:DI (abs:DI (match_operand:DI 1 "gpc_reg_operand" "r,0"))))
(clobber (match_scratch:DI 2 "=&r,&r"))]
"TARGET_POWERPC64 && !TARGET_ISEL"
"#"
"&& reload_completed"
[(set (match_dup 2) (ashiftrt:DI (match_dup 1) (const_int 63)))
(set (match_dup 0) (xor:DI (match_dup 2) (match_dup 1)))
(set (match_dup 0) (minus:DI (match_dup 2) (match_dup 0)))]
"")
(define_insn "muldi3" (define_insn "muldi3"
[(set (match_operand:DI 0 "gpc_reg_operand" "=r,r") [(set (match_operand:DI 0 "gpc_reg_operand" "=r,r")
(mult:DI (match_operand:DI 1 "gpc_reg_operand" "%r,r") (mult:DI (match_operand:DI 1 "gpc_reg_operand" "%r,r")
...@@ -7786,51 +7601,6 @@ ...@@ -7786,51 +7601,6 @@
(const_int 0)))] (const_int 0)))]
"") "")
(define_expand "smindi3"
[(match_operand:DI 0 "gpc_reg_operand" "")
(match_operand:DI 1 "gpc_reg_operand" "")
(match_operand:DI 2 "gpc_reg_operand" "")]
"TARGET_ISEL64"
"
{
rs6000_emit_minmax (operands[0], SMIN, operands[1], operands[2]);
DONE;
}")
(define_expand "smaxdi3"
[(match_operand:DI 0 "gpc_reg_operand" "")
(match_operand:DI 1 "gpc_reg_operand" "")
(match_operand:DI 2 "gpc_reg_operand" "")]
"TARGET_ISEL64"
"
{
rs6000_emit_minmax (operands[0], SMAX, operands[1], operands[2]);
DONE;
}")
(define_expand "umindi3"
[(match_operand:DI 0 "gpc_reg_operand" "")
(match_operand:DI 1 "gpc_reg_operand" "")
(match_operand:DI 2 "gpc_reg_operand" "")]
"TARGET_ISEL64"
"
{
rs6000_emit_minmax (operands[0], UMIN, operands[1], operands[2]);
DONE;
}")
(define_expand "umaxdi3"
[(match_operand:DI 0 "gpc_reg_operand" "")
(match_operand:DI 1 "gpc_reg_operand" "")
(match_operand:DI 2 "gpc_reg_operand" "")]
"TARGET_ISEL64"
"
{
rs6000_emit_minmax (operands[0], UMAX, operands[1], operands[2]);
DONE;
}")
;; Now define ways of moving data around. ;; Now define ways of moving data around.
;; Set up a register with a value from the GOT table ;; Set up a register with a value from the GOT table
......
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