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