This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: patch to fix PR60969
- From: Ramana Radhakrishnan <ramana dot gcc at googlemail dot com>
- To: Vladimir Makarov <vmakarov at redhat dot com>
- Cc: James Greenhalgh <james dot greenhalgh at arm dot com>, GCC Patches <gcc-patches at gcc dot gnu dot org>
- Date: Thu, 22 May 2014 10:18:52 +0100
- Subject: Re: patch to fix PR60969
- Authentication-results: sourceware.org; auth=none
- References: <53764FB9 dot 6000000 at redhat dot com> <20140519213711 dot GA7349 at arm dot com> <537B68BB dot 1090201 at redhat dot com>
- Reply-to: ramrad01 at arm dot com
>>> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60969
>> FAIL: gcc.target/aarch64/table-intrinsics.c (internal compiler error)
>> FAIL: gcc.target/aarch64/table-intrinsics.c (test for excess errors)
>> Excess errors:
>> /work/gcc-clean/src/gcc/gcc/testsuite/gcc.target/aarch64/table-intrinsics.c:172:1: internal compiler error: Max. number of generated reload insns per insn is achieved (90)
>> 0x8923cd lra_constraints(bool)
>> /work/gcc-clean/src/gcc/gcc/lra-constraints.c:4140
>> 0x882f62 lra(_IO_FILE*)
>> /work/gcc-clean/src/gcc/gcc/lra.c:2353
>> 0x8453f6 do_reload
>> /work/gcc-clean/src/gcc/gcc/ira.c:5457
>> 0x8453f6 execute
>> /work/gcc-clean/src/gcc/gcc/ira.c:5618
>>
>>
> Sorry, I have no aarch64 machine. Could you sent me the pre-processed
> file of the test.
Please find inline a reduced testcase that fails.
Compiler configured with
$SRC/gcc/configure --target=aarch64-none-elf
$>./xgcc -B`pwd` -S -O2 try.c
try.c: In function 'qtbl_tests8_2':
try.c:26:1: internal compiler error: Max. number of generated reload
insns per insn is achieved (90)
}
^
0x8653f7 lra_constraints(bool)
/work/wa1/src/gcc/gcc/lra-constraints.c:4140
0x855ca6 lra(_IO_FILE*)
/work/wa1/src/gcc/gcc/lra.c:2353
0x81eada do_reload
/work/wa1/src/gcc/gcc/ira.c:5457
0x81eada execute
/work/wa1/src/gcc/gcc/ira.c:5618
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <http://gcc.gnu.org/bugs.html> for instructions.
compilation status=1
$>cat try.c
typedef __builtin_aarch64_simd_qi int8x8_t
__attribute__ ((__vector_size__ (8)));
typedef __builtin_aarch64_simd_uqi uint8x8_t
__attribute__ ((__vector_size__ (8)));
typedef __builtin_aarch64_simd_qi int8x16_t
__attribute__ ((__vector_size__ (16)));
typedef struct int8x16x2_t
{
int8x16_t val[2];
} int8x16x2_t;
__extension__ static __inline int8x8_t __attribute__ ((__always_inline__))
vqtbl2_s8 (int8x16x2_t tab, uint8x8_t idx)
{
int8x8_t result;
__asm__ ("ld1 {v16.16b, v17.16b}, %1\n\t"
:"=w"(result)
:"Q"(tab),"w"(idx)
:"memory", "v16", "v17");
return result;
}
int8x8_t
qtbl_tests8_2 (int8x16x2_t tab, uint8x8_t idx)
{
return vqtbl2_s8 (tab, idx);
}
>
>