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

Christophe LYON christophe.lyon@foss.st.com
Mon Aug 16 11:51:46 GMT 2021


ping?

On 11/08/2021 16:06, Christophe Lyon wrote:
> ping?
> https://gcc.gnu.org/pipermail/gcc-patches/2021-July/575310.html 
> <https://gcc.gnu.org/pipermail/gcc-patches/2021-July/575310.html>
>
>
> On Wed, Aug 4, 2021 at 11:13 AM Christophe Lyon via Gcc-patches 
> <gcc-patches@gcc.gnu.org <mailto:gcc-patches@gcc.gnu.org>> wrote:
>
>     ping?
>
>     On Thu, 15 Jul 2021 at 15:07, Christophe LYON via Gcc-patches
>     <gcc-patches@gcc.gnu.org <mailto: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
>     <mailto: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