Power10 Reduced precision outer product operations
Bill Schmidt
wschmidt@linux.ibm.com
Mon Jun 22 13:17:09 GMT 2020
On 6/22/20 8:11 AM, Bill Schmidt wrote:
> On 6/22/20 8:04 AM, Alan Modra wrote:
>> On Mon, Jun 22, 2020 at 10:23:54AM +0200, Jan Beulich wrote:
>>> On 11.05.2020 13:31, Alan Modra via Binutils wrote:
>>>> @@ -2252,9 +2310,33 @@ const struct powerpc_operand
>>>> powerpc_operands[] =
>>>> #define IX UIM3 + 1
>>>> { 0x1, 17, NULL, NULL, 0 },
>>>> + /* The PMSK field in GER rank 8 prefix instructions. */
>>>> +#define PMSK8 IX + 1
>>>> + { 0xff, 40, NULL, NULL, 0 },
>>>> +
>>>> + /* The PMSK field in GER rank 4 prefix instructions. */
>>>> +#define PMSK4 PMSK8 + 1
>>>> + { 0xf, 44, NULL, NULL, 0 },
>>>> +
>>>> + /* The PMSK field in GER rank 2 prefix instructions. */
>>>> +#define PMSK2 PMSK4 + 1
>>>> + { 0x3, 46, NULL, NULL, 0 },
>>>> +
>>>> + /* The XMSK field in GER prefix instructions. */
>>>> +#define XMSK PMSK2 + 1
>>>> + { 0xf, 36, NULL, NULL, 0 },
>>>> +
>>>> + /* The YMSK field in GER prefix instructions. */
>>>> +#define YMSK XMSK + 1
>>>> + { 0xf, 32, NULL, NULL, 0 },
>>>> +
>>>> + /* The YMSK field in 64-bit GER prefix instructions. */
>>>> +#define YMSK2 YMSK + 1
>>>> + { 0x3, 34, NULL, NULL, 0 },
>>> While I consider the split between YMSK and YMSK2 reasonable, it does
>>> not look to be in line with the doc: There insns not using all 8 bits
>>> of PMSK indeed get shown as such, while the same isn't true for YMSK.
>>> I wonder if this is a doc shortcoming ...
>> Thanks, yes, it does look a documentation error. The YMSK field of
>> the pmxvf64ger instructions is indeed only two bits, bit 28 and 29
>> (numbered from msb of 0), with bits 30 and 31 being reserved. The
>> instruction description pseudo code reflects this fact.
>>
>> Bill, see also RFC02610 where the field is correctly shown as two
>> bits.
>>
> Jan, thanks for bringing this to our attention. I'll notify the owner
> of the architecture, and this should be fixed in a future version.
Hm. Actually, Alan, it appears you may have been referencing an older
version of RFC02610. The most recent version shows YMSK as bits 28:31.
I'll ask Brad about the history here and CC you, but it looks to me like
the binutils implementation may be incorrect.
Bill
>
> Thanks,
> Bill
>
More information about the Binutils
mailing list