Issue 165948
Summary [AArch64] Suboptimal `memmove` for non-power of two sizes
Labels backend:AArch64, missed-optimization
Assignees
Reporter Kmeakin
    Split off from https://github.com/llvm/llvm-project/issues/165625

https://godbolt.org/z/TafacnzY3

LLVM assembly:
```asm
move7:
        ldrb    w8, [x1, #6]
        ldrh    w9, [x1, #4]
        ldr     w10, [x1]
        strb    w8, [x0, #6]
 strh    w9, [x0, #4]
        str     w10, [x0]
        ret
```

GCC assembly:
```asm
move7:
        ldr     w2, [x1]
        ldr     w1, [x1, 3]
        str     w2, [x0]
        str     w1, [x0, 3]
        ret
```
_______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to