aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorUros Bizjak <ubizjak@gmail.com>2017-09-04 20:28:20 +0200
committerUros Bizjak <uros@gcc.gnu.org>2017-09-04 20:28:20 +0200
commitfc3664b1ca571b89c2100d9f44f7d9ff70778a75 (patch)
tree0864fe754b1887482bd151b4c6acbf3e15dc3ce4 /gcc
parentc9244494c07bce8ef0c7830b101eb94e9eff3bc0 (diff)
downloadgcc-fc3664b1ca571b89c2100d9f44f7d9ff70778a75.zip
gcc-fc3664b1ca571b89c2100d9f44f7d9ff70778a75.tar.gz
gcc-fc3664b1ca571b89c2100d9f44f7d9ff70778a75.tar.bz2
re PR target/82098 (internal compiler error: in elimination_costs_in_insn, at reload1.c:3616, -march=i686)
PR target/82098 * config/i386/i386.md (*<btsc><mode>_mask): Add TARGET_USE_BT to insn constraint. (*btr<mode>_mask): Ditto. From-SVN: r251682
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/config/i386/i386.md10
2 files changed, 13 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 74bf4a0..e7e8c23 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,10 @@
+2017-09-04 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/82098
+ * config/i386/i386.md (*<btsc><mode>_mask): Add
+ TARGET_USE_BT to insn constraint.
+ (*btr<mode>_mask): Ditto.
+
2017-09-04 Wilco Dijkstra <wdijkstr@arm.com>
* config/arm/arm.c (arm_legitimate_index_p): Add comment.
diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md
index bf03479..43227dc 100644
--- a/gcc/config/i386/i386.md
+++ b/gcc/config/i386/i386.md
@@ -11033,8 +11033,9 @@
(match_operand:SI 2 "const_int_operand")) 0))
(match_operand:SWI48 3 "register_operand")))
(clobber (reg:CC FLAGS_REG))]
- "(INTVAL (operands[2]) & (GET_MODE_BITSIZE (<MODE>mode)-1))
- == GET_MODE_BITSIZE (<MODE>mode)-1
+ "TARGET_USE_BT
+ && (INTVAL (operands[2]) & (GET_MODE_BITSIZE (<MODE>mode)-1))
+ == GET_MODE_BITSIZE (<MODE>mode)-1
&& can_create_pseudo_p ()"
"#"
"&& 1"
@@ -11073,8 +11074,9 @@
(match_operand:SI 2 "const_int_operand")) 0))
(match_operand:SWI48 3 "register_operand")))
(clobber (reg:CC FLAGS_REG))]
- "(INTVAL (operands[2]) & (GET_MODE_BITSIZE (<MODE>mode)-1))
- == GET_MODE_BITSIZE (<MODE>mode)-1
+ "TARGET_USE_BT
+ && (INTVAL (operands[2]) & (GET_MODE_BITSIZE (<MODE>mode)-1))
+ == GET_MODE_BITSIZE (<MODE>mode)-1
&& can_create_pseudo_p ()"
"#"
"&& 1"