diff options
author | Uros Bizjak <ubizjak@gmail.com> | 2017-09-04 20:28:20 +0200 |
---|---|---|
committer | Uros Bizjak <uros@gcc.gnu.org> | 2017-09-04 20:28:20 +0200 |
commit | fc3664b1ca571b89c2100d9f44f7d9ff70778a75 (patch) | |
tree | 0864fe754b1887482bd151b4c6acbf3e15dc3ce4 /gcc | |
parent | c9244494c07bce8ef0c7830b101eb94e9eff3bc0 (diff) | |
download | gcc-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/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/config/i386/i386.md | 10 |
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" |