[10] RFR(S): 8185969: PPC64: Improve VSR support to use up to 64 registers

Doerr, Martin martin.doerr at sap.com
Wed Aug 9 14:54:23 UTC 2017


Hi Gustavo R,

I think that the new and old version of mtvrd are equivalent. The new one uses to_vsr() and a new version of vsrt() = vsrs() which sets bit 31. I don't see any advantages or disadvantages of using one or the other.
Am I missing anything?

Best regards,
Martin


-----Original Message-----
From: Gustavo Romero [mailto:gromero at linux.vnet.ibm.com] 
Sent: Mittwoch, 9. August 2017 16:03
To: Doerr, Martin <martin.doerr at sap.com>; Gustavo Serra Scalet <gustavo.scalet at eldorado.org.br>; ppc-aix-port-dev at openjdk.java.net
Subject: Re: [10] RFR(S): 8185969: PPC64: Improve VSR support to use up to 64 registers
Importance: High

Hi Gustavo, Martin

On 09-08-2017 09:58, Doerr, Martin wrote:
> seems like you're preparing new VSR code :-)

Regarding the mtvrd substitution proposed by this change, I think that the prior
form for mtvrd is the correct one. mtvrd is an extended mnemonic for mtvsrd and
mtvrd only accepts a Vector/VMX/Altivec operand, in the range from 0 to 31. On
the other hand, mtvsrd accepts a Vector-Scalar/VSX operand, from 0 to 63, where
VSR32-63 are mapped to VR31-63, and likewise for mfvrd/mfvsrd. Also not setting
the bit 31 on instruction (TX=1) and calling the instruction "mtvrd" seems
incorrect.

So I'm wondering if it would be better to keep the prior form of mtvrd/mfvrd and
add support for the mtvsrd and mfvsrd to access to the full range of VSR
registers.


Regards,
Gustavo



More information about the ppc-aix-port-dev mailing list