mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-04-13 23:21:36 +08:00
re PR target/24367 (unrecognizable insn with -fPIC -O2 -funroll-loops)
2006-08-31 Andreas Krebbel <krebbel1@de.ibm.com> PR target/24367 * config/s390/s390.md ("movsi", "movdi" expander): Accept rtxes like r12 + SYMBOLIC_CONST. 2006-08-31 Andreas Krebbel <krebbel1@de.ibm.com> PR target/24367 * gcc.dg/pr24367.c: New testcase. From-SVN: r116599
This commit is contained in:
parent
99cdbefb97
commit
e4f2cd43ec
@ -1,3 +1,9 @@
|
||||
2006-08-31 Andreas Krebbel <krebbel1@de.ibm.com>
|
||||
|
||||
PR target/24367
|
||||
* config/s390/s390.md ("movsi", "movdi" expander): Accept rtxes like
|
||||
r12 + SYMBOLIC_CONST.
|
||||
|
||||
2006-08-30 Richard Guenther <rguenther@suse.de>
|
||||
|
||||
* Makefile.in (see.o): Add $(EXPR_H) dependency.
|
||||
|
@ -907,7 +907,11 @@
|
||||
""
|
||||
{
|
||||
/* Handle symbolic constants. */
|
||||
if (TARGET_64BIT && SYMBOLIC_CONST (operands[1]))
|
||||
if (TARGET_64BIT
|
||||
&& (SYMBOLIC_CONST (operands[1])
|
||||
|| (GET_CODE (operands[1]) == PLUS
|
||||
&& XEXP (operands[1], 0) == pic_offset_table_rtx
|
||||
&& SYMBOLIC_CONST (XEXP (operands[1], 1)))))
|
||||
emit_symbolic_move (operands);
|
||||
})
|
||||
|
||||
@ -1158,7 +1162,11 @@
|
||||
""
|
||||
{
|
||||
/* Handle symbolic constants. */
|
||||
if (!TARGET_64BIT && SYMBOLIC_CONST (operands[1]))
|
||||
if (!TARGET_64BIT
|
||||
&& (SYMBOLIC_CONST (operands[1])
|
||||
|| (GET_CODE (operands[1]) == PLUS
|
||||
&& XEXP (operands[1], 0) == pic_offset_table_rtx
|
||||
&& SYMBOLIC_CONST (XEXP(operands[1], 1)))))
|
||||
emit_symbolic_move (operands);
|
||||
})
|
||||
|
||||
|
@ -1,3 +1,8 @@
|
||||
2006-08-31 Andreas Krebbel <krebbel1@de.ibm.com>
|
||||
|
||||
PR target/24367
|
||||
* gcc.dg/pr24367.c: New testcase.
|
||||
|
||||
2006-08-30 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
* gcc.dg/arm-mmx-1.c: Skip for -mfloat-abi=softfp.
|
||||
|
17
gcc/testsuite/gcc.dg/pr24367.c
Normal file
17
gcc/testsuite/gcc.dg/pr24367.c
Normal file
@ -0,0 +1,17 @@
|
||||
/* { dg-do compile { target fpic } } */
|
||||
/* { dg-options "-O2 -fPIC -funroll-loops" } */
|
||||
|
||||
char *
|
||||
test (const char *parent, const char *child)
|
||||
{
|
||||
static char rtn_path[1024];
|
||||
char *s = rtn_path;
|
||||
char *s_end = rtn_path + sizeof (rtn_path);
|
||||
const char *s2 = child;
|
||||
|
||||
while (*s != '\0')
|
||||
s++;
|
||||
while ((s < s_end) && (*s2 != '\0'))
|
||||
*s++ = *s2++;
|
||||
return (rtn_path);
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user