[PATCH] R600/SI: Fix bug in SIInstrInfo::legalizeOpWithMove()

Michel Dänzer michel at daenzer.net
Thu Sep 4 19:12:03 PDT 2014

On 05.09.2014 09:40, Matt Arsenault wrote:
> On Sep 4, 2014, at 2:57 AM, Michel Dänzer <michel at daenzer.net> wrote:
>> On 04.09.2014 06:38, Tom Stellard wrote:
>>> We must constrain the destination register class of legalized operands
>>> to a VGPR class or else the illegal operand may be folded back into
>>> the instruction by the register coalescer.
>>> This fixes a bug in add.ll that will be uncovered by future commits.
>> This patch currently breaks make check, see below. It's related to
>> Matthew's 'Try to keep i32 mul on SALU' change, which also broke two
>> piglit tests for me (more on that later). With that patch reverted, this
>> patch seems to work fine.
> This patch seems to be the correct fix for the problem I tried to fix
> in the mul patch. With the change that made to legalizeOpWithMove
> removed and this patch, all of these tests pass.

Yes, I can confirm that fixes all those problems.

Earthling Michel Dänzer            |                  http://www.amd.com
Libre software enthusiast          |                Mesa and X developer

More information about the llvm-commits mailing list