Implement arithmetic reduction opcodes on IBM Z platform#8094
Open
ehsankianifar wants to merge 1 commit intoeclipse-omr:masterfrom
Open
Implement arithmetic reduction opcodes on IBM Z platform#8094ehsankianifar wants to merge 1 commit intoeclipse-omr:masterfrom
ehsankianifar wants to merge 1 commit intoeclipse-omr:masterfrom
Conversation
Contributor
Author
gita-omr
suggested changes
Feb 4, 2026
| } | ||
|
|
||
| // Because the operation is performed using scalar FP instructions, the VRF register must overlap with an FPR in the | ||
| // 0–15 range. |
Contributor
There was a problem hiding this comment.
Special characters in this comment.
Contributor
Author
There was a problem hiding this comment.
Thanks. I removed the non ascii char.
4c7ce4e to
90fc93e
Compare
hzongaro
reviewed
Feb 6, 2026
| TR::Register *targetReg, TR::Register *scratchReg, TR_IdentityValues identityValue, uint8_t elementSizeMask) | ||
| { | ||
| uint16_t immediateValue = 0; | ||
| uint8_t shiftAmunt = 0; |
Contributor
There was a problem hiding this comment.
Typo: shiftAmunt should be shiftAmount
Contributor
Author
There was a problem hiding this comment.
Thanks. Fixed the typo.
Arithmetic reduction opcodes perform lane-wise arithmetic operations (ADD, MUL, MIN, MAX) across all lanes of a vector to produce a single reduced value. The implementation executes the reduction operation on the vector, sign extends the final result, and returns it in a GPR or FPR. The operation may optionally be performed under a mask. When a mask is present, only the masked lanes participate in the reduction. Unmasked lanes are replaced with an identity value so they do not affect the result (e.g., 0 for addition, 1 for multiplication, and appropriate identity values for MIN and MAX). signed-off-by: Ehsan Kiani Far <ehsan.kianifar@gmail.com>
90fc93e to
7c72397
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Arithmetic reduction opcodes perform lane-wise arithmetic operations (ADD, MUL, MIN, MAX) across all lanes of a vector to produce a single reduced value. The implementation executes the reduction operation on the vector, sign extends the final result, and returns it in a GPR or FPR.
The operation may optionally be performed under a mask. When a mask is present, only the masked lanes participate in the reduction. Unmasked lanes are replaced with an identity value so they do not affect the result (e.g., 0 for addition, 1 for multiplication, and appropriate identity values for MIN and MAX).