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
>
>

Reply via email to