https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116010
--- Comment #3 from Thiago Jung Bauermann <thiago.bauermann at linaro dot org> --- Created attachment 58725 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=58725&action=edit mve-vabs.s generated by the test after commit c290e6a0b7a9. (In reply to Andrew Pinski from comment #1) > So I think there are 2 different issues here. If that is the case, then I can open a separate bugzilla so that there's one for each test failure. > First gcc.target/arm/simd/mve-vabs.c now calls memcpy because of the > restrict instead of memmove. That should be a simple fix there. In my setup I don't see memcpy being called. Instead of memmove, GCC is now generating the load and store instruction. E.g.: test_vabs_u32x4: @ args = 0, pretend = 0, frame = 0 @ frame_needed = 0, uses_anonymous_args = 0 - @ link register save eliminated. - movs r2, #16 - b memmove + push {lr} + ldr ip, [r1, #4] @ unaligned + ldr lr, [r1] @ unaligned + ldr r2, [r1, #8] @ unaligned + ldr r3, [r1, #12] @ unaligned + str lr, [r0] @ unaligned + str ip, [r0, #4] @ unaligned + str r2, [r0, #8] @ unaligned + str r3, [r0, #12] @ unaligned + ldr pc, [sp], #4 .size test_vabs_u32x4, .-test_vabs_u32x4 .align 1 .p2align 2,,3 I'm attaching the complete assembly file for the test.