-
Notifications
You must be signed in to change notification settings - Fork 10.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[X86][test] Simplify test avx512-broadcast-unfold.ll #74593
Conversation
The test was updated by opt -passes=early-cse -S llvm/test/CodeGen/X86/avx512-broadcast-unfold.ll
@llvm/pr-subscribers-backend-x86 Author: Shengchen Kan (KanRobert) ChangesThe test was updated by opt -passes=early-cse -S llvm/test/CodeGen/X86/avx512-broadcast-unfold.ll Patch is 104.14 KiB, truncated to 20.00 KiB below, full version: https://github.com/llvm/llvm-project/pull/74593.diff 1 Files Affected:
diff --git a/llvm/test/CodeGen/X86/avx512-broadcast-unfold.ll b/llvm/test/CodeGen/X86/avx512-broadcast-unfold.ll
index 5fc89702456cf..d2d88d6b75717 100644
--- a/llvm/test/CodeGen/X86/avx512-broadcast-unfold.ll
+++ b/llvm/test/CodeGen/X86/avx512-broadcast-unfold.ll
@@ -25,11 +25,9 @@ bb:
bb2: ; preds = %bb2, %bb
%tmp = phi i64 [ 0, %bb ], [ %tmp8, %bb2 ]
%tmp3 = getelementptr inbounds i32, ptr %arg, i64 %tmp
- %tmp4 = bitcast ptr %tmp3 to ptr
- %tmp5 = load <16 x i32>, ptr %tmp4, align 4
+ %tmp5 = load <16 x i32>, ptr %tmp3, align 4
%tmp6 = add nsw <16 x i32> %tmp5, <i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2>
- %tmp7 = bitcast ptr %tmp3 to ptr
- store <16 x i32> %tmp6, ptr %tmp7, align 4
+ store <16 x i32> %tmp6, ptr %tmp3, align 4
%tmp8 = add i64 %tmp, 16
%tmp9 = icmp eq i64 %tmp8, 1024
br i1 %tmp9, label %bb10, label %bb2
@@ -59,11 +57,9 @@ bb:
bb2: ; preds = %bb2, %bb
%tmp = phi i64 [ 0, %bb ], [ %tmp8, %bb2 ]
%tmp3 = getelementptr inbounds i32, ptr %arg, i64 %tmp
- %tmp4 = bitcast ptr %tmp3 to ptr
- %tmp5 = load <8 x i32>, ptr %tmp4, align 4
+ %tmp5 = load <8 x i32>, ptr %tmp3, align 4
%tmp6 = add nsw <8 x i32> %tmp5, <i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2, i32 2>
- %tmp7 = bitcast ptr %tmp3 to ptr
- store <8 x i32> %tmp6, ptr %tmp7, align 4
+ store <8 x i32> %tmp6, ptr %tmp3, align 4
%tmp8 = add i64 %tmp, 8
%tmp9 = icmp eq i64 %tmp8, 1024
br i1 %tmp9, label %bb10, label %bb2
@@ -92,11 +88,9 @@ bb:
bb2: ; preds = %bb2, %bb
%tmp = phi i64 [ 0, %bb ], [ %tmp8, %bb2 ]
%tmp3 = getelementptr inbounds i32, ptr %arg, i64 %tmp
- %tmp4 = bitcast ptr %tmp3 to ptr
- %tmp5 = load <4 x i32>, ptr %tmp4, align 4
+ %tmp5 = load <4 x i32>, ptr %tmp3, align 4
%tmp6 = add nsw <4 x i32> %tmp5, <i32 2, i32 2, i32 2, i32 2>
- %tmp7 = bitcast ptr %tmp3 to ptr
- store <4 x i32> %tmp6, ptr %tmp7, align 4
+ store <4 x i32> %tmp6, ptr %tmp3, align 4
%tmp8 = add i64 %tmp, 4
%tmp9 = icmp eq i64 %tmp8, 1024
br i1 %tmp9, label %bb10, label %bb2
@@ -126,11 +120,9 @@ bb:
bb2: ; preds = %bb2, %bb
%tmp = phi i64 [ 0, %bb ], [ %tmp8, %bb2 ]
%tmp3 = getelementptr inbounds i64, ptr %arg, i64 %tmp
- %tmp4 = bitcast ptr %tmp3 to ptr
- %tmp5 = load <8 x i64>, ptr %tmp4, align 8
+ %tmp5 = load <8 x i64>, ptr %tmp3, align 8
%tmp6 = add nsw <8 x i64> %tmp5, <i64 2, i64 2, i64 2, i64 2, i64 2, i64 2, i64 2, i64 2>
- %tmp7 = bitcast ptr %tmp3 to ptr
- store <8 x i64> %tmp6, ptr %tmp7, align 8
+ store <8 x i64> %tmp6, ptr %tmp3, align 8
%tmp8 = add i64 %tmp, 8
%tmp9 = icmp eq i64 %tmp8, 1024
br i1 %tmp9, label %bb10, label %bb2
@@ -160,11 +152,9 @@ bb:
bb2: ; preds = %bb2, %bb
%tmp = phi i64 [ 0, %bb ], [ %tmp8, %bb2 ]
%tmp3 = getelementptr inbounds i64, ptr %arg, i64 %tmp
- %tmp4 = bitcast ptr %tmp3 to ptr
- %tmp5 = load <4 x i64>, ptr %tmp4, align 8
+ %tmp5 = load <4 x i64>, ptr %tmp3, align 8
%tmp6 = add nsw <4 x i64> %tmp5, <i64 2, i64 2, i64 2, i64 2>
- %tmp7 = bitcast ptr %tmp3 to ptr
- store <4 x i64> %tmp6, ptr %tmp7, align 8
+ store <4 x i64> %tmp6, ptr %tmp3, align 8
%tmp8 = add i64 %tmp, 4
%tmp9 = icmp eq i64 %tmp8, 1024
br i1 %tmp9, label %bb10, label %bb2
@@ -193,11 +183,9 @@ bb:
bb2: ; preds = %bb2, %bb
%tmp = phi i64 [ 0, %bb ], [ %tmp8, %bb2 ]
%tmp3 = getelementptr inbounds i64, ptr %arg, i64 %tmp
- %tmp4 = bitcast ptr %tmp3 to ptr
- %tmp5 = load <2 x i64>, ptr %tmp4, align 8
+ %tmp5 = load <2 x i64>, ptr %tmp3, align 8
%tmp6 = add nsw <2 x i64> %tmp5, <i64 2, i64 2>
- %tmp7 = bitcast ptr %tmp3 to ptr
- store <2 x i64> %tmp6, ptr %tmp7, align 8
+ store <2 x i64> %tmp6, ptr %tmp3, align 8
%tmp8 = add i64 %tmp, 2
%tmp9 = icmp eq i64 %tmp8, 1024
br i1 %tmp9, label %bb10, label %bb2
@@ -228,11 +216,9 @@ bb:
bb2: ; preds = %bb2, %bb
%tmp = phi i64 [ 0, %bb ], [ %tmp8, %bb2 ]
%tmp3 = getelementptr inbounds i32, ptr %arg, i64 %tmp
- %tmp4 = bitcast ptr %tmp3 to ptr
- %tmp5 = load <16 x i32>, ptr %tmp4, align 4
+ %tmp5 = load <16 x i32>, ptr %tmp3, align 4
%tmp6 = mul nsw <16 x i32> %tmp5, <i32 3, i32 3, i32 3, i32 3, i32 3, i32 3, i32 3, i32 3, i32 3, i32 3, i32 3, i32 3, i32 3, i32 3, i32 3, i32 3>
- %tmp7 = bitcast ptr %tmp3 to ptr
- store <16 x i32> %tmp6, ptr %tmp7, align 4
+ store <16 x i32> %tmp6, ptr %tmp3, align 4
%tmp8 = add i64 %tmp, 16
%tmp9 = icmp eq i64 %tmp8, 1024
br i1 %tmp9, label %bb10, label %bb2
@@ -263,11 +249,9 @@ bb:
bb2: ; preds = %bb2, %bb
%tmp = phi i64 [ 0, %bb ], [ %tmp8, %bb2 ]
%tmp3 = getelementptr inbounds i32, ptr %arg, i64 %tmp
- %tmp4 = bitcast ptr %tmp3 to ptr
- %tmp5 = load <8 x i32>, ptr %tmp4, align 4
+ %tmp5 = load <8 x i32>, ptr %tmp3, align 4
%tmp6 = mul nsw <8 x i32> %tmp5, <i32 3, i32 3, i32 3, i32 3, i32 3, i32 3, i32 3, i32 3>
- %tmp7 = bitcast ptr %tmp3 to ptr
- store <8 x i32> %tmp6, ptr %tmp7, align 4
+ store <8 x i32> %tmp6, ptr %tmp3, align 4
%tmp8 = add i64 %tmp, 8
%tmp9 = icmp eq i64 %tmp8, 1024
br i1 %tmp9, label %bb10, label %bb2
@@ -297,11 +281,9 @@ bb:
bb2: ; preds = %bb2, %bb
%tmp = phi i64 [ 0, %bb ], [ %tmp8, %bb2 ]
%tmp3 = getelementptr inbounds i32, ptr %arg, i64 %tmp
- %tmp4 = bitcast ptr %tmp3 to ptr
- %tmp5 = load <4 x i32>, ptr %tmp4, align 4
+ %tmp5 = load <4 x i32>, ptr %tmp3, align 4
%tmp6 = mul nsw <4 x i32> %tmp5, <i32 3, i32 3, i32 3, i32 3>
- %tmp7 = bitcast ptr %tmp3 to ptr
- store <4 x i32> %tmp6, ptr %tmp7, align 4
+ store <4 x i32> %tmp6, ptr %tmp3, align 4
%tmp8 = add i64 %tmp, 4
%tmp9 = icmp eq i64 %tmp8, 1024
br i1 %tmp9, label %bb10, label %bb2
@@ -332,11 +314,9 @@ bb:
bb2: ; preds = %bb2, %bb
%tmp = phi i64 [ 0, %bb ], [ %tmp8, %bb2 ]
%tmp3 = getelementptr inbounds i64, ptr %arg, i64 %tmp
- %tmp4 = bitcast ptr %tmp3 to ptr
- %tmp5 = load <8 x i64>, ptr %tmp4, align 8
+ %tmp5 = load <8 x i64>, ptr %tmp3, align 8
%tmp6 = mul nsw <8 x i64> %tmp5, <i64 3, i64 3, i64 3, i64 3, i64 3, i64 3, i64 3, i64 3>
- %tmp7 = bitcast ptr %tmp3 to ptr
- store <8 x i64> %tmp6, ptr %tmp7, align 8
+ store <8 x i64> %tmp6, ptr %tmp3, align 8
%tmp8 = add i64 %tmp, 8
%tmp9 = icmp eq i64 %tmp8, 1024
br i1 %tmp9, label %bb10, label %bb2
@@ -367,11 +347,9 @@ bb:
bb2: ; preds = %bb2, %bb
%tmp = phi i64 [ 0, %bb ], [ %tmp8, %bb2 ]
%tmp3 = getelementptr inbounds i64, ptr %arg, i64 %tmp
- %tmp4 = bitcast ptr %tmp3 to ptr
- %tmp5 = load <4 x i64>, ptr %tmp4, align 8
+ %tmp5 = load <4 x i64>, ptr %tmp3, align 8
%tmp6 = mul nsw <4 x i64> %tmp5, <i64 3, i64 3, i64 3, i64 3>
- %tmp7 = bitcast ptr %tmp3 to ptr
- store <4 x i64> %tmp6, ptr %tmp7, align 8
+ store <4 x i64> %tmp6, ptr %tmp3, align 8
%tmp8 = add i64 %tmp, 4
%tmp9 = icmp eq i64 %tmp8, 1024
br i1 %tmp9, label %bb10, label %bb2
@@ -401,11 +379,9 @@ bb:
bb2: ; preds = %bb2, %bb
%tmp = phi i64 [ 0, %bb ], [ %tmp8, %bb2 ]
%tmp3 = getelementptr inbounds i64, ptr %arg, i64 %tmp
- %tmp4 = bitcast ptr %tmp3 to ptr
- %tmp5 = load <2 x i64>, ptr %tmp4, align 8
+ %tmp5 = load <2 x i64>, ptr %tmp3, align 8
%tmp6 = mul nsw <2 x i64> %tmp5, <i64 3, i64 3>
- %tmp7 = bitcast ptr %tmp3 to ptr
- store <2 x i64> %tmp6, ptr %tmp7, align 8
+ store <2 x i64> %tmp6, ptr %tmp3, align 8
%tmp8 = add i64 %tmp, 2
%tmp9 = icmp eq i64 %tmp8, 1024
br i1 %tmp9, label %bb10, label %bb2
@@ -435,11 +411,9 @@ bb:
bb2: ; preds = %bb2, %bb
%tmp = phi i64 [ 0, %bb ], [ %tmp8, %bb2 ]
%tmp3 = getelementptr inbounds i32, ptr %arg, i64 %tmp
- %tmp4 = bitcast ptr %tmp3 to ptr
- %tmp5 = load <16 x i32>, ptr %tmp4, align 4
+ %tmp5 = load <16 x i32>, ptr %tmp3, align 4
%tmp6 = or <16 x i32> %tmp5, <i32 3, i32 3, i32 3, i32 3, i32 3, i32 3, i32 3, i32 3, i32 3, i32 3, i32 3, i32 3, i32 3, i32 3, i32 3, i32 3>
- %tmp7 = bitcast ptr %tmp3 to ptr
- store <16 x i32> %tmp6, ptr %tmp7, align 4
+ store <16 x i32> %tmp6, ptr %tmp3, align 4
%tmp8 = add i64 %tmp, 16
%tmp9 = icmp eq i64 %tmp8, 1024
br i1 %tmp9, label %bb10, label %bb2
@@ -469,11 +443,9 @@ bb:
bb2: ; preds = %bb2, %bb
%tmp = phi i64 [ 0, %bb ], [ %tmp8, %bb2 ]
%tmp3 = getelementptr inbounds i32, ptr %arg, i64 %tmp
- %tmp4 = bitcast ptr %tmp3 to ptr
- %tmp5 = load <8 x i32>, ptr %tmp4, align 4
+ %tmp5 = load <8 x i32>, ptr %tmp3, align 4
%tmp6 = or <8 x i32> %tmp5, <i32 3, i32 3, i32 3, i32 3, i32 3, i32 3, i32 3, i32 3>
- %tmp7 = bitcast ptr %tmp3 to ptr
- store <8 x i32> %tmp6, ptr %tmp7, align 4
+ store <8 x i32> %tmp6, ptr %tmp3, align 4
%tmp8 = add i64 %tmp, 8
%tmp9 = icmp eq i64 %tmp8, 1024
br i1 %tmp9, label %bb10, label %bb2
@@ -502,11 +474,9 @@ bb:
bb2: ; preds = %bb2, %bb
%tmp = phi i64 [ 0, %bb ], [ %tmp8, %bb2 ]
%tmp3 = getelementptr inbounds i32, ptr %arg, i64 %tmp
- %tmp4 = bitcast ptr %tmp3 to ptr
- %tmp5 = load <4 x i32>, ptr %tmp4, align 4
+ %tmp5 = load <4 x i32>, ptr %tmp3, align 4
%tmp6 = or <4 x i32> %tmp5, <i32 3, i32 3, i32 3, i32 3>
- %tmp7 = bitcast ptr %tmp3 to ptr
- store <4 x i32> %tmp6, ptr %tmp7, align 4
+ store <4 x i32> %tmp6, ptr %tmp3, align 4
%tmp8 = add i64 %tmp, 4
%tmp9 = icmp eq i64 %tmp8, 1024
br i1 %tmp9, label %bb10, label %bb2
@@ -536,11 +506,9 @@ bb:
bb2: ; preds = %bb2, %bb
%tmp = phi i64 [ 0, %bb ], [ %tmp8, %bb2 ]
%tmp3 = getelementptr inbounds i64, ptr %arg, i64 %tmp
- %tmp4 = bitcast ptr %tmp3 to ptr
- %tmp5 = load <8 x i64>, ptr %tmp4, align 8
+ %tmp5 = load <8 x i64>, ptr %tmp3, align 8
%tmp6 = or <8 x i64> %tmp5, <i64 3, i64 3, i64 3, i64 3, i64 3, i64 3, i64 3, i64 3>
- %tmp7 = bitcast ptr %tmp3 to ptr
- store <8 x i64> %tmp6, ptr %tmp7, align 8
+ store <8 x i64> %tmp6, ptr %tmp3, align 8
%tmp8 = add i64 %tmp, 8
%tmp9 = icmp eq i64 %tmp8, 1024
br i1 %tmp9, label %bb10, label %bb2
@@ -570,11 +538,9 @@ bb:
bb2: ; preds = %bb2, %bb
%tmp = phi i64 [ 0, %bb ], [ %tmp8, %bb2 ]
%tmp3 = getelementptr inbounds i64, ptr %arg, i64 %tmp
- %tmp4 = bitcast ptr %tmp3 to ptr
- %tmp5 = load <4 x i64>, ptr %tmp4, align 8
+ %tmp5 = load <4 x i64>, ptr %tmp3, align 8
%tmp6 = or <4 x i64> %tmp5, <i64 3, i64 3, i64 3, i64 3>
- %tmp7 = bitcast ptr %tmp3 to ptr
- store <4 x i64> %tmp6, ptr %tmp7, align 8
+ store <4 x i64> %tmp6, ptr %tmp3, align 8
%tmp8 = add i64 %tmp, 4
%tmp9 = icmp eq i64 %tmp8, 1024
br i1 %tmp9, label %bb10, label %bb2
@@ -604,11 +570,9 @@ bb:
bb2: ; preds = %bb2, %bb
%tmp = phi i64 [ 0, %bb ], [ %tmp8, %bb2 ]
%tmp3 = getelementptr inbounds i64, ptr %arg, i64 %tmp
- %tmp4 = bitcast ptr %tmp3 to ptr
- %tmp5 = load <2 x i64>, ptr %tmp4, align 8
+ %tmp5 = load <2 x i64>, ptr %tmp3, align 8
%tmp6 = or <2 x i64> %tmp5, <i64 3, i64 3>
- %tmp7 = bitcast ptr %tmp3 to ptr
- store <2 x i64> %tmp6, ptr %tmp7, align 8
+ store <2 x i64> %tmp6, ptr %tmp3, align 8
%tmp8 = add i64 %tmp, 2
%tmp9 = icmp eq i64 %tmp8, 1024
br i1 %tmp9, label %bb10, label %bb2
@@ -638,11 +602,9 @@ bb:
bb1: ; preds = %bb1, %bb
%tmp = phi i64 [ 0, %bb ], [ %tmp7, %bb1 ]
%tmp2 = getelementptr inbounds float, ptr %arg, i64 %tmp
- %tmp3 = bitcast ptr %tmp2 to ptr
- %tmp4 = load <16 x float>, ptr %tmp3, align 4
+ %tmp4 = load <16 x float>, ptr %tmp2, align 4
%tmp5 = fneg <16 x float> %tmp4
- %tmp6 = bitcast ptr %tmp2 to ptr
- store <16 x float> %tmp5, ptr %tmp6, align 4
+ store <16 x float> %tmp5, ptr %tmp2, align 4
%tmp7 = add i64 %tmp, 16
%tmp8 = icmp eq i64 %tmp7, 1024
br i1 %tmp8, label %bb9, label %bb1
@@ -672,11 +634,9 @@ bb:
bb1: ; preds = %bb1, %bb
%tmp = phi i64 [ 0, %bb ], [ %tmp7, %bb1 ]
%tmp2 = getelementptr inbounds float, ptr %arg, i64 %tmp
- %tmp3 = bitcast ptr %tmp2 to ptr
- %tmp4 = load <8 x float>, ptr %tmp3, align 4
+ %tmp4 = load <8 x float>, ptr %tmp2, align 4
%tmp5 = fneg <8 x float> %tmp4
- %tmp6 = bitcast ptr %tmp2 to ptr
- store <8 x float> %tmp5, ptr %tmp6, align 4
+ store <8 x float> %tmp5, ptr %tmp2, align 4
%tmp7 = add i64 %tmp, 8
%tmp8 = icmp eq i64 %tmp7, 1024
br i1 %tmp8, label %bb9, label %bb1
@@ -705,11 +665,9 @@ bb:
bb1: ; preds = %bb1, %bb
%tmp = phi i64 [ 0, %bb ], [ %tmp7, %bb1 ]
%tmp2 = getelementptr inbounds float, ptr %arg, i64 %tmp
- %tmp3 = bitcast ptr %tmp2 to ptr
- %tmp4 = load <4 x float>, ptr %tmp3, align 4
+ %tmp4 = load <4 x float>, ptr %tmp2, align 4
%tmp5 = fneg <4 x float> %tmp4
- %tmp6 = bitcast ptr %tmp2 to ptr
- store <4 x float> %tmp5, ptr %tmp6, align 4
+ store <4 x float> %tmp5, ptr %tmp2, align 4
%tmp7 = add i64 %tmp, 4
%tmp8 = icmp eq i64 %tmp7, 1024
br i1 %tmp8, label %bb9, label %bb1
@@ -739,11 +697,9 @@ bb:
bb1: ; preds = %bb1, %bb
%tmp = phi i64 [ 0, %bb ], [ %tmp7, %bb1 ]
%tmp2 = getelementptr inbounds double, ptr %arg, i64 %tmp
- %tmp3 = bitcast ptr %tmp2 to ptr
- %tmp4 = load <8 x double>, ptr %tmp3, align 8
+ %tmp4 = load <8 x double>, ptr %tmp2, align 8
%tmp5 = fneg <8 x double> %tmp4
- %tmp6 = bitcast ptr %tmp2 to ptr
- store <8 x double> %tmp5, ptr %tmp6, align 8
+ store <8 x double> %tmp5, ptr %tmp2, align 8
%tmp7 = add i64 %tmp, 8
%tmp8 = icmp eq i64 %tmp7, 1024
br i1 %tmp8, label %bb9, label %bb1
@@ -773,11 +729,9 @@ bb:
bb1: ; preds = %bb1, %bb
%tmp = phi i64 [ 0, %bb ], [ %tmp7, %bb1 ]
%tmp2 = getelementptr inbounds double, ptr %arg, i64 %tmp
- %tmp3 = bitcast ptr %tmp2 to ptr
- %tmp4 = load <4 x double>, ptr %tmp3, align 8
+ %tmp4 = load <4 x double>, ptr %tmp2, align 8
%tmp5 = fneg <4 x double> %tmp4
- %tmp6 = bitcast ptr %tmp2 to ptr
- store <4 x double> %tmp5, ptr %tmp6, align 8
+ store <4 x double> %tmp5, ptr %tmp2, align 8
%tmp7 = add i64 %tmp, 4
%tmp8 = icmp eq i64 %tmp7, 1024
br i1 %tmp8, label %bb9, label %bb1
@@ -807,11 +761,9 @@ bb:
bb1: ; preds = %bb1, %bb
%tmp = phi i64 [ 0, %bb ], [ %tmp7, %bb1 ]
%tmp2 = getelementptr inbounds double, ptr %arg, i64 %tmp
- %tmp3 = bitcast ptr %tmp2 to ptr
- %tmp4 = load <2 x double>, ptr %tmp3, align 8
+ %tmp4 = load <2 x double>, ptr %tmp2, align 8
%tmp5 = fneg <2 x double> %tmp4
- %tmp6 = bitcast ptr %tmp2 to ptr
- store <2 x double> %tmp5, ptr %tmp6, align 8
+ store <2 x double> %tmp5, ptr %tmp2, align 8
%tmp7 = add i64 %tmp, 2
%tmp8 = icmp eq i64 %tmp7, 1024
br i1 %tmp8, label %bb9, label %bb1
@@ -841,11 +793,9 @@ bb:
bb1: ; preds = %bb1, %bb
%tmp = phi i64 [ 0, %bb ], [ %tmp7, %bb1 ]
%tmp2 = getelementptr inbounds float, ptr %arg, i64 %tmp
- %tmp3 = bitcast ptr %tmp2 to ptr
- %tmp4 = load <16 x float>, ptr %tmp3, align 4
+ %tmp4 = load <16 x float>, ptr %tmp2, align 4
%tmp5 = call <16 x float> @llvm.fabs.v16f32(<16 x float> %tmp4)
- %tmp6 = bitcast ptr %tmp2 to ptr
- store <16 x float> %tmp5, ptr %tmp6, align 4
+ store <16 x float> %tmp5, ptr %tmp2, align 4
%tmp7 = add i64 %tmp, 16
%tmp8 = icmp eq i64 %tmp7, 1024
br i1 %tmp8, label %bb9, label %bb1
@@ -854,7 +804,7 @@ bb9: ; preds = %bb1
ret void
}
-; Function Attrs: nounwind readnone speculatable willreturn
+; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare <16 x float> @llvm.fabs.v16f32(<16 x float>) #0
define void @bcast_unfold_fabs_v8f32(ptr %arg) {
@@ -878,11 +828,9 @@ bb:
bb1: ; preds = %bb1, %bb
%tmp = phi i64 [ 0, %bb ], [ %tmp7, %bb1 ]
%tmp2 = getelementptr inbounds float, ptr %arg, i64 %tmp
- %tmp3 = bitcast ptr %tmp2 to ptr
- %tmp4 = load <8 x float>, ptr %tmp3, align 4
+ %tmp4 = load <8 x float>, ptr %tmp2, align 4
%tmp5 = call <8 x float> @llvm.fabs.v8f32(<8 x float> %tmp4)
- %tmp6 = bitcast ptr %tmp2 to ptr
- store <8 x float> %tmp5, ptr %tmp6, align 4
+ store <8 x float> %tmp5, ptr %tmp2, align 4
%tmp7 = add i64 %tmp, 8
%tmp8 = icmp eq i64 %tmp7, 1024
br i1 %tmp8, label %bb9, label %bb1
@@ -891,7 +839,7 @@ bb9: ; preds = %bb1
ret void
}
-; Function Attrs: nounwind readnone speculatable willreturn
+; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare <8 x float> @llvm.fabs.v8f32(<8 x float>) #0
define void @bcast_unfold_fabs_v4f32(ptr %arg) {
@@ -914,11 +862,9 @@ bb:
bb1: ; preds = %bb1, %bb
%tmp = phi i64 [ 0, %bb ], [ %tmp7, %bb1 ]
%tmp2 = getelementptr inbounds float, ptr %arg, i64 %tmp
- %tmp3 = bitcast ptr %tmp2 to ptr
- %tmp4 = load <4 x float>, ptr %tmp3, align 4
+ %tmp4 = load <4 x float>, ptr %tmp2, align 4
%tmp5 = call <4 x float> @llvm.fabs.v4f32(<4 x float> %tmp4)
- %tmp6 = bitcast ptr %tmp2 to ptr
- store <4 x float> %tmp5, ptr %tmp6, align 4
+ store <4 x float> %tmp5, ptr %tmp2, align 4
%tmp7 = add i64 %tmp, 4
%tmp8 = icmp eq i64 %tmp7, 1024
br i1 %tmp8, label %bb9, label %bb1
@@ -927,7 +873,7 @@ bb9: ; preds = %bb1
ret void
}
-; Function Attrs: nounwind readnone speculatable willreturn
+; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare <4 x float> @llvm.fabs.v4f32(<4 x float>) #0
define void @bcast_unfold_fabs_v8f64(ptr %arg) {
@@ -951,11 +897,9 @@ bb:
bb1: ; preds = %bb1, %bb
%tmp = phi i64 [ 0, %bb ], [ %tmp7, %bb1 ]
%tmp2 = getelementptr inbounds double, ptr %arg, i64 %tmp
- %tmp3 = bitcast ptr %tmp2 to ptr
- %tmp4 = load <8 x double>, ptr %tmp3, align 8
+ %tmp4 = load <8 x double>, ptr %tmp2, align 8
%tmp5 = call <8 x double> @llvm.fabs.v8f64(<8 x double> %tmp4)
- %tmp6 = bitcast ptr %tmp2 to ptr
- store <8 x double> %tmp5, ptr %tmp6, align 8
+ store <8 x double> %tmp5, ptr %tmp2, align 8
%tmp7 = add i64 %tmp, 8
%tmp8 = icmp eq i64 %tmp7, 1024
br i1 %tmp8, label %bb9, label %bb1
@@ -964,7 +908,7 @@ bb9: ; preds = %bb1
ret void
}
-; Function Attrs: nounwind readnone speculatable willreturn
+; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare <8 x double> @llvm.fabs.v8f64(<8 x double>) #0
define void @bcast_unfold_fabs_v4f64(ptr %arg) {
@@ -988,11 +932,9 @@ bb:
bb1: ; preds = %bb1, %bb
%tmp = phi i64 [ 0, %bb ], [ %tmp7, %bb1 ]
%tmp2 = getelementptr inbounds double, ptr %arg, i64 %tmp
- %tmp3 = bitcast ptr %tmp2 to ptr
- %tmp4 = load <4 x double>, ptr %tmp3, align 8
+ %tmp4 = load <4 x double>, ptr %tmp2, align 8
%tmp5 = call <4 x double> @llvm.fabs.v4f64(<4 x double> %tmp4)
- %tmp6 = bitcast ptr %tmp2 to ptr
- store <4 x double> %tmp5, ptr %tmp6, align 8
+ store <4 x double> %tmp5, ptr %tmp2, align 8
%tmp7 = add i64 %tmp, 4
%tmp8 = icmp eq i64 %tmp7, 1024
br i1 %tmp8, label %bb9, label %bb1
@@ -1001,7 +943,7 @@ bb9: ; preds = %bb1
ret void
}
-; Function Attrs: nounwind readnone speculatable willreturn
+; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare <4 x double> @llvm.fabs.v4f64(<4 x double>) #0
define void @bcast_unfold_fabs_v2f64(ptr %arg) {
@@ -1025,11 +967,9 @@ bb:
bb1: ; preds = %b...
[truncated]
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
The test was updated by
opt -passes=early-cse -S llvm/test/CodeGen/X86/avx512-broadcast-unfold.ll