This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/52855] ARM: Internal compiler error: in extract_insn, at recog.c:2109
- From: "stemidts at cisco dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Fri, 16 Nov 2012 09:48:36 +0000
- Subject: [Bug target/52855] ARM: Internal compiler error: in extract_insn, at recog.c:2109
- Auto-submitted: auto-generated
- References: <bug-52855-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52855
Steinar Midtskogen <stemidts at cisco dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |stemidts at cisco dot com
--- Comment #4 from Steinar Midtskogen <stemidts at cisco dot com> 2012-11-16 09:48:36 UTC ---
I've run into the same bug. The code below reproduces it:
#include <arm_neon.h>
static const __attribute__((aligned(16)))
int16_t c[][2][8] =
{
{ { 0 }, { 0 } }, { { 0 }, { 0 } }, { { 0 }, { 0 } }, { { 0 }, { 0 } },
{ { 0 }, { 0 } }, { { 0 }, { 0 } }, { { 0 }, { 0 } }, { { 0 }, { 0 } }
};
int16x8_t test2(int off)
{
return vld1q_u8((uint8_t*)c[off][0]);
}
int16x8_t test(int off, uint8_t **c)
{
static int8_t m[] = { 1, 2, 3 };
long long cf = m[off];
return vld1q_u8((uint8_t*)c[cf]);
}
Version: 4.6.3
Options: -mapcs-frame -mfloat-abi=softfp -mfpu=neon -flax-vector-conversions
-O1
Changing "long long cf" into "int cf" eliminates the crash.