aboutsummaryrefslogtreecommitdiff
path: root/gcc/c
diff options
context:
space:
mode:
authorKyrylo Tkachov <kyrylo.tkachov@arm.com>2018-01-17 11:30:35 +0000
committerKyrylo Tkachov <ktkachov@gcc.gnu.org>2018-01-17 11:30:35 +0000
commit1e49b79aef9b30e35c1af20d7f2979f419b57c00 (patch)
tree014051113eb71e16341ddf38087965e72767dacf /gcc/c
parentd83fae9d62cf039af090b078abb4af36e4c71193 (diff)
downloadgcc-1e49b79aef9b30e35c1af20d7f2979f419b57c00.zip
gcc-1e49b79aef9b30e35c1af20d7f2979f419b57c00.tar.gz
gcc-1e49b79aef9b30e35c1af20d7f2979f419b57c00.tar.bz2
[arm] Convert gcc.target/arm/stl-cond.c into an RTL test
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 way 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. * gcc.dg/rtl/arm/stl-cond.c: New test. * gcc.target/arm/stl-cond.c: Delete. From-SVN: r256785
Diffstat (limited to 'gcc/c')
0 files changed, 0 insertions, 0 deletions