From: MichaƂ Petryka <35800402+MichalPetryka@users.noreply.github.com> Date: Wed, 5 Jul 2023 19:01:33 +0000 (+0200) Subject: Fix AVX512 moves on X86 (#88421) X-Git-Tag: accepted/tizen/unified/riscv/20231226.055536~1221 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=e4da7e9afb8c9a623194c975abe6cf941af74d49;p=platform%2Fupstream%2Fdotnet%2Fruntime.git Fix AVX512 moves on X86 (#88421) Extracted from #85875. --- 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