Ok for trunk and releases/gcc-15? Changes since v1: - Removed the acceptance of LDR as it's only generated without r15-7373-g5163cf2ae14. Since I'm currently looking into gcc-14 release, and made the patch in that scope, I ran it on trunk to ensure no new failures, but it's not actually needed.
-- The scheduler allows the `and` instruction to be placed at 3 different locations. Update the function body to contain all 3 locations. gcc/testsuite/ChangeLog: * gcc.target/arm/unsigned-extend-2.c: Add missing potential locations for `and` instruction. Signed-off-by: Torbjörn SVENSSON <torbjorn.svens...@foss.st.com> --- gcc/testsuite/gcc.target/arm/unsigned-extend-2.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/gcc/testsuite/gcc.target/arm/unsigned-extend-2.c b/gcc/testsuite/gcc.target/arm/unsigned-extend-2.c index d9f95a14277..15bc5a4c14d 100644 --- a/gcc/testsuite/gcc.target/arm/unsigned-extend-2.c +++ b/gcc/testsuite/gcc.target/arm/unsigned-extend-2.c @@ -7,15 +7,19 @@ ** foo: ** movs (r[0-9]+), #8 ** ( +** ( +** and r0, r1, r0, lsr #1 ** subs \1, \1, #1 ** ands \1, \1, #255 -** and r0, r1, r0, lsr #1 -** bne .L[0-9]+ -** bx lr ** | ** subs \1, \1, #1 ** and r0, r1, r0, lsr #1 ** ands \1, \1, #255 +** | +** subs \1, \1, #1 +** ands \1, \1, #255 +** and r0, r1, r0, lsr #1 +** ) ** bne .L[0-9]+ ** bx lr ** | -- 2.25.1