diff options
author | Bruce Forstall <brucefo@microsoft.com> | 2016-12-14 18:03:20 -0800 |
---|---|---|
committer | Bruce Forstall <brucefo@microsoft.com> | 2017-02-05 21:23:02 -0800 |
commit | cacb79692c4db6c4dded4d8f6a55e7fd8fa11d3a (patch) | |
tree | 8c3ef8163e7a994a55cd65d1a57d9dd9dc783de0 /src/jit/emitxarch.h | |
parent | df659fc58c602eb079d3620e9e9925d3c78318f4 (diff) | |
download | coreclr-cacb79692c4db6c4dded4d8f6a55e7fd8fa11d3a.tar.gz coreclr-cacb79692c4db6c4dded4d8f6a55e7fd8fa11d3a.tar.bz2 coreclr-cacb79692c4db6c4dded4d8f6a55e7fd8fa11d3a.zip |
Enable SIMD for RyuJIT/x86
This change implements support for Vector<long>, handling
SIMDIntrinsicInit, which takes a LONG, and decomposition of
SIMDIntrinsicGetItem, which produces a LONG.
It also enables SIMD, including AVX, by default for RyuJIT/x86.
Diffstat (limited to 'src/jit/emitxarch.h')
-rw-r--r-- | src/jit/emitxarch.h | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/jit/emitxarch.h b/src/jit/emitxarch.h index 40f22ed526..9c435e5d87 100644 --- a/src/jit/emitxarch.h +++ b/src/jit/emitxarch.h @@ -109,6 +109,16 @@ void SetUseSSE3_4(bool value) } bool Is4ByteSSE4Instruction(instruction ins); +bool hasRexPrefix(code_t code) +{ +#ifdef _TARGET_AMD64_ + const code_t REX_PREFIX_MASK = 0xFF00000000LL; + return (code & REX_PREFIX_MASK) != 0; +#else // !_TARGET_AMD64_ + return false; +#endif // !_TARGET_AMD64_ +} + #ifdef FEATURE_AVX_SUPPORT // 3-byte VEX prefix starts with byte 0xC4 @@ -178,7 +188,7 @@ bool IsThreeOperandAVXInstruction(instruction ins) } bool Is4ByteAVXInstruction(instruction ins); #else // !FEATURE_AVX_SUPPORT -bool UseAVX() +bool UseAVX() { return false; } |