Resolves an assert around Sse41.ConvertToVector128Int* and Avx2.ConvertToVector256Int...
authorTanner Gooding <tagoo@outlook.com>
Mon, 29 Apr 2019 21:39:19 +0000 (14:39 -0700)
committerGitHub <noreply@github.com>
Mon, 29 Apr 2019 21:39:19 +0000 (14:39 -0700)
commit853f9c7677e9e3a4eff6b47bfee671c8bb545753
tree63a2f9c070f5b93120460894047f69be20b25f99
parentdb384a2534834140bfcc1a5d6bb88d55d6f85a89
Resolves an assert around Sse41.ConvertToVector128Int* and Avx2.ConvertToVector256Int* (dotnet/coreclr#24289)

* Adding tests for the overloads of Sse41.ConvertToVector128Int* and Avx2.ConvertToVector256Int* that take a pointer

* Fixing the handling of Sse41.ConvertToVector128* and Avx2.ConvertToVector256*

Commit migrated from https://github.com/dotnet/coreclr/commit/54af92b34fc18ee9d8adada35d1f527c67224be7
29 files changed:
src/coreclr/src/jit/hwintrinsiccodegenxarch.cpp
src/coreclr/src/jit/hwintrinsiclistxarch.h
src/coreclr/src/jit/hwintrinsicxarch.cpp
src/coreclr/src/jit/hwintrinsicxarch.h
src/coreclr/src/jit/lowerxarch.cpp
src/coreclr/tests/src/JIT/HardwareIntrinsics/X86/Avx2/ConvertToVector256Int16.Byte.cs
src/coreclr/tests/src/JIT/HardwareIntrinsics/X86/Avx2/ConvertToVector256Int16.SByte.cs
src/coreclr/tests/src/JIT/HardwareIntrinsics/X86/Avx2/ConvertToVector256Int32.Byte.cs
src/coreclr/tests/src/JIT/HardwareIntrinsics/X86/Avx2/ConvertToVector256Int32.Int16.cs
src/coreclr/tests/src/JIT/HardwareIntrinsics/X86/Avx2/ConvertToVector256Int32.SByte.cs
src/coreclr/tests/src/JIT/HardwareIntrinsics/X86/Avx2/ConvertToVector256Int32.UInt16.cs
src/coreclr/tests/src/JIT/HardwareIntrinsics/X86/Avx2/ConvertToVector256Int64.Byte.cs
src/coreclr/tests/src/JIT/HardwareIntrinsics/X86/Avx2/ConvertToVector256Int64.Int16.cs
src/coreclr/tests/src/JIT/HardwareIntrinsics/X86/Avx2/ConvertToVector256Int64.Int32.cs
src/coreclr/tests/src/JIT/HardwareIntrinsics/X86/Avx2/ConvertToVector256Int64.SByte.cs
src/coreclr/tests/src/JIT/HardwareIntrinsics/X86/Avx2/ConvertToVector256Int64.UInt16.cs
src/coreclr/tests/src/JIT/HardwareIntrinsics/X86/Avx2/ConvertToVector256Int64.UInt32.cs
src/coreclr/tests/src/JIT/HardwareIntrinsics/X86/Sse41/ConvertToVector128Int16.Byte.cs
src/coreclr/tests/src/JIT/HardwareIntrinsics/X86/Sse41/ConvertToVector128Int16.SByte.cs
src/coreclr/tests/src/JIT/HardwareIntrinsics/X86/Sse41/ConvertToVector128Int32.Byte.cs
src/coreclr/tests/src/JIT/HardwareIntrinsics/X86/Sse41/ConvertToVector128Int32.Int16.cs
src/coreclr/tests/src/JIT/HardwareIntrinsics/X86/Sse41/ConvertToVector128Int32.SByte.cs
src/coreclr/tests/src/JIT/HardwareIntrinsics/X86/Sse41/ConvertToVector128Int32.UInt16.cs
src/coreclr/tests/src/JIT/HardwareIntrinsics/X86/Sse41/ConvertToVector128Int64.Byte.cs
src/coreclr/tests/src/JIT/HardwareIntrinsics/X86/Sse41/ConvertToVector128Int64.Int16.cs
src/coreclr/tests/src/JIT/HardwareIntrinsics/X86/Sse41/ConvertToVector128Int64.Int32.cs
src/coreclr/tests/src/JIT/HardwareIntrinsics/X86/Sse41/ConvertToVector128Int64.SByte.cs
src/coreclr/tests/src/JIT/HardwareIntrinsics/X86/Sse41/ConvertToVector128Int64.UInt16.cs
src/coreclr/tests/src/JIT/HardwareIntrinsics/X86/Sse41/ConvertToVector128Int64.UInt32.cs