[llvm] Fixing upper lane return source for X86 intrinsics (PR #185329)

Aaron Smull via llvm-commits llvm-commits at lists.llvm.org
Mon Mar 9 00:11:49 PDT 2026


================
@@ -561,6 +561,24 @@ define <2 x double>@test_int_x86_maskz_vminmaxsd_round(<2 x double> %A, <2 x dou
   ret <2 x double> %ret
 }
 
+define <2 x double> @test_upper_lane_passthrough_vminmaxsd_round(<2 x double> %A, <2 x double> %B, <2 x double> %C) nounwind {
+; X64-LABEL: test_upper_lane_passthrough_vminmaxsd_round:
+; X64:       # %bb.0:
+; X64-NEXT:    vmovsd %xmm2, %xmm0, %xmm0 # encoding: [0xc5,0xfb,0x10,0xc2]
+; X64-NEXT:    # xmm0 = xmm2[0],xmm0[1]
+; X64-NEXT:    retq # encoding: [0xc3]
+;
+; X86-LABEL: test_upper_lane_passthrough_vminmaxsd_round:
+; X86:       # %bb.0:
+; X86-NEXT:    vmovsd %xmm2, %xmm0, %xmm0 # encoding: [0xc5,0xfb,0x10,0xc2]
+; X86-NEXT:    # xmm0 = xmm2[0],xmm0[1]
+; X86-NEXT:    retl # encoding: [0xc3]
+  %ret = call <2 x double> @llvm.x86.avx10.mask.vminmaxsd.round(<2 x double> %A, <2 x double> %B, i32 127, <2 x double> %C,
+    i8 0,    ; constant-false mask -- forces the output to be the first source operand
----------------
asmull wrote:

Thanks, updated with the right comment format

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


More information about the llvm-commits mailing list