Thanks to a bunch of bits of advice from here and elsewhere, I have it
working-or at least producing a result; my cow-orker who needs the code is
going to validate that the result seems right.

 

The key was that in a virtual machine you have to turn vector processing on
by setting the (grande) CR0 bits. So the operative code in my module is now:

         STCTG 0,0,CTLREG0             Get CR0                         

         MVC   WORK1(8),CTLREG0        Copy so we can change it        

         OI    WORK1+5,X'06'           Set bits 45-46                  

         LCTLG 0,0,WORK1               Set changed CR0                 

         VL    2,INTEGER1,4            Load 64-bit value #1            

         VL    4,INTEGER2,4            Load 64-bit value #2            

         VGFMG 0,2,4                   VECTOR GALOIS FIELD MULTIPLY SUM

         VSTEG 0,RESULT,0              Store the result                

         LCTLG 0,0,CTLREG0             Restore saved R0                

 

CP disappointed me by STILL now translating the vector instructions:

    000000000000E08A   STCTG   EB00C1480025 >> 0000E148    CC 1

    000000000000E090   MVC     D207C160C148 >> 0000E160

                                               0000E148    CC 1

    000000000000E096   OI      9606C165 >> 0000E165    CC 1

    000000000000E09A   LCTLG   EB00C160002F    0000E160    CC 1

    000000000000E0A0   ????    E720C1504006    CC 1

    000000000000E0A6   ????    E740C1584006    CC 1

    000000000000E0AC   ????    E702400030B4    CC 1

    000000000000E0B2   ????    E700C1A0000A    CC 1

    000000000000E0B8   LCTLG   EB00C148002F    0000E148    CC 1

But I guess ya can't have everything.

 

Thanks to all who helped! Hopefully this thread will shorten the process for
someone else one day.


----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

Reply via email to