[Patch] Teach genrecog/genoutput that scratch registers require write constraint modifiers
Andreas Schwab
schwab@linux-m68k.org
Sat Sep 20 07:10:00 GMT 2014
Tested on ia64-suse-linux and checked in as obvious.
Andreas.
* config/ia64/ia64.md: Remove constraints from define_split
patterns.
diff --git a/gcc/config/ia64/ia64.md b/gcc/config/ia64/ia64.md
index 986ef02..572870f 100644
--- a/gcc/config/ia64/ia64.md
+++ b/gcc/config/ia64/ia64.md
@@ -2565,7 +2565,7 @@
[(set (match_operand:TI 0 "register_operand" "")
(minus:TI (match_operand:TI 1 "register_operand" "")
(match_operand:TI 2 "register_operand" "")))
- (clobber (match_scratch:BI 3 "=&c"))]
+ (clobber (match_scratch:BI 3 ""))]
"reload_completed"
[(set (match_dup 0) (minus:DI (match_dup 1) (match_dup 2)))
(set (match_dup 3) (ltu:BI (match_dup 1) (match_dup 0)))
@@ -2587,7 +2587,7 @@
[(set (match_operand:TI 0 "register_operand" "")
(minus:TI (match_operand:TI 1 "immediate_operand" "")
(match_operand:TI 2 "register_operand" "")))
- (clobber (match_scratch:BI 3 "=&c"))]
+ (clobber (match_scratch:BI 3 ""))]
"reload_completed && satisfies_constraint_K (operands[1])"
[(set (match_dup 0) (minus:DI (match_dup 1) (match_dup 2)))
(set (match_dup 3) (gtu:BI (match_dup 0) (match_dup 1)))
@@ -4152,7 +4152,7 @@
[(set (match_operand:DI 0 "register_operand" "")
(if_then_else:DI
(match_operator 4 "predicate_operator"
- [(match_operand:BI 1 "register_operand" "c,c")
+ [(match_operand:BI 1 "register_operand" "")
(const_int 0)])
(neg:DI (match_operand:DI 2 "gr_reg_or_22bit_operand" ""))
(match_operand:DI 3 "gr_reg_or_22bit_operand" "")))]
@@ -4167,7 +4167,7 @@
[(set (match_operand:DI 0 "register_operand" "")
(if_then_else:DI
(match_operator 4 "predicate_operator"
- [(match_operand:BI 1 "register_operand" "c,c")
+ [(match_operand:BI 1 "register_operand" "")
(const_int 0)])
(neg:DI (match_operand:DI 2 "gr_reg_or_22bit_operand" ""))
(match_operand:DI 3 "gr_reg_or_22bit_operand" "")))]
@@ -4220,7 +4220,7 @@
[(set (match_operand:SI 0 "register_operand" "")
(if_then_else:SI
(match_operator 4 "predicate_operator"
- [(match_operand:BI 1 "register_operand" "c,c")
+ [(match_operand:BI 1 "register_operand" "")
(const_int 0)])
(neg:SI (match_operand:SI 2 "gr_reg_or_22bit_operand" ""))
(match_operand:SI 3 "gr_reg_or_22bit_operand" "")))]
@@ -4235,7 +4235,7 @@
[(set (match_operand:SI 0 "register_operand" "")
(if_then_else:SI
(match_operator 4 "predicate_operator"
- [(match_operand:BI 1 "register_operand" "c,c")
+ [(match_operand:BI 1 "register_operand" "")
(const_int 0)])
(neg:SI (match_operand:SI 2 "gr_reg_or_22bit_operand" ""))
(match_operand:SI 3 "gr_reg_or_22bit_operand" "")))]
--
2.1.0
--
Andreas Schwab, schwab@linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
"And now for something completely different."
More information about the Gcc-patches
mailing list