[Bug target/69532] New: FAIL: gcc.target/arm/vect-fmaxmin.c execution test on armv7
vries at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Thu Jan 28 11:53:00 GMT 2016
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
...
More information about the Gcc-bugs
mailing list