[llvm] Cleanup x86_mmx after removing IR type (PR #100646)

James Y Knight via llvm-commits llvm-commits at lists.llvm.org
Fri Jul 26 09:34:38 PDT 2024


================
@@ -14,13 +14,13 @@ define void @foo(<1 x i64> %A, <1 x i64> %B) nounwind {
 ; CHECK-NEXT:    emms
 ; CHECK-NEXT:    retq
 entry:
-	%tmp4 = bitcast <1 x i64> %B to x86_mmx		; <<4 x i16>> [#uses=1]
-	%tmp6 = bitcast <1 x i64> %A to x86_mmx		; <<4 x i16>> [#uses=1]
-	%tmp7 = tail call x86_mmx @llvm.x86.mmx.paddus.w( x86_mmx %tmp6, x86_mmx %tmp4 )		; <x86_mmx> [#uses=1]
-	store x86_mmx %tmp7, ptr @R
+	%tmp4 = bitcast <1 x i64> %B to <1 x i64>		; <<4 x i16>> [#uses=1]
+	%tmp6 = bitcast <1 x i64> %A to <1 x i64>		; <<4 x i16>> [#uses=1]
----------------
jyknight wrote:

There's indeed a _lot_ of extraneous bitcast throughout all these modified tests, many where it's casting through a series of different types and back to the first. I started to look at cleaning it up, but since the plan is actually to delete the MMX intrinsics in the IR, and mostly the bitcast mess is around MMX IR intrinsics, I put that aside.

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


More information about the llvm-commits mailing list