-
Notifications
You must be signed in to change notification settings - Fork 5.2k
[Arm64] Implement simple SIMD operations #1601
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Arm64] Implement simple SIMD operations #1601
Conversation
...braries/System.Runtime.Intrinsics.Experimental/ref/System.Runtime.Intrinsics.Experimental.cs
Outdated
Show resolved
Hide resolved
88d348c to
d44307a
Compare
|
@CarolEidt @tannergooding @TamarChristinaArm PTAL I grouped all the commits by their "themes" to make the reviewing process easier. |
|
I found my old notes from one of the API review meetings that suggest that in this PR I should rename:
@tannergooding @terrajobst Can one of you please advise whether this is a case? |
|
The notes are here: https://github.com/dotnet/apireviews/tree/master/2019/10-29-arm |
tannergooding
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
JIT changes LGTM. I skimmed through the test changes and looked primarily at the template updates and an example generated file.
CarolEidt
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM - how nice that the additions are all table-driven so that the JIT change is just the table :-)
|
Last six commits are renaming "AndNot" to "BitwiseClear" according to https://github.com/dotnet/apireviews/tree/master/2019/10-29-arm |
System.Private.CoreLib\src\System\Runtime\Intrinsics\Arm
16241e3 Update "And" in AdvSimd.cs AdvSimd.PlatformNotSupported.cs
06f8709 Update "AndNot" in AdvSimd.cs AdvSimd.PlatformNotSupported.cs
bbb771f Add "Divide" and "DivideScalar" in AdvSimd.cs AdvSimd.PlatformNotSupported.cs
77c29ad Add "Max" and "MaxScalar" in AdvSimd.cs AdvSimd.PlatformNotSupported.cs
79a9211 Add "Min" and "MinScalar" in AdvSimd.cs AdvSimd.PlatformNotSupported.cs
215aebb Add "Multiply" and "MultiplyScalar" in AdvSimd.cs AdvSimd.PlatformNotSupported.cs
3bf4557 Add "Negate" and "NegateScalar" in AdvSimd.cs AdvSimd.PlatformNotSupported.cs
11b9c7f Update "Not" in AdvSimd.cs AdvSimd.PlatformNotSupported.cs
574bb11 Update "Or" in AdvSimd.cs AdvSimd.PlatformNotSupported.cs
27863d0 Update "OrNot" in AdvSimd.cs AdvSimd.PlatformNotSupported.cs
852392f Update "Sqrt" and "SqrtScalar" in AdvSimd.cs AdvSimd.PlatformNotSupported.cs
ffe3fab Update "Subtract" and "SubtractScalar" in AdvSimd.cs AdvSimd.PlatformNotSupported.cs
39a8a1d Update "Xor" in AdvSimd.cs AdvSimd.PlatformNotSupported.cs
src\libraries\System.Runtime.Intrinsics.Experimental\ref
d44307a Update System.Runtime.Intrinsics.Experimental.cs
src\coreclr\src\jit
1402efc Add "And" in AdvSimd in hwintrinsiclistarm64.h
62604f8 Add "AndNot" in AdvSimd in hwintrinsiclistarm64.h
6e14dfc Add "DivideScalar" in AdvSimd in hwintrinsiclistarm64.h
b9dbd39 Add "Divide" in AdvSimd_Arm64 in hwintrinsiclistarm64.h
6886b27 Add "Max" and "MaxScalar" in hwintrinsiclistarm64.h
961450c Add "Min" and "MinScalar" in hwintrinsiclistarm64.h
c74c601 Add "Multiply" and "MultiplyScalar" in hwintrinsiclistarm64.h
e12ddb7 Add "Negate" and "NegateScalar" in hwintrinsiclistarm64.h
9137fd9 Add "Not" in AdvSimd in hwintrinsiclistarm64.h
526abef Add "Or" in AdvSimd in hwintrinsiclistarm64.h
e2711f4 Add "OrNot" in AdvSimd in hwintrinsiclistarm64.h
a51adb6 Add "Sqrt" and "SqrtScalar" in hwintrinsiclistarm64.h
234d576 Add "Subtract" and "SubtractScalar" in hwintrinsiclistarm64.h
7519184 Add "Xor" in AdvSimd in hwintrinsiclistarm64.h
src\coreclr\tests\src\JIT\HardwareIntrinsics\Arm
db4a3db Add "And" in GenerateTests.csx
202fd29 Add "AndNot" in GenerateTests.csx
b421932 Add "Divide" and "DivideScalar" in GenerateTests.csx
e27f874 Add "Max" and "MaxScalar" in GenerateTests.csx
7e846f0 Add "Min" and "MinScalar" in GenerateTests.csx
1732d26 Add "Multiply" and "MultiplyScalar" in GenerateTests.csx
9dff171 Add "Negate" and "NegateScalar" in GenerateTests.csx
557f1b9 Add "Not" in GenerateTests.csx
70129ac Add "Or" in GenerateTests.csx
c3752aa Add "OrNot" in GenerateTests.csx
35daf17 Add "Sqrt" and "SqrtScalar" in GenerateTests.csx
f789085 Add "Subtract" and "SubtractScalar" in GenerateTests.csx
217b5b3 Add "Xor" in GenerateTests.csx
80a21df Update "ReverseElementBits" in GenerateTests.csx
38c99e3 Update Helpers.cs Helpers.tt
72dcfb6 Update AdvSimd/ AdvSimd.Arm64/
Fixes #24584
Fixes #13575