[llvm] [X86][test] Simplify test avx512-broadcast-unfold.ll (PR #74593)

via llvm-commits llvm-commits at lists.llvm.org
Wed Dec 6 05:58:22 PST 2023


llvmbot wrote:


<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-backend-x86

Author: Shengchen Kan (KanRobert)

<details>
<summary>Changes</summary>

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
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]

``````````

</details>


https://github.com/llvm/llvm-project/pull/74593


More information about the llvm-commits mailing list