https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69532
Bug ID: 69532 Summary: FAIL: gcc.target/arm/vect-fmaxmin.c execution test on armv7 Product: gcc Version: 6.0 Status: UNCONFIRMED Severity: trivial Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: vries at gcc dot gnu.org Target Milestone: --- The testcase contains an effective target test: ... /* { dg-require-effective-target arm_v8_neon_ok } */ ... But that test just checks compilation: ... # Return 1 if this is an ARM target supporting -mfpu=neon-fp-armv8 # -mfloat-abi=softfp or equivalent options. Some multilibs may be # incompatible with these options. Also set et_arm_v8_neon_flags to the # best options to add. proc check_effective_target_arm_v8_neon_ok_nocache { } { global et_arm_v8_neon_flags set et_arm_v8_neon_flags "" if { [check_effective_target_arm32] } { foreach flags {"" "-mfloat-abi=softfp" "-mfpu=neon-fp-armv8" "-mfpu=neon-fp-armv8 -mfloat-abi=softfp"} { if { [check_no_compiler_messages_nocache arm_v8_neon_ok object { #if __ARM_ARCH < 8 #error not armv8 or later #endif #include "arm_neon.h" void foo () { __asm__ volatile ("vrintn.f32 q0, q0"); } } "$flags -march=armv8-a"] } { set et_arm_v8_neon_flags $flags return 1 } } } return 0 } ... Compiling goes fine, but execution fails: ... Program received signal SIGILL, Illegal instruction. 0x000085b8 in test_fmaxf (r=r@entry=0xbefff3a0, a=a@entry=0xbefff380, b=b@entry=0xbefff390) at src/gcc/testsuite/gcc.target/arm/fmaxmin.x:22 22 DEF_MAXMIN (float, fmaxf) (gdb) display/i $pc 1: x/i $pc => 0x85b8 <test_fmaxf+8>: vmaxnm.f32 q8, q8, q9 ...