[llvm] r286617 - [AArch64] Add test to show narrow zero store merging is disabled with strict align. NFC.

Chad Rosier via llvm-commits llvm-commits at lists.llvm.org
Fri Nov 11 11:25:48 PST 2016


Author: mcrosier
Date: Fri Nov 11 13:25:48 2016
New Revision: 286617

URL: http://llvm.org/viewvc/llvm-project?rev=286617&view=rev
Log:
[AArch64] Add test to show narrow zero store merging is disabled with strict align. NFC.

Modified:
    llvm/trunk/test/CodeGen/AArch64/arm64-narrow-st-merge.ll

Modified: llvm/trunk/test/CodeGen/AArch64/arm64-narrow-st-merge.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/AArch64/arm64-narrow-st-merge.ll?rev=286617&r1=286616&r2=286617&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/AArch64/arm64-narrow-st-merge.ll (original)
+++ llvm/trunk/test/CodeGen/AArch64/arm64-narrow-st-merge.ll Fri Nov 11 13:25:48 2016
@@ -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




More information about the llvm-commits mailing list