[PATCHES] R600/SI: VI fixes

Marek Olšák maraeo at gmail.com
Mon Dec 15 04:53:19 PST 2014


An updated version is attached. I fixed the shrinking pass for opcodes
that don't have e32 encoding (patch 3). I'm not sure if patch 2 is a
good idea, I'd appreciate some opinion on that.

The MIN3/MAX3 patch is not included here. Still don't know what aspect
of those opcodes should be tested. Also, I can't re-use the current
tests, because the store opcode that the tests use isn't implemented
for VI.

Marek

On Sun, Dec 14, 2014 at 11:02 PM, Marek Olšák <maraeo at gmail.com> wrote:
> The current pseudos define everything except for the encoding.
>
> The 5 attached patches replace patch 1 in the previous series.
> This new series unifies other VOP2 opcodes which are only available as
> VOP3 on VI.
>
> Marek
>
> On Sat, Dec 13, 2014 at 7:20 PM, Matt Arsenault <arsenm2 at gmail.com> wrote:
>>
>>> On Dec 13, 2014, at 5:12 AM, Marek Olšák <maraeo at gmail.com> wrote:
>>>
>>> On Fri, Dec 12, 2014 at 11:57 PM, Matt Arsenault <arsenm2 at gmail.com> wrote:
>>>>
>>>>> On Dec 12, 2014, at 4:41 PM, Marek Olšák <maraeo at gmail.com> wrote:
>>>>>
>>>>> Please review.
>>>>>
>>>>> Marek
>>>>
>>>> #1 - Why can’t this use the same encoding mapping trick the other instructions do so everything except encoding doesn’t need to see separate opcodes?
>>>
>>> The instructions are VOP2 on SI and VOP3 on VI. I can't define common
>>> pseudo instructions, because it's not clear whether I should set the
>>> VOP2 bit or the VOP3 bit or both or none.
>>>
>>> Marek
>>
>> I would expect pseudos to have neither set, but I’m not sure what the current pseudos do
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-R600-SI-Add-common-class-VOPAnyCommon.patch
Type: text/x-patch
Size: 2548 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20141215/9ac51df5/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0002-R600-SI-Remove-multiclass-VOP1InstSI.patch
Type: text/x-patch
Size: 3197 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20141215/9ac51df5/attachment-0001.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0003-R600-SI-Don-t-shrink-instructions-whose-e32-encoding.patch
Type: text/x-patch
Size: 3764 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20141215/9ac51df5/attachment-0002.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0004-R600-SI-Add-V_READLANE_B32-and-V_WRITELANE_B32-for-V.patch
Type: text/x-patch
Size: 2832 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20141215/9ac51df5/attachment-0003.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0005-R600-SI-Use-64-bit-encoding-by-default-for-opcodes-t.patch
Type: text/x-patch
Size: 6592 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20141215/9ac51df5/attachment-0004.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0006-R600-SI-Unify-VOP2-instructions-which-are-VOP3-only-.patch
Type: text/x-patch
Size: 10112 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20141215/9ac51df5/attachment-0005.bin>


More information about the llvm-commits mailing list