https://gcc.gnu.org/bugzilla/show_bug.cgi?id=126082
Bug ID: 126082
Summary: arm_fp16_no_nocache target broken
Product: gcc
Version: 15.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: testsuite
Assignee: rearnsha at gcc dot gnu.org
Reporter: clyon at gcc dot gnu.org
Target Milestone: ---
Target: arm
I've noticed at least two problems with arm_fp16_ok_nocache effective-target:
- when running the testsuite with -mfpu=auto in RUNTESTFLAGS / target-board,
arm_fp16_ok_nocache returns 0 because -mfpu=auto is rejected by the first
filter (it doesn't match any of the white-listed FPUs).
Adding -mfpu=auto to the list enables more tests to pass (e.g. vfp19.c)
- running the vfp19.c test with
-mthumb/-march=armv7e-m+fp.dp/-mtune=cortex-m7/-mfloat-abi=hard/-mfpu=auto
(and -mfpu=auto added to the white-list in arm_fp16_ok_nocache) results in the
testcase being compiled with
-mthumb -march=armv7e-m+fp.dp -mtune=cortex-m7 -mfloat-abi=hard -mfpu=auto
-mfpu=vfpv4 -mfp16-format=ieee
where arm_fp_ok_nocache adds -mfpu=vfpv4 which is not compatible with M-profile
(16 FPU regs vs 32 in vfpv4), making GCC generate code incompatible with
cortex-m7, and the test fails at execution time on
vmov d17, r0, r1