gnu /
gcc /
ca6174ac3740372ff55db34e2f625c489ed28c73 testsuite: arm: Fix unsigned-extend-2.c [PR116445]
The test was designed to pass with thumb2, but code generation changed
with the introduction of Low Overhead Loops, so the test can fail if
one overrides the flags when running the testsuite.
In addition, useless subtract / extension instructions require -O2 to
remove them (-O is not sufficient), so replace -O with -O2 in
dg-options.
arm_thumb2_ok_no_arm_v8_1m_lob does not do what the test needs (it can
fail because some flags conflict, rather than because lob are
supported, and we do not need to check runtime support in this test
anyway), so the patch reverts back to arm_thumb2_ok.
Finally, replace the scan-assembler directives with
check-function-bodies, checking both types of code generation (with
and without LOL). Depending on architecture version, the two insns
and r0, r1, r0, lsr #1
ands r3, r3, #255
can be swapped, so accept both orders.
gcc/testsuite/ChangeLog:
PR target/116445
* gcc.target/arm/unsigned-extend-2.c: Fix dg directives.
(cherry picked from commit 20c25919132b497c3a46a4bc4044f65b6459b99e)
1 file changed