From fc3664b1ca571b89c2100d9f44f7d9ff70778a75 Mon Sep 17 00:00:00 2001 From: Uros Bizjak Date: Mon, 4 Sep 2017 20:28:20 +0200 Subject: [PATCH] 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 (*_mask): Add TARGET_USE_BT to insn constraint. (*btr_mask): Ditto. From-SVN: r251682 --- gcc/ChangeLog | 7 +++++++ gcc/config/i386/i386.md | 10 ++++++---- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 74bf4a07f98..e7e8c2319c2 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2017-09-04 Uros Bizjak + + PR target/82098 + * config/i386/i386.md (*_mask): Add + TARGET_USE_BT to insn constraint. + (*btr_mask): Ditto. + 2017-09-04 Wilco Dijkstra * 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 bf034795c8b..43227dc77ee 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)-1)) - == GET_MODE_BITSIZE (mode)-1 + "TARGET_USE_BT + && (INTVAL (operands[2]) & (GET_MODE_BITSIZE (mode)-1)) + == GET_MODE_BITSIZE (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)-1)) - == GET_MODE_BITSIZE (mode)-1 + "TARGET_USE_BT + && (INTVAL (operands[2]) & (GET_MODE_BITSIZE (mode)-1)) + == GET_MODE_BITSIZE (mode)-1 && can_create_pseudo_p ()" "#" "&& 1" -- 2.30.2