This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: [PATCH][AArch64][binutils] Fix encodings for by element instructions.
- From: "Jan Beulich" <jbeulich at suse dot com>
- To: <tamar dot christina at arm dot com>
- Cc: <marcus dot shawcroft at arm dot com>,<nd at arm dot com>, <Richard dot Earnshaw at arm dot com>, <binutils at sourceware dot org>
- Date: Sun, 08 Jul 2018 03:00:48 -0600
- Subject: Re: [PATCH][AArch64][binutils] Fix encodings for by element instructions.
- References: <20180627143557.GA19424@arm.com> <5B41C28E0200007800135ED9@prv1-mh.provo.novell.com>
>>> "Jan Beulich" <jbeulich@suse.com> 07/08/18 9:52 AM >>>
>>>> Tamar Christina <tamar.christina@arm.com> 06/27/18 4:36 PM >>>
>>Some instructions in Armv8-a place a limitation on FP16 registers that can be
>>used as the register from which to select an element from.
>>
>>e.g. fmla restricts Rm to 4 bits when using an FP16 register. This restriction
>>does not apply for all instructions, e.g. fcmla does not have this restriction
>>>as it gets an extra bit from the M field.
>>
>>Unfortunately, this restriction to S_H was added for all _Em operands before,
>>meaning for a large number of instructions you couldn't use the full register
>>file.
>>
>>This fixes the issue by introducing a new operand _Em16 which applies this
>>restriction only when paired with S_H and leaves the _Em and the other
>>qualifiers for _Em16 unbounded (i.e. using the full 5 bit range).
>>
>>Also the patch updates all instructions that should be affected by this.
>
>I'm surprised that the patch updates smlal and smlal2, but not their sibling
>umlal and umlal2 - is that really correct?
Actually, smlsl/smlsl2 (and then also umlsl/umlsl2) as well, plus (at least)
smull/smull2 (and umull/umull2). Perhaps all insns with QL_ELEMENT_L /
QL_ELEMENT_L2 are affected?
Jan
--