Skip to content

intel/compiler: Do not reswizzle dst if instruction writes to flag register

If we write to the flag register changing the swizzle would change what channels are written to the flag register.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=110201

It is a follow up to !512 (closed), this should solve the root of the problem in stead of symptoms.

So from my understanding if we have following situation:

cmp(8).z.f0.0 vgrf327.x:D, vgrf76.xxxx:D, vgrf27.yyyy:D
mov(8)        vgrf77.y:D,  vgrf327.xxxx:D

We should not change the write to vgrf327.x with vgrf77.y because it changes the channel written to f0.0 which will make commands that read from f0.0 to read from the wrong channel.

Merge request reports