Skip to content
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

zVector instructions missing optional alignment mask operand support #39

Open
Fish-Git opened this issue Jul 8, 2024 · 2 comments
Open

Comments

@Fish-Git
Copy link

Fish-Git commented Jul 8, 2024

I don't know if this occurs on all affected vector instructions or not, but it occurs on the VLM instruction:

                                                    42 ***********************************************************************
                                                    43 *                       (for reference)
                                                    44 ***********************************************************************
                                                    45 *
                                                    46 *
                                                    47 *        VLM   V1,V3,D2(B2)[,M4]    Vector Load  Multiple
                                                    48 *
                                                    49 *
                                                    50 *        M3/M4    Alignment Hint
                                                    51 *        ------   --------------
                                                    52 *
                                                    53 *          0      No alignment indicated
                                                    54 *          1-2    Reserved
                                                    55 *          3      Doubleword aligned
                                                    56 *          4      Quadword aligned
                                                    57 *          5-15   Reserved
                                                    58 *
                                                    59 ***********************************************************************

0000020E  5810 0F00                     00000F00    61          L     R1,MAXLOOPS                R1 <== #of times to loop
00000212  0520                                      62          BALR  R2,0                       R2 --> Begin of outer loop

00000214  5830 0248                     00000248    64          L     R3,ABEGDATA                R3 --> Begin of data
00000218  5840 024C                     0000024C    65          L     R4,AENDDATA                R4 --> end of data
0000021C  0550                                      66          BALR  R5,0                       R5 --> begin of inner loop

                                                    68          VLM   V0,V15,0(R3),4             Load first  16 vector regs
          ** [68] @[68]-1 4 operands exceeds the number allowed for the operation, 3
                                                    69          VLM   V16,V31,256(R3),4          Load second 16 vector regs
          ** [69] @[69]-1 4 operands exceeds the number allowed for the operation, 3
@s390guy
Copy link
Owner

s390guy commented Jul 9, 2024

There were some masks added in an earlier PoO that were missed when I was catching up on the instructions. Not sure how that happened. I have a couple others reported by one of the other developers to me personally.
Thanks for letting me know.

It looks like I need to do a full review of the vector instructions and see which ones are missing the mask.

I will get to them when I can. A lot of life issues right now. Time consuming but not serious.

@Fish-Git
Copy link
Author

Fish-Git commented Jul 9, 2024 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants