Implement AVX2 MaskLoad and MaskStore (dotnet/coreclr#19513)
authorFei Peng <fei.peng@intel.com>
Thu, 23 Aug 2018 00:01:40 +0000 (17:01 -0700)
committerCarol Eidt <carol.eidt@microsoft.com>
Thu, 23 Aug 2018 00:01:40 +0000 (17:01 -0700)
commite17698ceeaf03e560d0b41f2aeb57261393e2654
tree44655f087307632c89b1bd157fcd71a6303f7da6
parenta4bbaf7ac08a40d18378b5034dfc306b18621b20
 Implement AVX2 MaskLoad and MaskStore (dotnet/coreclr#19513)

* Implement AVX2 MaskLoad and MaskStore

* Add test cases for AVX2 MaskLoad and MaskStore

* Fix AVX MaskStore tests

* template AVX MaskLoad tests

Commit migrated from https://github.com/dotnet/coreclr/commit/8013a4b6786d9e6618f8ed36bd0a473aa17b72aa
45 files changed:
src/coreclr/src/jit/emitxarch.cpp
src/coreclr/src/jit/hwintrinsiccodegenxarch.cpp
src/coreclr/src/jit/hwintrinsiclistxarch.h
src/coreclr/src/jit/instrsxarch.h
src/coreclr/tests/src/JIT/HardwareIntrinsics/X86/Avx/Avx_r.csproj
src/coreclr/tests/src/JIT/HardwareIntrinsics/X86/Avx/Avx_ro.csproj
src/coreclr/tests/src/JIT/HardwareIntrinsics/X86/Avx/MaskLoad.Double.cs [new file with mode: 0644]
src/coreclr/tests/src/JIT/HardwareIntrinsics/X86/Avx/MaskLoad.Single.cs [new file with mode: 0644]
src/coreclr/tests/src/JIT/HardwareIntrinsics/X86/Avx/MaskLoad.cs [deleted file]
src/coreclr/tests/src/JIT/HardwareIntrinsics/X86/Avx/MaskLoad_r.csproj [deleted file]
src/coreclr/tests/src/JIT/HardwareIntrinsics/X86/Avx/MaskLoad_ro.csproj [deleted file]
src/coreclr/tests/src/JIT/HardwareIntrinsics/X86/Avx/MaskStore.Double.cs
src/coreclr/tests/src/JIT/HardwareIntrinsics/X86/Avx/MaskStore.Single.cs
src/coreclr/tests/src/JIT/HardwareIntrinsics/X86/Avx/Program.Avx.cs
src/coreclr/tests/src/JIT/HardwareIntrinsics/X86/Avx2/Avx2_r.csproj
src/coreclr/tests/src/JIT/HardwareIntrinsics/X86/Avx2/Avx2_ro.csproj
src/coreclr/tests/src/JIT/HardwareIntrinsics/X86/Avx2/MaskLoad.Int32.cs [new file with mode: 0644]
src/coreclr/tests/src/JIT/HardwareIntrinsics/X86/Avx2/MaskLoad.Int64.cs [new file with mode: 0644]
src/coreclr/tests/src/JIT/HardwareIntrinsics/X86/Avx2/MaskLoad.UInt32.cs [new file with mode: 0644]
src/coreclr/tests/src/JIT/HardwareIntrinsics/X86/Avx2/MaskLoad.UInt64.cs [new file with mode: 0644]
src/coreclr/tests/src/JIT/HardwareIntrinsics/X86/Avx2/MaskStore.Int32.cs [new file with mode: 0644]
src/coreclr/tests/src/JIT/HardwareIntrinsics/X86/Avx2/MaskStore.Int64.cs [new file with mode: 0644]
src/coreclr/tests/src/JIT/HardwareIntrinsics/X86/Avx2/MaskStore.UInt32.cs [new file with mode: 0644]
src/coreclr/tests/src/JIT/HardwareIntrinsics/X86/Avx2/MaskStore.UInt64.cs [new file with mode: 0644]
src/coreclr/tests/src/JIT/HardwareIntrinsics/X86/Avx2/Program.Avx2.cs
src/coreclr/tests/src/JIT/HardwareIntrinsics/X86/Avx2_Vector128/Avx2_r.csproj
src/coreclr/tests/src/JIT/HardwareIntrinsics/X86/Avx2_Vector128/Avx2_ro.csproj
src/coreclr/tests/src/JIT/HardwareIntrinsics/X86/Avx2_Vector128/MaskLoad.Int32.cs [new file with mode: 0644]
src/coreclr/tests/src/JIT/HardwareIntrinsics/X86/Avx2_Vector128/MaskLoad.Int64.cs [new file with mode: 0644]
src/coreclr/tests/src/JIT/HardwareIntrinsics/X86/Avx2_Vector128/MaskLoad.UInt32.cs [new file with mode: 0644]
src/coreclr/tests/src/JIT/HardwareIntrinsics/X86/Avx2_Vector128/MaskLoad.UInt64.cs [new file with mode: 0644]
src/coreclr/tests/src/JIT/HardwareIntrinsics/X86/Avx2_Vector128/MaskStore.Int32.cs [new file with mode: 0644]
src/coreclr/tests/src/JIT/HardwareIntrinsics/X86/Avx2_Vector128/MaskStore.Int64.cs [new file with mode: 0644]
src/coreclr/tests/src/JIT/HardwareIntrinsics/X86/Avx2_Vector128/MaskStore.UInt32.cs [new file with mode: 0644]
src/coreclr/tests/src/JIT/HardwareIntrinsics/X86/Avx2_Vector128/MaskStore.UInt64.cs [new file with mode: 0644]
src/coreclr/tests/src/JIT/HardwareIntrinsics/X86/Avx2_Vector128/Program.Avx2_Vector128.cs
src/coreclr/tests/src/JIT/HardwareIntrinsics/X86/Avx_Vector128/Avx_r.csproj
src/coreclr/tests/src/JIT/HardwareIntrinsics/X86/Avx_Vector128/Avx_ro.csproj
src/coreclr/tests/src/JIT/HardwareIntrinsics/X86/Avx_Vector128/MaskLoad.Double.cs [new file with mode: 0644]
src/coreclr/tests/src/JIT/HardwareIntrinsics/X86/Avx_Vector128/MaskLoad.Single.cs [new file with mode: 0644]
src/coreclr/tests/src/JIT/HardwareIntrinsics/X86/Avx_Vector128/MaskStore.Double.cs
src/coreclr/tests/src/JIT/HardwareIntrinsics/X86/Avx_Vector128/MaskStore.Single.cs
src/coreclr/tests/src/JIT/HardwareIntrinsics/X86/Avx_Vector128/Program.Avx_Vector128.cs
src/coreclr/tests/src/JIT/HardwareIntrinsics/X86/Shared/GenerateTests.csx
src/coreclr/tests/src/JIT/HardwareIntrinsics/X86/Shared/LoadBinOpTest.template [new file with mode: 0644]