[X86][AVX10.2] Fix unexpected larger scope (#130767) · llvm/llvm-project@0fda7e6 (original) (raw)
2 files changed
lines changed
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -6121,8 +6121,9 @@ let Predicates = [HasAVX, NoAVX10_2] in { | ||
6121 | 6121 | v8i16, VR128, load, i128mem, 0, |
6122 | 6122 | SchedWriteMPSAD.XMM>, VEX, VVVV, WIG; |
6123 | 6123 | } |
6124 | +} | |
6124 | 6125 | |
6125 | -let Uses = [MXCSR], mayRaiseFPException = 1 in { | |
6126 | +let Predicates = [HasAVX], Uses = [MXCSR], mayRaiseFPException = 1 in { | |
6126 | 6127 | let ExeDomain = SSEPackedSingle in |
6127 | 6128 | defm VDPPS : SS41I_binop_rmi_int<0x40, "vdpps", int_x86_sse41_dpps, |
6128 | 6129 | VR128, load, f128mem, 0, |
@@ -6136,7 +6137,6 @@ let Uses = [MXCSR], mayRaiseFPException = 1 in { | ||
6136 | 6137 | VR256, load, i256mem, 0, |
6137 | 6138 | SchedWriteDPPS.YMM>, VEX, VVVV, VEX_L, WIG; |
6138 | 6139 | } |
6139 | -} | |
6140 | 6140 | |
6141 | 6141 | let Predicates = [HasAVX2, NoAVX10_2] in { |
6142 | 6142 | let isCommutable = 0 in { |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -422,3 +422,14 @@ define { <32 x i16>, <32 x i16>, <32 x i16> } @test_mm512_mask_mpsadbw(<64 x i8> | ||
422 | 422 | } |
423 | 423 | |
424 | 424 | declare <32 x i16> @llvm.x86.avx10.vmpsadbw.512(<64 x i8>, <64 x i8>, i8) |
425 | + | |
426 | +; Regression test | |
427 | + | |
428 | +define <8 x float> @avx_dp_ps(<8 x float> %a, <8 x float> %b) { | |
429 | +; CHECK-LABEL: avx_dp_ps: | |
430 | +; CHECK: # %bb.0: | |
431 | +; CHECK-NEXT: vdpps $255, %ymm1, %ymm0, %ymm0 # encoding: [0xc4,0xe3,0x7d,0x40,0xc1,0xff] | |
432 | +; CHECK-NEXT: ret{{[l|q]}} # encoding: [0xc3] | |
433 | +%r = tail call <8 x float> @llvm.x86.avx.dp.ps.256(<8 x float> %a, <8 x float> %b, i8 -1) | |
434 | +ret <8 x float> %r | |
435 | +} |