Hi Kyrill,

On 17 January 2018 at 12:27, Kyrill  Tkachov
<kyrylo.tkac...@foss.arm.com> wrote:
> Hi all,
>
> This is an awkward testsuite failure. The original bug was that we were
> failing to put out
> the conditional code in the conditional form of the STL instruction (oops!).
> So we wanted to output STLNE, but instead output STL.
> The testacase relies on if-conversion to conditionalise the insn for STL.
> However, ever since r251643 the expansion of a non-relaxed atomic store
> always includes a compiler barrier. That blocks if-conversion in all cases.
>
> So there's no easy to get to a conditional STL instruction from a C program.
> But we do want to test for the original bug fix that if the RTL insn for STL
> is conditionalised
> it should output the conditional code.
>
> The solution in this patch is to convert the test into an RTL test with the
> COND_EXEC form
> of the STL insn and scan the assembly output there.
> This seems to work fine, and gives us an opportunity to create a
> gcc.dg/rtl/arm directory
> in the RTL tests.
>
> This now makes the gcc.target/arm/stl-cond.c disappear (as the test is
> deleted) and
> the new test in gcc.dg/rtl/arm/stl-cond.c passes.
>
> Committing to trunk.
> Thanks,
> Kyrill
>
> 2018-01-17  Kyrylo Tkachov  <kyrylo.tkac...@arm.com>
>
>     * gcc.dg/rtl/arm/stl-cond.c: New test.
>     * gcc.target/arm/stl-cond.c: Delete.

I've noticed that the new test is unsupported on armeb, is this intentional?

Christophe

Reply via email to