> -----Original Message-----
> From: Gcc-patches <gcc-patches-
> bounces+kyrylo.tkachov=arm....@gcc.gnu.org> On Behalf Of Christophe
> LYON via Gcc-patches
> Sent: 15 July 2021 14:05
> To: gcc Patches <gcc-patches@gcc.gnu.org>
> Subject: [PATCH] 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.

Ok.
Sorry for the delay, I was on holiday.
Thanks,
Kyrill

> 
> Finally, the patch fixes two typos in comments.
> 
> 2021-07-15  Christophe Lyon  <christophe.l...@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.
> 

Reply via email to