diff options
author | Chad Rosier <mcrosier@codeaurora.org> | 2016-11-11 19:25:48 +0000 |
---|---|---|
committer | Chad Rosier <mcrosier@codeaurora.org> | 2016-11-11 19:25:48 +0000 |
commit | 811e76dbcdbf10ea9274ea09949f1de2e676a06b (patch) | |
tree | bf0e9a7a247a15cb333c5ddc8cdc47a71a02ff10 /llvm/test | |
parent | 25fa4999ff8c569912070019ee5d527d96f871d2 (diff) | |
download | bcm5719-llvm-811e76dbcdbf10ea9274ea09949f1de2e676a06b.tar.gz bcm5719-llvm-811e76dbcdbf10ea9274ea09949f1de2e676a06b.zip |
[AArch64] Add test to show narrow zero store merging is disabled with strict align. NFC.
llvm-svn: 286617
Diffstat (limited to 'llvm/test')
-rw-r--r-- | llvm/test/CodeGen/AArch64/arm64-narrow-st-merge.ll | 32 |
1 files changed, 31 insertions, 1 deletions
diff --git a/llvm/test/CodeGen/AArch64/arm64-narrow-st-merge.ll b/llvm/test/CodeGen/AArch64/arm64-narrow-st-merge.ll index 4158bcc11e6..ec7c227e169 100644 --- a/llvm/test/CodeGen/AArch64/arm64-narrow-st-merge.ll +++ b/llvm/test/CodeGen/AArch64/arm64-narrow-st-merge.ll @@ -1,7 +1,11 @@ ; RUN: llc < %s -mtriple aarch64--none-eabi -verify-machineinstrs | FileCheck %s +; RUN: llc < %s -mtriple aarch64--none-eabi -mattr=+strict-align -verify-machineinstrs | FileCheck %s -check-prefix=CHECK-STRICT ; CHECK-LABEL: Strh_zero ; CHECK: str wzr +; CHECK-STRICT-LABEL: Strh_zero +; CHECK-STRICT: strh wzr +; CHECK-STRICT: strh wzr define void @Strh_zero(i16* nocapture %P, i32 %n) { entry: %idxprom = sext i32 %n to i64 @@ -16,6 +20,11 @@ entry: ; CHECK-LABEL: Strh_zero_4 ; CHECK: stp wzr, wzr +; CHECK-STRICT-LABEL: Strh_zero_4 +; CHECK-STRICT: strh wzr +; CHECK-STRICT: strh wzr +; CHECK-STRICT: strh wzr +; CHECK-STRICT: strh wzr define void @Strh_zero_4(i16* nocapture %P, i32 %n) { entry: %idxprom = sext i32 %n to i64 @@ -38,6 +47,8 @@ entry: ; CHECK-LABEL: Strw_zero ; CHECK: str xzr +; CHECK-STRICT-LABEL: Strw_zero +; CHECK-STRICT: stp wzr, wzr define void @Strw_zero(i32* nocapture %P, i32 %n) { entry: %idxprom = sext i32 %n to i64 @@ -65,7 +76,10 @@ entry: } ; CHECK-LABEL: Strw_zero_4 -; CHECK: stp xzr +; CHECK: stp xzr, xzr +; CHECK-STRICT-LABEL: Strw_zero_4 +; CHECK-STRICT: stp wzr, wzr +; CHECK-STRICT: stp wzr, wzr define void @Strw_zero_4(i32* nocapture %P, i32 %n) { entry: %idxprom = sext i32 %n to i64 @@ -88,6 +102,9 @@ entry: ; CHECK-LABEL: Sturb_zero ; CHECK: sturh wzr +; CHECK-STRICT-LABEL: Sturb_zero +; CHECK-STRICT: sturb wzr +; CHECK-STRICT: sturb wzr define void @Sturb_zero(i8* nocapture %P, i32 %n) #0 { entry: %sub = add nsw i32 %n, -2 @@ -103,6 +120,9 @@ entry: ; CHECK-LABEL: Sturh_zero ; CHECK: stur wzr +; CHECK-STRICT-LABEL: Sturh_zero +; CHECK-STRICT: sturh wzr +; CHECK-STRICT: sturh wzr define void @Sturh_zero(i16* nocapture %P, i32 %n) { entry: %sub = add nsw i32 %n, -2 @@ -118,6 +138,11 @@ entry: ; CHECK-LABEL: Sturh_zero_4 ; CHECK: stp wzr, wzr +; CHECK-STRICT-LABEL: Sturh_zero_4 +; CHECK-STRICT: sturh wzr +; CHECK-STRICT: sturh wzr +; CHECK-STRICT: sturh wzr +; CHECK-STRICT: sturh wzr define void @Sturh_zero_4(i16* nocapture %P, i32 %n) { entry: %sub = add nsw i32 %n, -3 @@ -141,6 +166,8 @@ entry: ; CHECK-LABEL: Sturw_zero ; CHECK: stur xzr +; CHECK-STRICT-LABEL: Sturw_zero +; CHECK-STRICT: stp wzr, wzr define void @Sturw_zero(i32* nocapture %P, i32 %n) { entry: %sub = add nsw i32 %n, -3 @@ -156,6 +183,9 @@ entry: ; CHECK-LABEL: Sturw_zero_4 ; CHECK: stp xzr, xzr +; CHECK-STRICT-LABEL: Sturw_zero_4 +; CHECK-STRICT: stp wzr, wzr +; CHECK-STRICT: stp wzr, wzr define void @Sturw_zero_4(i32* nocapture %P, i32 %n) { entry: %sub = add nsw i32 %n, -3 |