diff options
author | Christophe Lyon <christophe.lyon@foss.st.com> | 2021-07-15 12:57:18 +0000 |
---|---|---|
committer | Christophe Lyon <christophe.lyon@foss.st.com> | 2021-08-23 09:05:43 +0000 |
commit | 63f68535550f77998ad907ba3d3be05a4324fbe8 (patch) | |
tree | bb089e61af7f1135490395142dc2eb112fca69a3 /gcc/tree-vect-loop.c | |
parent | 3bc75533d1f87f0617be6c1af98804f9127ec637 (diff) | |
download | gcc-63f68535550f77998ad907ba3d3be05a4324fbe8.zip gcc-63f68535550f77998ad907ba3d3be05a4324fbe8.tar.gz gcc-63f68535550f77998ad907ba3d3be05a4324fbe8.tar.bz2 |
arm: Fix multilib mapping for CDE extensions [PR100856]
This is a followup to Srinath's recent patch: the newly added test is
failing e.g. on arm-linux-gnueabihf without R/M profile multilibs.
It is also failing on arm-eabi with R/M profile multilibs if the
execution engine does not support v8.1-M instructions.
The patch avoids this by adding check_effective_target_FUNC_multilib
in target-supports.exp which effectively checks whether the target
supports linking and execution, like what is already done for other
ARM effective targets. pr100856.c is updated to use it instead of
arm_v8_1m_main_cde_mve_ok (which makes the testcase a bit of a
duplicate with check_effective_target_FUNC_multilib).
In addition, I noticed that requiring MVE does not seem necessary and
this enables the test to pass even when targeting a CPU without MVE:
since the test does not involve actual CDE instructions, it can pass
on other architecture versions. For instance, when requiring MVE, we
have to use cortex-m55 under QEMU for the test to pass because the
memset() that comes from v8.1-m.main+mve multilib uses LOB
instructions (DLS) (memset is used during startup). Keeping
arm_v8_1m_main_cde_mve_ok would mean we would enable the test provided
we have the right multilibs, causing a runtime error if the simulator
does not support LOB instructions (e.g. when targeting cortex-m7).
I do not update sourcebuild.texi since the CDE effective targets are
already collectively documented.
Finally, the patch fixes two typos in comments.
2021-07-15 Christophe Lyon <christophe.lyon@foss.st.com>
PR target/100856
gcc/
* config/arm/arm.opt: Fix typo.
* config/arm/t-rmprofile: Fix typo.
gcc/testsuite/
* gcc.target/arm/acle/pr100856.c: Use arm_v8m_main_cde_multilib
and arm_v8m_main_cde.
* lib/target-supports.exp: Add
check_effective_target_FUNC_multilib for ARM CDE.
Diffstat (limited to 'gcc/tree-vect-loop.c')
0 files changed, 0 insertions, 0 deletions