[PATCH] arm: Fix multilib mapping for CDE extensions [PR100856]

Christophe Lyon christophe.lyon@linaro.org
Wed Aug 4 09:11:24 GMT 2021


On Thu, 15 Jul 2021 at 15:07, Christophe LYON via Gcc-patches
<gcc-patches@gcc.gnu.org> wrote:
> 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.

More information about the Gcc-patches mailing list