This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/79480] -O3 and -mfpu=neon produces crashing code on ARM
- From: "tulipawn at gmail dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Sun, 12 Feb 2017 21:31:44 +0000
- Subject: [Bug target/79480] -O3 and -mfpu=neon produces crashing code on ARM
- Auto-submitted: auto-generated
- References: <bug-79480-4@http.gcc.gnu.org/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79480
--- Comment #2 from PeteVine <tulipawn at gmail dot com> ---
OK, having been built with:
-mcpu=cortex-a5 -O3 -ffast-math -marm -fomit-frame-pointer -fipa-pta
-mfpu=neon-vfpv4 -ftree-vectorize -flto -fsanitize=undefined
doesn't crash but prints many errors, e.g.:
3ds.cpp:111:8: runtime error: load of misaligned address 0x007de59a for type
'Uint32', which requires 4 byte alignment
0x007de59a: note: pointer points here
00 00 4d 4d 0d be 00 00 02 00 0a 00 00 00 03 00 00 00 3d 3d b9 ab 00 00 3e
3d 0a 00 00 00 03 00
^
3ds.cpp:111:8: runtime error: load of misaligned address 0x007de5aa for type
'Uint32', which requires 4 byte alignment
0x007de5aa: note: pointer points here
00 00 3d 3d b9 ab 00 00 3e 3d 0a 00 00 00 03 00 00 00 ff af fa 00 00 00 00
a0 14 00 00 00 30 31
^
3ds.cpp:125:8: runtime error: load of misaligned address 0x007de5e1 for type
'Uint16', which requires 2 byte alignment
0x007de5e1: note: pointer points here
00 96 96 96 20 a0 0f 00 00 00 11 00 09 00 00 00 96 96 96 30 a0 0f 00 00 00
11 00 09 00 00 00 e5
^
3ds.cpp:111:8: runtime error: load of misaligned address 0x007de5e3 for type
'Uint32', which requires 4 byte alignment
0x007de5e3: note: pointer points here
96 96 20 a0 0f 00 00 00 11 00 09 00 00 00 96 96 96 30 a0 0f 00 00 00 11 00
09 00 00 00 e5 e5 e5
^
3ds.cpp:125:8: runtime error: load of misaligned address 0x007de5e7 for type
'Uint16', which requires 2 byte alignment
0x007de5e7: note: pointer points here
0f 00 00 00 11 00 09 00 00 00 96 96 96 30 a0 0f 00 00 00 11 00 09 00 00 00
e5 e5 e5 40 a0 0e 00
LIBGL: warning, gles_glBlendFuncSeparate is NULL
main.cpp:4762:29: runtime error: index 256 out of bounds for type 'int [256]'
main.cpp:4762:10: runtime error: load of address 0x00427180 with insufficient
space for an object of type 'int'
0x00427180: note: pointer points here
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00
00 00 00 d8 2a 61 00
^
main.cpp:4783:35: runtime error: index 65536 out of bounds for type 'unsigned
char [65536]'
main.cpp:4783:37: runtime error: store to address 0x00407180 with insufficient
space for an object of type 'unsigned char'
0x00407180: note: pointer points here
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00
^
main.cpp:4784:39: runtime error: index 65537 out of bounds for type 'unsigned
char [65536]'
main.cpp:4784:41: runtime error: store to address 0x00407181 with insufficient
space for an object of type 'unsigned char'
0x00407181: note: pointer points here
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00
^
main.cpp:4785:39: runtime error: index 65538 out of bounds for type 'unsigned
char [65536]'
main.cpp:4785:41: runtime error: store to address 0x00407182 with insufficient
space for an object of type 'unsigned char'
0x00407182: note: pointer points here
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00
^
main.cpp:4786:39: runtime error: index 65539 out of bounds for type 'unsigned
char [65536]'
main.cpp:4786:41: runtime error: store to address 0x00407183 with insufficient
space for an object of type 'unsigned char'
0x00407183: note: pointer points here
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00
^
main.cpp:3384:44: runtime error: downcast of address 0x00cb3488 which does not
point to an object of type 'AIObj'
0x00cb3488: note: object is of type 'DynamicObj'
61 01 00 00 c4 2f 29 00 00 00 00 00 00 00 00 00 01 1b c8 00 00 00 80 3f 00
00 80 3f 00 00 00 3f
^~~~~~~~~~~
vptr for 'DynamicObj'
main.cpp:3385:19: runtime error: member access within address 0x00cc67d8 which
does not point to an object of type 'DynamicObj'
0x00cc67d8: note: object is of type 'CExplosion'
61 00 00 00 e4 43 29 00 00 00 00 00 00 00 00 00 00 00 00 00 cd cc cc 3d 00
00 80 3f 00 00 00 3f
^~~~~~~~~~~
vptr for 'CExplosion'