re PR rtl-optimization/65693 (ICE in assign_by_spills, at lra-assigns.c:1419)
PR target/65693 * config/i386/i386.md (*udivmod<mode>4_pow2): Allow any pow2 integer in between 2 and 0x80000000U inclusive. * gcc.target/i386/pr65693.c: New test. From-SVN: r221942
This commit is contained in:
parent
9a165842d1
commit
da0b9df9a8
4 changed files with 25 additions and 1 deletions
|
@ -1,3 +1,9 @@
|
|||
2015-04-09 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR target/65693
|
||||
* config/i386/i386.md (*udivmod<mode>4_pow2): Allow
|
||||
any pow2 integer in between 2 and 0x80000000U inclusive.
|
||||
|
||||
2015-04-08 Segher Boessenkool <segher@kernel.crashing.org>
|
||||
|
||||
PR rtl-optimization/65693
|
||||
|
|
|
@ -7340,7 +7340,7 @@
|
|||
(set (match_operand:SWI48 1 "register_operand" "=r")
|
||||
(umod:SWI48 (match_dup 2) (match_dup 3)))
|
||||
(clobber (reg:CC FLAGS_REG))]
|
||||
"UINTVAL (operands[3]) - 2 < <MODE_SIZE> * BITS_PER_UNIT
|
||||
"IN_RANGE (INTVAL (operands[3]), 2, HOST_WIDE_INT_UC (0x80000000))
|
||||
&& (UINTVAL (operands[3]) & (UINTVAL (operands[3]) - 1)) == 0"
|
||||
"#"
|
||||
"&& 1"
|
||||
|
|
|
@ -1,3 +1,8 @@
|
|||
2015-04-09 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR target/65693
|
||||
* gcc.target/i386/pr65693.c: New test.
|
||||
|
||||
2015-04-08 Ilya Enkovich <ilya.enkovich@intel.com>
|
||||
|
||||
* gcc.dg/lto/chkp-static-bounds_0.c: New.
|
||||
|
|
13
gcc/testsuite/gcc.target/i386/pr65693.c
Normal file
13
gcc/testsuite/gcc.target/i386/pr65693.c
Normal file
|
@ -0,0 +1,13 @@
|
|||
/* PR target/65693 */
|
||||
/* { dg-do compile } */
|
||||
/* { dg-options "-O2" } */
|
||||
|
||||
int a;
|
||||
|
||||
void
|
||||
foo (int (*fn) (int, int, int), unsigned int b)
|
||||
{
|
||||
unsigned long *c = (unsigned long *) __builtin_alloca (b);
|
||||
a = *c;
|
||||
register int d asm ("edx") = fn (0, 0, d);
|
||||
}
|
Loading…
Add table
Reference in a new issue