aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/rs6000/fusion.md
diff options
context:
space:
mode:
authorAaron Sawdey <acsawdey@linux.ibm.com>2021-06-02 22:54:08 -0500
committerAaron Sawdey <acsawdey@linux.ibm.com>2021-06-03 11:42:15 -0500
commit52e130652a76ff3d14c0f572fcd79fa53637ce2c (patch)
tree3aaf5949bd1ca62d6bef239562e5484a091f37a7 /gcc/config/rs6000/fusion.md
parent0614bbbe59c6953e088cffa39dfe63d86fc1fa96 (diff)
downloadgcc-52e130652a76ff3d14c0f572fcd79fa53637ce2c.zip
gcc-52e130652a76ff3d14c0f572fcd79fa53637ce2c.tar.gz
gcc-52e130652a76ff3d14c0f572fcd79fa53637ce2c.tar.bz2
Fix operand order to subf for p10 fusion.
This certainly causes a bootstrap miscompare, and might also be responsible for PR/100820. The operands to subf were reversed in the logical-add/sub fusion patterns, and I screwed up my bootstrap test which is how it ended up getting committed. gcc/ChangeLog * config/rs6000/genfusion.pl (gen_logical_addsubf): Fix input order to subf instruction. * config/rs6000/fusion.md: Regenerate.
Diffstat (limited to 'gcc/config/rs6000/fusion.md')
-rw-r--r--gcc/config/rs6000/fusion.md64
1 files changed, 32 insertions, 32 deletions
diff --git a/gcc/config/rs6000/fusion.md b/gcc/config/rs6000/fusion.md
index 5191210..e642ff5 100644
--- a/gcc/config/rs6000/fusion.md
+++ b/gcc/config/rs6000/fusion.md
@@ -1733,10 +1733,10 @@
(clobber (match_scratch:GPR 4 "=X,X,X,&r"))]
"(TARGET_P10_FUSION && TARGET_P10_FUSION_LOGADD)"
"@
- and %3,%1,%0\;subf %3,%3,%2
- and %3,%1,%0\;subf %3,%3,%2
- and %3,%1,%0\;subf %3,%3,%2
- and %4,%1,%0\;subf %3,%4,%2"
+ and %3,%1,%0\;subf %3,%2,%3
+ and %3,%1,%0\;subf %3,%2,%3
+ and %3,%1,%0\;subf %3,%2,%3
+ and %4,%1,%0\;subf %3,%2,%4"
[(set_attr "type" "fused_arith_logical")
(set_attr "cost" "6")
(set_attr "length" "8")])
@@ -1751,10 +1751,10 @@
(clobber (match_scratch:GPR 4 "=X,X,X,&r"))]
"(TARGET_P10_FUSION && TARGET_P10_FUSION_LOGADD)"
"@
- nand %3,%1,%0\;subf %3,%3,%2
- nand %3,%1,%0\;subf %3,%3,%2
- nand %3,%1,%0\;subf %3,%3,%2
- nand %4,%1,%0\;subf %3,%4,%2"
+ nand %3,%1,%0\;subf %3,%2,%3
+ nand %3,%1,%0\;subf %3,%2,%3
+ nand %3,%1,%0\;subf %3,%2,%3
+ nand %4,%1,%0\;subf %3,%2,%4"
[(set_attr "type" "fused_arith_logical")
(set_attr "cost" "6")
(set_attr "length" "8")])
@@ -1769,10 +1769,10 @@
(clobber (match_scratch:GPR 4 "=X,X,X,&r"))]
"(TARGET_P10_FUSION && TARGET_P10_FUSION_LOGADD)"
"@
- nor %3,%1,%0\;subf %3,%3,%2
- nor %3,%1,%0\;subf %3,%3,%2
- nor %3,%1,%0\;subf %3,%3,%2
- nor %4,%1,%0\;subf %3,%4,%2"
+ nor %3,%1,%0\;subf %3,%2,%3
+ nor %3,%1,%0\;subf %3,%2,%3
+ nor %3,%1,%0\;subf %3,%2,%3
+ nor %4,%1,%0\;subf %3,%2,%4"
[(set_attr "type" "fused_arith_logical")
(set_attr "cost" "6")
(set_attr "length" "8")])
@@ -1787,10 +1787,10 @@
(clobber (match_scratch:GPR 4 "=X,X,X,&r"))]
"(TARGET_P10_FUSION && TARGET_P10_FUSION_LOGADD)"
"@
- or %3,%1,%0\;subf %3,%3,%2
- or %3,%1,%0\;subf %3,%3,%2
- or %3,%1,%0\;subf %3,%3,%2
- or %4,%1,%0\;subf %3,%4,%2"
+ or %3,%1,%0\;subf %3,%2,%3
+ or %3,%1,%0\;subf %3,%2,%3
+ or %3,%1,%0\;subf %3,%2,%3
+ or %4,%1,%0\;subf %3,%2,%4"
[(set_attr "type" "fused_arith_logical")
(set_attr "cost" "6")
(set_attr "length" "8")])
@@ -1805,10 +1805,10 @@
(clobber (match_scratch:GPR 4 "=X,X,X,&r"))]
"(TARGET_P10_FUSION && TARGET_P10_FUSION_LOGADD)"
"@
- and %3,%1,%0\;subf %3,%2,%3
- and %3,%1,%0\;subf %3,%2,%3
- and %3,%1,%0\;subf %3,%2,%3
- and %4,%1,%0\;subf %3,%2,%4"
+ and %3,%1,%0\;subf %3,%3,%2
+ and %3,%1,%0\;subf %3,%3,%2
+ and %3,%1,%0\;subf %3,%3,%2
+ and %4,%1,%0\;subf %3,%4,%2"
[(set_attr "type" "fused_arith_logical")
(set_attr "cost" "6")
(set_attr "length" "8")])
@@ -1823,10 +1823,10 @@
(clobber (match_scratch:GPR 4 "=X,X,X,&r"))]
"(TARGET_P10_FUSION && TARGET_P10_FUSION_LOGADD)"
"@
- nand %3,%1,%0\;subf %3,%2,%3
- nand %3,%1,%0\;subf %3,%2,%3
- nand %3,%1,%0\;subf %3,%2,%3
- nand %4,%1,%0\;subf %3,%2,%4"
+ nand %3,%1,%0\;subf %3,%3,%2
+ nand %3,%1,%0\;subf %3,%3,%2
+ nand %3,%1,%0\;subf %3,%3,%2
+ nand %4,%1,%0\;subf %3,%4,%2"
[(set_attr "type" "fused_arith_logical")
(set_attr "cost" "6")
(set_attr "length" "8")])
@@ -1841,10 +1841,10 @@
(clobber (match_scratch:GPR 4 "=X,X,X,&r"))]
"(TARGET_P10_FUSION && TARGET_P10_FUSION_LOGADD)"
"@
- nor %3,%1,%0\;subf %3,%2,%3
- nor %3,%1,%0\;subf %3,%2,%3
- nor %3,%1,%0\;subf %3,%2,%3
- nor %4,%1,%0\;subf %3,%2,%4"
+ nor %3,%1,%0\;subf %3,%3,%2
+ nor %3,%1,%0\;subf %3,%3,%2
+ nor %3,%1,%0\;subf %3,%3,%2
+ nor %4,%1,%0\;subf %3,%4,%2"
[(set_attr "type" "fused_arith_logical")
(set_attr "cost" "6")
(set_attr "length" "8")])
@@ -1859,10 +1859,10 @@
(clobber (match_scratch:GPR 4 "=X,X,X,&r"))]
"(TARGET_P10_FUSION && TARGET_P10_FUSION_LOGADD)"
"@
- or %3,%1,%0\;subf %3,%2,%3
- or %3,%1,%0\;subf %3,%2,%3
- or %3,%1,%0\;subf %3,%2,%3
- or %4,%1,%0\;subf %3,%2,%4"
+ or %3,%1,%0\;subf %3,%3,%2
+ or %3,%1,%0\;subf %3,%3,%2
+ or %3,%1,%0\;subf %3,%3,%2
+ or %4,%1,%0\;subf %3,%4,%2"
[(set_attr "type" "fused_arith_logical")
(set_attr "cost" "6")
(set_attr "length" "8")])