Use AVX512 intrinsics for numeric conversion in JIT #93896
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Jit version of #89330
For
Vector128.ConvertToDouble
Before
G_M000_IG02: ;; offset=0x0007 call [OthmarTesting.Testing:Src():long] vpbroadcastq xmm0, rax vpblendd xmm1, xmm0, xmmword ptr [reloc @RWD00], 10 vpsrlq xmm0, xmm0, 32 vpxorq xmm0, xmm0, qword ptr [reloc @RWD16] {1to2} vsubpd xmm0, xmm0, qword ptr [reloc @RWD24] {1to2} vaddpd xmm0, xmm0, xmm1 vmovups xmmword ptr [rbx], xmm0 mov rax, rbx
After
G_M000_IG02: ;; offset=0x0007 call [OthmarTesting.Testing:Src():long] vpbroadcastq xmm0, rax vcvtqq2pd xmm0, xmm0 vmovups xmmword ptr [rbx], xmm0 mov rax, rbx