[PATCH] D99272: [AArch64] Adds a pre-indexed paired Load/Store optimization for LDR-STR.
Stelios Ioannou via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Apr 9 04:51:00 PDT 2021
stelios-arm added inline comments.
================
Comment at: llvm/test/CodeGen/AArch64/arm64-memset-inline.ll:67
define void @bzero_8_stack() {
; CHECK-LABEL: bzero_8_stack:
-; CHECK: str xzr, [sp, #8]
----------------
In case you are wondering why with the new patch this is changed to and STP here is the full check commands pre-patch:
```
; CHECK-LABEL: bzero_8_stack:
; CHECK: // %bb.0:
; CHECK-NEXT: str x30, [sp, #-16]! // 8-byte Folded Spill
; CHECK-NEXT: .cfi_def_cfa_offset 16
; CHECK-NEXT: .cfi_offset w30, -16
; CHECK-NEXT: add x0, sp, #8 // =8
; CHECK-NEXT: str xzr, [sp, #8]
; CHECK-NEXT: bl something
; CHECK-NEXT: ldr x30, [sp], #16 // 8-byte Folded Reload
; CHECK-NEXT: ret
```
================
Comment at: llvm/test/CodeGen/AArch64/arm64-memset-inline.ll:233
define void @memset_8_stack() {
; CHECK-LABEL: memset_8_stack:
; CHECK: mov x8, #-6148914691236517206
----------------
Similarly:
```
; CHECK-LABEL: memset_8_stack:
; CHECK: // %bb.0:
; CHECK-NEXT: str x30, [sp, #-16]! // 8-byte Folded Spill
; CHECK-NEXT: .cfi_def_cfa_offset 16
; CHECK-NEXT: .cfi_offset w30, -16
; CHECK-NEXT: mov x8, #-6148914691236517206
; CHECK-NEXT: add x0, sp, #8 // =8
; CHECK-NEXT: str x8, [sp, #8]
; CHECK-NEXT: bl something
; CHECK-NEXT: ldr x30, [sp], #16 // 8-byte Folded Reload
; CHECK-NEXT: ret
```
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D99272/new/
https://reviews.llvm.org/D99272
More information about the llvm-commits
mailing list