diff options
author | Tanner Gooding <tagoo@outlook.com> | 2018-11-26 11:44:51 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-11-26 11:44:51 -0800 |
commit | 570bda3870a8c3b479384b21e1e1bdd427fdd3a1 (patch) | |
tree | 24ea886db934e32ea834dfdf74c8f02c04955b31 /src/jit/simd.cpp | |
parent | e7d079a2533d226b1fad301a0fbf7ba3ab25d0de (diff) | |
download | coreclr-570bda3870a8c3b479384b21e1e1bdd427fdd3a1.tar.gz coreclr-570bda3870a8c3b479384b21e1e1bdd427fdd3a1.tar.bz2 coreclr-570bda3870a8c3b479384b21e1e1bdd427fdd3a1.zip |
Fixing a few small issues with the SIMD vs SIMD HWIntrinsics (#21097)
* Fixing the simdHandleCache to add entries for Vector64FloatHandle and Vector128FloatHandle
* Fixing two places that were calling just OperIsSIMD() rather than OperIsSIMDorSimdHWintrinsic()
Diffstat (limited to 'src/jit/simd.cpp')
-rw-r--r-- | src/jit/simd.cpp | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/src/jit/simd.cpp b/src/jit/simd.cpp index 1f735a1dca..ccebc785f1 100644 --- a/src/jit/simd.cpp +++ b/src/jit/simd.cpp @@ -437,15 +437,15 @@ var_types Compiler::getBaseTypeAndSizeOfSIMDType(CORINFO_CLASS_HANDLE typeHnd, u size = Vector256SizeBytes; JITDUMP(" Known type Vector256<ulong>\n"); } - else if (typeHnd == m_simdHandleCache->Vector256FloatHandle) + else +#endif // defined(_TARGET_XARCH) + if (typeHnd == m_simdHandleCache->Vector128FloatHandle) { simdBaseType = TYP_FLOAT; - size = Vector256SizeBytes; - JITDUMP(" Known type Vector256<float>\n"); + size = Vector128SizeBytes; + JITDUMP(" Known type Vector128<float>\n"); } - else -#endif // defined(_TARGET_XARCH) - if (typeHnd == m_simdHandleCache->Vector128DoubleHandle) + else if (typeHnd == m_simdHandleCache->Vector128DoubleHandle) { simdBaseType = TYP_DOUBLE; size = Vector128SizeBytes; @@ -499,7 +499,14 @@ var_types Compiler::getBaseTypeAndSizeOfSIMDType(CORINFO_CLASS_HANDLE typeHnd, u size = Vector128SizeBytes; JITDUMP(" Known type Vector128<ulong>\n"); } + else #if defined(_TARGET_ARM64_) + if (typeHnd == m_simdHandleCache->Vector64FloatHandle) + { + simdBaseType = TYP_FLOAT; + size = Vector64SizeBytes; + JITDUMP(" Known type Vector64<float>\n"); + } else if (typeHnd == m_simdHandleCache->Vector64IntHandle) { simdBaseType = TYP_INT; |