[llvm] [Hexagon] Fix HWBF16 PatLeaf type (PR #170560)

via llvm-commits llvm-commits at lists.llvm.org
Tue Dec 9 10:56:21 PST 2025


================
@@ -95,22 +95,17 @@ entry:
 
 define dso_local void @copy1d(ptr noundef readonly captures(none) %X, ptr noundef writeonly captures(none) %Y) local_unnamed_addr #0 {
 ; CHECK-LABEL: copy1d:
-; CHECK:       // %bb.0: // %entry
-; CHECK-NEXT:    {
-; CHECK-NEXT:     v0 = vmemu(r0+#1)
-; CHECK-NEXT:    }
-; CHECK-NEXT:    {
-; CHECK-NEXT:     v1 = vmemu(r0+#0)
-; CHECK-NEXT:    }
-; CHECK-NEXT:    {
-; CHECK-NEXT:     vmemu(r1+#1) = v0
-; CHECK-NEXT:    }
-; CHECK-NEXT:    {
-; CHECK-NEXT:     jumpr r31
-; CHECK-NEXT:     vmemu(r1+#0) = v1
-; CHECK-NEXT:    }
+; CHECK: v[[X_HI:[0-9]+]] = vmemu(r0+#1)
+; CHECK: v[[X_LO:[0-9]+]] = vmemu(r0+#0)
+; CHECK: vmemu(r1+#1) = v[[X_HI]]
+; CHECK: jumpr [[RET:r[0-9]+]]
+; CHECK: vmemu(r1+#0) = v[[X_LO]]
 entry:
   %0 = load <128 x half>, ptr %X, align 2
   store <128 x half> %0, ptr %Y, align 2
   ret void
 }
+
+attributes #0 = { mustprogress nofree norecurse nosync nounwind willreturn memory(argmem: readwrite, inaccessiblemem: readwrite) "frame-pointer"="all" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="hexagonv81" "target-features"="+hvx-length128b,+hvx-qfloat,+hvxv81,+v81,-long-calls" }
+attributes #1 = { mustprogress nofree norecurse nosync nounwind willreturn memory(argmem: read, inaccessiblemem: readwrite) "frame-pointer"="all" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="hexagonv81" "target-features"="+hvx-length128b,+hvx-qfloat,+hvxv81,+v81,-long-calls" }
+attributes #2 = { nocallback nofree nosync nounwind willreturn memory(none) }
----------------
aankit-ca wrote:

You can get rid of these. I don't see 1 and 2 attributes in your IR

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


More information about the llvm-commits mailing list