Implement simple Sse2 hardware intrinsics
authorJacek Blaszczynski <biosciencenow@outlook.com>
Fri, 26 Jan 2018 15:59:54 +0000 (16:59 +0100)
committerJacek Blaszczynski <biosciencenow@outlook.com>
Wed, 31 Jan 2018 12:22:01 +0000 (13:22 +0100)
commite535ca8d6b104319b4cd91bd765a172fcde648ae
tree5ea83d847be090bf53708840a5ad39194f96600f
parentcef959a2ed41bb1077b69608b78e752326b34b47
Implement simple Sse2 hardware intrinsics
130 files changed:
src/jit/compiler.h
src/jit/emitxarch.cpp
src/jit/gentree.cpp
src/jit/hwintrinsiccodegenxarch.cpp
src/jit/hwintrinsiclistxarch.h
src/jit/hwintrinsicxarch.cpp
src/jit/instrsxarch.h
src/jit/lower.cpp
src/jit/namedintrinsiclist.h
tests/src/JIT/HardwareIntrinsics/X86/Avx2/Add.cs
tests/src/JIT/HardwareIntrinsics/X86/Sse/Max_r.csproj
tests/src/JIT/HardwareIntrinsics/X86/Sse/Max_ro.csproj
tests/src/JIT/HardwareIntrinsics/X86/Sse2/AddSaturate.cs [new file with mode: 0644]
tests/src/JIT/HardwareIntrinsics/X86/Sse2/AddSaturate_r.csproj [new file with mode: 0644]
tests/src/JIT/HardwareIntrinsics/X86/Sse2/AddSaturate_ro.csproj [new file with mode: 0644]
tests/src/JIT/HardwareIntrinsics/X86/Sse2/And.cs [new file with mode: 0644]
tests/src/JIT/HardwareIntrinsics/X86/Sse2/AndNot.cs [new file with mode: 0644]
tests/src/JIT/HardwareIntrinsics/X86/Sse2/AndNot_r.csproj [new file with mode: 0644]
tests/src/JIT/HardwareIntrinsics/X86/Sse2/AndNot_ro.csproj [new file with mode: 0644]
tests/src/JIT/HardwareIntrinsics/X86/Sse2/And_r.csproj [new file with mode: 0644]
tests/src/JIT/HardwareIntrinsics/X86/Sse2/And_ro.csproj [new file with mode: 0644]
tests/src/JIT/HardwareIntrinsics/X86/Sse2/Average.cs [new file with mode: 0644]
tests/src/JIT/HardwareIntrinsics/X86/Sse2/Average_r.csproj [new file with mode: 0644]
tests/src/JIT/HardwareIntrinsics/X86/Sse2/Average_ro.csproj [new file with mode: 0644]
tests/src/JIT/HardwareIntrinsics/X86/Sse2/CompareEqual.cs [new file with mode: 0644]
tests/src/JIT/HardwareIntrinsics/X86/Sse2/CompareEqual_r.csproj [new file with mode: 0644]
tests/src/JIT/HardwareIntrinsics/X86/Sse2/CompareEqual_ro.csproj [new file with mode: 0644]
tests/src/JIT/HardwareIntrinsics/X86/Sse2/CompareGreaterThan.cs [new file with mode: 0644]
tests/src/JIT/HardwareIntrinsics/X86/Sse2/CompareGreaterThanOrEqual.cs [new file with mode: 0644]
tests/src/JIT/HardwareIntrinsics/X86/Sse2/CompareGreaterThanOrEqual_r.csproj [new file with mode: 0644]
tests/src/JIT/HardwareIntrinsics/X86/Sse2/CompareGreaterThanOrEqual_ro.csproj [new file with mode: 0644]
tests/src/JIT/HardwareIntrinsics/X86/Sse2/CompareGreaterThan_r.csproj [new file with mode: 0644]
tests/src/JIT/HardwareIntrinsics/X86/Sse2/CompareGreaterThan_ro.csproj [new file with mode: 0644]
tests/src/JIT/HardwareIntrinsics/X86/Sse2/CompareLessThan.cs [new file with mode: 0644]
tests/src/JIT/HardwareIntrinsics/X86/Sse2/CompareLessThanOrEqual.cs [new file with mode: 0644]
tests/src/JIT/HardwareIntrinsics/X86/Sse2/CompareLessThanOrEqual_r.csproj [new file with mode: 0644]
tests/src/JIT/HardwareIntrinsics/X86/Sse2/CompareLessThanOrEqual_ro.csproj [new file with mode: 0644]
tests/src/JIT/HardwareIntrinsics/X86/Sse2/CompareLessThan_r.csproj [new file with mode: 0644]
tests/src/JIT/HardwareIntrinsics/X86/Sse2/CompareLessThan_ro.csproj [new file with mode: 0644]
tests/src/JIT/HardwareIntrinsics/X86/Sse2/CompareNotEqual.cs [new file with mode: 0644]
tests/src/JIT/HardwareIntrinsics/X86/Sse2/CompareNotEqual_r.csproj [new file with mode: 0644]
tests/src/JIT/HardwareIntrinsics/X86/Sse2/CompareNotEqual_ro.csproj [new file with mode: 0644]
tests/src/JIT/HardwareIntrinsics/X86/Sse2/CompareNotGreaterThan.cs [new file with mode: 0644]
tests/src/JIT/HardwareIntrinsics/X86/Sse2/CompareNotGreaterThanOrEqual.cs [new file with mode: 0644]
tests/src/JIT/HardwareIntrinsics/X86/Sse2/CompareNotGreaterThanOrEqual_r.csproj [new file with mode: 0644]
tests/src/JIT/HardwareIntrinsics/X86/Sse2/CompareNotGreaterThanOrEqual_ro.csproj [new file with mode: 0644]
tests/src/JIT/HardwareIntrinsics/X86/Sse2/CompareNotGreaterThan_r.csproj [new file with mode: 0644]
tests/src/JIT/HardwareIntrinsics/X86/Sse2/CompareNotGreaterThan_ro.csproj [new file with mode: 0644]
tests/src/JIT/HardwareIntrinsics/X86/Sse2/CompareNotLessThan.cs [new file with mode: 0644]
tests/src/JIT/HardwareIntrinsics/X86/Sse2/CompareNotLessThanOrEqual.cs [new file with mode: 0644]
tests/src/JIT/HardwareIntrinsics/X86/Sse2/CompareNotLessThanOrEqual_r.csproj [new file with mode: 0644]
tests/src/JIT/HardwareIntrinsics/X86/Sse2/CompareNotLessThanOrEqual_ro.csproj [new file with mode: 0644]
tests/src/JIT/HardwareIntrinsics/X86/Sse2/CompareNotLessThan_r.csproj [new file with mode: 0644]
tests/src/JIT/HardwareIntrinsics/X86/Sse2/CompareNotLessThan_ro.csproj [new file with mode: 0644]
tests/src/JIT/HardwareIntrinsics/X86/Sse2/CompareOrdered.cs [new file with mode: 0644]
tests/src/JIT/HardwareIntrinsics/X86/Sse2/CompareOrdered_r.csproj [new file with mode: 0644]
tests/src/JIT/HardwareIntrinsics/X86/Sse2/CompareOrdered_ro.csproj [new file with mode: 0644]
tests/src/JIT/HardwareIntrinsics/X86/Sse2/CompareUnordered.cs [new file with mode: 0644]
tests/src/JIT/HardwareIntrinsics/X86/Sse2/CompareUnordered_r.csproj [new file with mode: 0644]
tests/src/JIT/HardwareIntrinsics/X86/Sse2/CompareUnordered_ro.csproj [new file with mode: 0644]
tests/src/JIT/HardwareIntrinsics/X86/Sse2/ConvertToVector128Double.cs [new file with mode: 0644]
tests/src/JIT/HardwareIntrinsics/X86/Sse2/ConvertToVector128Double_r.csproj [new file with mode: 0644]
tests/src/JIT/HardwareIntrinsics/X86/Sse2/ConvertToVector128Double_ro.csproj [new file with mode: 0644]
tests/src/JIT/HardwareIntrinsics/X86/Sse2/ConvertToVector128Int32.cs [new file with mode: 0644]
tests/src/JIT/HardwareIntrinsics/X86/Sse2/ConvertToVector128Int32WithTruncation.cs [new file with mode: 0644]
tests/src/JIT/HardwareIntrinsics/X86/Sse2/ConvertToVector128Int32WithTruncation_r.csproj [new file with mode: 0644]
tests/src/JIT/HardwareIntrinsics/X86/Sse2/ConvertToVector128Int32WithTruncation_ro.csproj [new file with mode: 0644]
tests/src/JIT/HardwareIntrinsics/X86/Sse2/ConvertToVector128Int32_r.csproj [new file with mode: 0644]
tests/src/JIT/HardwareIntrinsics/X86/Sse2/ConvertToVector128Int32_ro.csproj [new file with mode: 0644]
tests/src/JIT/HardwareIntrinsics/X86/Sse2/ConvertToVector128Single.cs [new file with mode: 0644]
tests/src/JIT/HardwareIntrinsics/X86/Sse2/ConvertToVector128Single_r.csproj [new file with mode: 0644]
tests/src/JIT/HardwareIntrinsics/X86/Sse2/ConvertToVector128Single_ro.csproj [new file with mode: 0644]
tests/src/JIT/HardwareIntrinsics/X86/Sse2/Divide.cs [new file with mode: 0644]
tests/src/JIT/HardwareIntrinsics/X86/Sse2/Divide_r.csproj [new file with mode: 0644]
tests/src/JIT/HardwareIntrinsics/X86/Sse2/Divide_ro.csproj [new file with mode: 0644]
tests/src/JIT/HardwareIntrinsics/X86/Sse2/Max.cs [new file with mode: 0644]
tests/src/JIT/HardwareIntrinsics/X86/Sse2/Max_r.csproj [new file with mode: 0644]
tests/src/JIT/HardwareIntrinsics/X86/Sse2/Max_ro.csproj [new file with mode: 0644]
tests/src/JIT/HardwareIntrinsics/X86/Sse2/Min.cs [new file with mode: 0644]
tests/src/JIT/HardwareIntrinsics/X86/Sse2/Min_r.csproj [new file with mode: 0644]
tests/src/JIT/HardwareIntrinsics/X86/Sse2/Min_ro.csproj [new file with mode: 0644]
tests/src/JIT/HardwareIntrinsics/X86/Sse2/Multiply.cs [new file with mode: 0644]
tests/src/JIT/HardwareIntrinsics/X86/Sse2/MultiplyHigh.cs [new file with mode: 0644]
tests/src/JIT/HardwareIntrinsics/X86/Sse2/MultiplyHigh_r.csproj [new file with mode: 0644]
tests/src/JIT/HardwareIntrinsics/X86/Sse2/MultiplyHigh_ro.csproj [new file with mode: 0644]
tests/src/JIT/HardwareIntrinsics/X86/Sse2/MultiplyHorizontalAdd.cs [new file with mode: 0644]
tests/src/JIT/HardwareIntrinsics/X86/Sse2/MultiplyHorizontalAdd_r.csproj [new file with mode: 0644]
tests/src/JIT/HardwareIntrinsics/X86/Sse2/MultiplyHorizontalAdd_ro.csproj [new file with mode: 0644]
tests/src/JIT/HardwareIntrinsics/X86/Sse2/MultiplyLow.cs [new file with mode: 0644]
tests/src/JIT/HardwareIntrinsics/X86/Sse2/MultiplyLow_r.csproj [new file with mode: 0644]
tests/src/JIT/HardwareIntrinsics/X86/Sse2/MultiplyLow_ro.csproj [new file with mode: 0644]
tests/src/JIT/HardwareIntrinsics/X86/Sse2/Multiply_r.csproj [new file with mode: 0644]
tests/src/JIT/HardwareIntrinsics/X86/Sse2/Multiply_ro.csproj [new file with mode: 0644]
tests/src/JIT/HardwareIntrinsics/X86/Sse2/Or.cs [new file with mode: 0644]
tests/src/JIT/HardwareIntrinsics/X86/Sse2/Or_r.csproj [new file with mode: 0644]
tests/src/JIT/HardwareIntrinsics/X86/Sse2/Or_ro.csproj [new file with mode: 0644]
tests/src/JIT/HardwareIntrinsics/X86/Sse2/PackSignedSaturate.cs [new file with mode: 0644]
tests/src/JIT/HardwareIntrinsics/X86/Sse2/PackSignedSaturate_r.csproj [new file with mode: 0644]
tests/src/JIT/HardwareIntrinsics/X86/Sse2/PackSignedSaturate_ro.csproj [new file with mode: 0644]
tests/src/JIT/HardwareIntrinsics/X86/Sse2/PackUnsignedSaturate.cs [new file with mode: 0644]
tests/src/JIT/HardwareIntrinsics/X86/Sse2/PackUnsignedSaturate_r.csproj [new file with mode: 0644]
tests/src/JIT/HardwareIntrinsics/X86/Sse2/PackUnsignedSaturate_ro.csproj [new file with mode: 0644]
tests/src/JIT/HardwareIntrinsics/X86/Sse2/SetZeroVector128.cs [new file with mode: 0644]
tests/src/JIT/HardwareIntrinsics/X86/Sse2/SetZeroVector128_r.csproj [new file with mode: 0644]
tests/src/JIT/HardwareIntrinsics/X86/Sse2/SetZeroVector128_ro.csproj [new file with mode: 0644]
tests/src/JIT/HardwareIntrinsics/X86/Sse2/Sqrt.cs [new file with mode: 0644]
tests/src/JIT/HardwareIntrinsics/X86/Sse2/Sqrt_r.csproj [new file with mode: 0644]
tests/src/JIT/HardwareIntrinsics/X86/Sse2/Sqrt_ro.csproj [new file with mode: 0644]
tests/src/JIT/HardwareIntrinsics/X86/Sse2/Subtract.cs [new file with mode: 0644]
tests/src/JIT/HardwareIntrinsics/X86/Sse2/SubtractSaturate.cs [new file with mode: 0644]
tests/src/JIT/HardwareIntrinsics/X86/Sse2/SubtractSaturate_r.csproj [new file with mode: 0644]
tests/src/JIT/HardwareIntrinsics/X86/Sse2/SubtractSaturate_ro.csproj [new file with mode: 0644]
tests/src/JIT/HardwareIntrinsics/X86/Sse2/Subtract_r.csproj [new file with mode: 0644]
tests/src/JIT/HardwareIntrinsics/X86/Sse2/Subtract_ro.csproj [new file with mode: 0644]
tests/src/JIT/HardwareIntrinsics/X86/Sse2/SumAbsoluteDifferences.cs [new file with mode: 0644]
tests/src/JIT/HardwareIntrinsics/X86/Sse2/SumAbsoluteDifferences_r.csproj [new file with mode: 0644]
tests/src/JIT/HardwareIntrinsics/X86/Sse2/SumAbsoluteDifferences_ro.csproj [new file with mode: 0644]
tests/src/JIT/HardwareIntrinsics/X86/Sse2/TestTableSse2.cs [new file with mode: 0644]
tests/src/JIT/HardwareIntrinsics/X86/Sse2/UnpackHigh.cs [new file with mode: 0644]
tests/src/JIT/HardwareIntrinsics/X86/Sse2/UnpackHigh_r.csproj [new file with mode: 0644]
tests/src/JIT/HardwareIntrinsics/X86/Sse2/UnpackHigh_ro.csproj [new file with mode: 0644]
tests/src/JIT/HardwareIntrinsics/X86/Sse2/UnpackLow.cs [new file with mode: 0644]
tests/src/JIT/HardwareIntrinsics/X86/Sse2/UnpackLow_r.csproj [new file with mode: 0644]
tests/src/JIT/HardwareIntrinsics/X86/Sse2/UnpackLow_ro.csproj [new file with mode: 0644]
tests/src/JIT/HardwareIntrinsics/X86/Sse2/Xor.cs [new file with mode: 0644]
tests/src/JIT/HardwareIntrinsics/X86/Sse2/Xor_r.csproj [new file with mode: 0644]
tests/src/JIT/HardwareIntrinsics/X86/Sse2/Xor_ro.csproj [new file with mode: 0644]
tests/src/JIT/HardwareIntrinsics/X86/Sse2/dir.props [new file with mode: 0644]
tests/src/JIT/HardwareIntrinsics/X86/dir.props [new file with mode: 0644]
tests/src/JIT/HardwareIntrinsics/dir.props [new file with mode: 0644]