re PR target/46934 (gcc ICE: error: unrecognizable insn: in extract_insn, at recog.c:2109)
2011-03-23 Chung-Lin Tang <cltang@codesourcery.com> PR target/46934 * config/arm/arm.md (casesi): Use the gen_int_mode() function to subtract lower bound instead of GEN_INT(). testsuite/ * gcc.target/arm/pr46934.c: New. From-SVN: r171379
This commit is contained in:
parent
27deda791b
commit
4908b0bf1c
4 changed files with 33 additions and 1 deletions
|
@ -1,3 +1,9 @@
|
|||
2011-03-23 Chung-Lin Tang <cltang@codesourcery.com>
|
||||
|
||||
PR target/46934
|
||||
* config/arm/arm.md (casesi): Use the gen_int_mode() function
|
||||
to subtract lower bound instead of GEN_INT().
|
||||
|
||||
2011-03-23 Jonathan Wakely <jwakely.gcc@gmail.com>
|
||||
|
||||
PR other/48179
|
||||
|
|
|
@ -8354,7 +8354,8 @@
|
|||
rtx reg = gen_reg_rtx (SImode);
|
||||
|
||||
emit_insn (gen_addsi3 (reg, operands[0],
|
||||
GEN_INT (-INTVAL (operands[1]))));
|
||||
gen_int_mode (-INTVAL (operands[1]),
|
||||
SImode)));
|
||||
operands[0] = reg;
|
||||
}
|
||||
|
||||
|
|
|
@ -1,3 +1,7 @@
|
|||
2011-03-23 Chung-Lin Tang <cltang@codesourcery.com>
|
||||
|
||||
* gcc.target/arm/pr46934.c: New.
|
||||
|
||||
2011-03-23 Ian Lance Taylor <iant@google.com>
|
||||
|
||||
* go.test/go-test.exp (errchk): Ignore lines containing ////.
|
||||
|
|
21
gcc/testsuite/gcc.target/arm/pr46934.c
Normal file
21
gcc/testsuite/gcc.target/arm/pr46934.c
Normal file
|
@ -0,0 +1,21 @@
|
|||
/* { dg-do compile } */
|
||||
/* { dg-options "-march=armv5te -mthumb -Os" } */
|
||||
/* { dg-require-effective-target arm_thumb1_ok } */
|
||||
|
||||
int caller (unsigned int reg_type)
|
||||
{
|
||||
switch (reg_type)
|
||||
{
|
||||
case 0x80000000:
|
||||
return (int)foo();
|
||||
|
||||
case 0x80000003:
|
||||
return (int) bar();
|
||||
|
||||
case 0x80000001:
|
||||
return (int) baz();
|
||||
|
||||
case 0x80000004:
|
||||
return (int) fooz();
|
||||
}
|
||||
}
|
Loading…
Add table
Reference in a new issue