-
Notifications
You must be signed in to change notification settings - Fork 5k
Remove emitter unit tests which are not supported and add MoveScalar … #115952
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
Conversation
Tagging subscribers to this area: @JulieLeeMSFT, @jakobbotsch |
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.
Pull Request Overview
This PR removes emitter unit tests that invoke unsupported instructions and adds new MoveScalar and StoreScalar tests for vector operations on 64‐bit integers.
- Removed failing emitter unit tests that use INS_movq with 8-byte operations.
- Added new tests for MoveScalar (SimpleUnOpTest.template) and StoreScalar (StoreUnOpTest.template) for Int64 and UInt64 types.
Reviewed Changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.
File | Description |
---|---|
src/tests/Common/GenerateHWIntrinsicTests/GenerateHWIntrinsicTests_X86.cs | Added new MoveScalar and StoreScalar test cases to verify vector operations on 64-bit integers. |
src/coreclr/jit/codegenxarch.cpp | Removed two emitter calls using INS_movq that are unsupported in JIT. |
Comments suppressed due to low confidence (2)
src/tests/Common/GenerateHWIntrinsicTests/GenerateHWIntrinsicTests_X86.cs:447
- The test validation 'result[0] != result[0]' will always evaluate to false. Please update it to a meaningful check that verifies the correctness of the MoveScalar operation.
("SimpleUnOpTest.template", new Dictionary<string, string> { ["Isa"] = "Sse2", ["LoadIsa"] = "Sse2", ["Method"] = "MoveScalar", ["RetVectorType"] = "Vector128", ["RetBaseType"] = "Int64", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "Int64", ... ["ValidateFirstResult"] = "result[0] != result[0]", ... })
src/tests/Common/GenerateHWIntrinsicTests/GenerateHWIntrinsicTests_X86.cs:448
- The test validation 'result[0] != result[0]' is ineffective as a check and will always fail. Consider replacing it with a proper assertion that verifies the expected outcome of the MoveScalar operation.
("SimpleUnOpTest.template", new Dictionary<string, string> { ["Isa"] = "Sse2", ["LoadIsa"] = "Sse2", ["Method"] = "MoveScalar", ["RetVectorType"] = "Vector128", ["RetBaseType"] = "UInt64", ["Op1VectorType"] = "Vector128", ["Op1BaseType"] = "UInt64", ... ["ValidateFirstResult"] = "result[0] != result[0]", ... })
@dotnet/intel for review. |
Instruction format which are supported in JIT -->

Emitter unit tests which are failing -->
These tests fail since following is not supported in JIT
