Skip to content

Conversation

@echesakov
Copy link
Contributor

@echesakov echesakov commented Jan 10, 2020

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

@echesakov echesakov added arch-arm64 area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI labels Jan 10, 2020
@echesakov echesakov force-pushed the AArch64/HWIntrinsics/SimpleSIMD branch from 88d348c to d44307a Compare January 30, 2020 03:56
@echesakov echesakov marked this pull request as ready for review January 31, 2020 01:09
@echesakov
Copy link
Contributor Author

@CarolEidt @tannergooding @TamarChristinaArm PTAL

I grouped all the commits by their "themes" to make the reviewing process easier.

@echesakov
Copy link
Contributor Author

I found my old notes from one of the API review meetings that suggest that in this PR I should rename:

  • AndNot(left, right) -> BitwiseClear(value, mask)
  • OrNot(left, right) -> OrNot(left, rightComplement).

@tannergooding @terrajobst Can one of you please advise whether this is a case?

@tannergooding
Copy link
Member

The notes are here: https://github.com/dotnet/apireviews/tree/master/2019/10-29-arm
Could you also update the original post to use the new issue IDs: #24584 and #13575

Copy link
Member

@tannergooding tannergooding left a 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.

Copy link
Contributor

@CarolEidt CarolEidt left a 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 :-)

@echesakov
Copy link
Contributor Author

Last six commits are renaming "AndNot" to "BitwiseClear" according to https://github.com/dotnet/apireviews/tree/master/2019/10-29-arm

@echesakov echesakov merged commit c44edc1 into dotnet:master Feb 5, 2020
@echesakov echesakov deleted the AArch64/HWIntrinsics/SimpleSIMD branch February 5, 2020 21:35
@ghost ghost locked as resolved and limited conversation to collaborators Dec 11, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

arch-arm64 area-CodeGen-coreclr CLR JIT compiler in src/coreclr/src/jit and related components such as SuperPMI area-System.Runtime.Intrinsics

Projects

None yet

Development

Successfully merging this pull request may close these issues.

API Proposal : ARM64 Simd simple ops Finish adding back arm intrinsics that existing before refactoring

4 participants