From e4da7e9afb8c9a623194c975abe6cf941af74d49 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Micha=C5=82=20Petryka?= <35800402+MichalPetryka@users.noreply.github.com> Date: Wed, 5 Jul 2023 21:01:33 +0200 Subject: [PATCH] Fix AVX512 moves on X86 (#88421) Extracted from #85875. --- src/coreclr/jit/emitxarch.cpp | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/src/coreclr/jit/emitxarch.cpp b/src/coreclr/jit/emitxarch.cpp index 759fff1..a6e0d68 100644 --- a/src/coreclr/jit/emitxarch.cpp +++ b/src/coreclr/jit/emitxarch.cpp @@ -6131,6 +6131,18 @@ bool emitter::HasSideEffect(instruction ins, emitAttr size) break; } + case INS_vmovdqa64: + case INS_vmovdqu8: + case INS_vmovdqu16: + case INS_vmovdqu64: + { + // These EVEX instructions merges/masks based on k-register + // TODO-XArch-AVX512 : Handle merge/masks scenarios once k-mask support is added for these. + assert(UseEvexEncoding()); + hasSideEffect = (size != EA_64BYTE); + break; + } + case INS_movd: { // Clears the upper bits @@ -6162,18 +6174,6 @@ bool emitter::HasSideEffect(instruction ins, emitAttr size) break; } - case INS_vmovdqa64: - case INS_vmovdqu8: - case INS_vmovdqu16: - case INS_vmovdqu64: - { - // These EVEX instructions merges/masks based on k-register - // TODO-XArch-AVX512 : Handle merge/masks scenarios once k-mask support is added for these. - assert(UseEvexEncoding()); - hasSideEffect = (size != EA_64BYTE); - break; - } - case INS_movsxd: { // Sign-extends the source -- 2.7.4