On 18 January 2018 at 10:28, Kyrill Tkachov <kyrylo.tkac...@foss.arm.com> wrote: > Hi Christophe, > > > On 18/01/18 09:25, Christophe Lyon wrote: >> >> 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? > > > I think it can PASS on armeb. I guess it's just a matter of changing the > target in > /* { dg-do compile { target arm-*-* } } */ > to arm*-*-*. > > Such a patch is pre-approved. > Kyrill >
OK, done as r256851 after confirming that is does pass on armeb. Christophe >> Christophe > >