re PR target/89827 (ICE: in convert_op, at config/i386/i386.c:2098 with -Os -maes)

PR target/89827
	* config/i386/i386.c (dimode_scalar_chain::convert_reg):
	Also process XEXP (src, 0) of a shift insn.

testsuite/ChangeLog:

	PR target/89827
	* gcc.target/i386/pr89827.c: New test.

From-SVN: r269953
This commit is contained in:
Uros Bizjak 2019-03-26 19:59:14 +01:00 committed by Uros Bizjak
parent 9df23a66ce
commit a48d7fa698
4 changed files with 23 additions and 0 deletions

View file

@ -1,3 +1,9 @@
2019-03-26 Uroš Bizjak <ubizjak@gmail.com>
PR target/89827
* config/i386/i386.c (dimode_scalar_chain::convert_reg):
Also process XEXP (src, 0) of a shift insn.
2019-03-26 Richard Biener <rguenther@suse.de>
* tree-inline.c (remap_gimple_stmt): Cache gimple_block.

View file

@ -2040,6 +2040,7 @@ dimode_scalar_chain::convert_reg (unsigned regno)
emit_insn_before (seq, insn);
XEXP (src, 0) = replace_with_subreg (XEXP (src, 0), reg, reg);
XEXP (src, 1) = gen_rtx_SUBREG (DImode, tmp2, 0);
}
else if (!MEM_P (dst) || !REG_P (src))

View file

@ -1,3 +1,8 @@
2019-03-26 Uroš Bizjak <ubizjak@gmail.com>
PR target/89827
* gcc.target/i386/pr89827.c: New test.
2019-03-26 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* g++.dg/abi/lambda-static-1.C: Handle Solaris as comdat group

View file

@ -0,0 +1,11 @@
/* PR target/89827 */
/* { dg-do compile { target ia32 } } */
/* { dg-options "-O2 -msse2 -mstv -mno-stackrealign" } */
unsigned long long a;
void
foo (void)
{
a >>= (unsigned short) a;
}