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

Reply via email to