Hi all,
I'm seeing the fails:
FAIL: gcc.target/arm/atomic_loaddi_2.c scan-assembler-times ldrd\tr[0-9]+, r[0-9]+, \\[r[0-9]+\\] 1
FAIL: gcc.target/arm/atomic_loaddi_5.c scan-assembler-times ldrd\tr[0-9]+, r[0-9]+, \\[r[0-9]+\\] 1
FAIL: gcc.target/arm/atomic_loaddi_8.c scan-assembler-times ldrd\tr[0-9]+, r[0-9]+, \\[r[0-9]+\\] 1
when testing an arm multilib with /-march=armv7-a.
The tests have an effective target check for armv7ve but it doesn't work because
under the hood the check is the same as for armv7-a, that is it checks for the __ARM_ARCH_7A__
predefine which is set for both march values.
To check for armv7ve using predefines we need to check for both __ARM_ARCH_7A__ and for the hardware
integer division predefine, making armv7ve special.
So this patch separates the effective target check definition from the rest of the architectures
and defines it appropriately.
With this patch the aforementioned tests appear UNSUPPORTED when testing the /-march=armv7-a multilib.
Ok for trunk?
Thanks,
Kyrill
2016-03-02 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
* lib/target-supports.exp: Remove v7ve entry from loop
creating effective target checks.
(check_effective_target_arm_arch_v7ve_ok): New procedure.
(add_options_for_arm_arch_v7ve): Likewise.