[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