re PR target/84860 (ICE in emit_move_insn, at expr.c:3717)
PR target/84860 * optabs.c (emit_conditional_move): Pass address of cmode's copy rather than address of cmode as last argument to prepare_cmp_insn. * gcc.c-torture/compile/pr84860.c: New test. From-SVN: r258552
This commit is contained in:
parent
c36b04c146
commit
fa7dde7ea2
@ -1,3 +1,9 @@
|
||||
2018-03-15 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR target/84860
|
||||
* optabs.c (emit_conditional_move): Pass address of cmode's copy
|
||||
rather than address of cmode as last argument to prepare_cmp_insn.
|
||||
|
||||
2018-03-15 Julia Koval <julia.koval@intel.com>
|
||||
|
||||
* config/i386/i386.c (F_AVX512VBMI2, F_GFNI, F_VPCLMULQDQ,
|
||||
|
@ -4345,9 +4345,10 @@ emit_conditional_move (rtx target, enum rtx_code code, rtx op0, rtx op1,
|
||||
save_pending_stack_adjust (&save);
|
||||
last = get_last_insn ();
|
||||
do_pending_stack_adjust ();
|
||||
machine_mode cmpmode = cmode;
|
||||
prepare_cmp_insn (XEXP (comparison, 0), XEXP (comparison, 1),
|
||||
GET_CODE (comparison), NULL_RTX, unsignedp,
|
||||
OPTAB_WIDEN, &comparison, &cmode);
|
||||
OPTAB_WIDEN, &comparison, &cmpmode);
|
||||
if (comparison)
|
||||
{
|
||||
struct expand_operand ops[4];
|
||||
|
@ -1,3 +1,8 @@
|
||||
2018-03-15 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR target/84860
|
||||
* gcc.c-torture/compile/pr84860.c: New test.
|
||||
|
||||
2018-03-15 Julia Koval <julia.koval@intel.com>
|
||||
|
||||
* gcc.target/i386/builtin_target.c (check_intel_cpu_model): Add
|
||||
|
11
gcc/testsuite/gcc.c-torture/compile/pr84860.c
Normal file
11
gcc/testsuite/gcc.c-torture/compile/pr84860.c
Normal file
@ -0,0 +1,11 @@
|
||||
/* PR target/84860 */
|
||||
|
||||
void
|
||||
foo (int x, int y)
|
||||
{
|
||||
while (x < 1)
|
||||
{
|
||||
x = y;
|
||||
y = ((float)1 / 0) ? 2 : 0;
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user