Skip to content
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

Merged
merged 1 commit into from
Dec 6, 2023

Conversation

KanRobert
Copy link
Contributor

The test was updated by

opt -passes=early-cse -S llvm/test/CodeGen/X86/avx512-broadcast-unfold.ll

The test was updated by

opt -passes=early-cse -S llvm/test/CodeGen/X86/avx512-broadcast-unfold.ll
@llvmbot
Copy link
Collaborator

llvmbot commented Dec 6, 2023

@llvm/pr-subscribers-backend-x86

Author: Shengchen Kan (KanRobert)

Changes

The 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:

  • (modified) llvm/test/CodeGen/X86/avx512-broadcast-unfold.ll (+283-546)
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]

Copy link
Contributor

@phoebewang phoebewang left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM.

Copy link
Collaborator

@RKSimon RKSimon left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@KanRobert KanRobert merged commit b8bc235 into llvm:main Dec 6, 2023
4 of 5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants