diff options
-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" |