Skip to content

intel/compiler: use correct swizzle for replacement

The optimization in 4cd1a0be introduced a replacement of :

cmp(8).z.f0.0 vgrf11.y:D, vgrf10.xxxx:D, vgrf2.xyyy:D ... cmp(8).nz.f0.0 null.x:D, vgrf11.yyyy:D, 0D

By :

cmp(8).z.f0.0 vgrf15.x:D, vgrf10.xxxx:D, vgrf2.yyyy:D ... mov(8) vgrf11.y:D, vgrf15.yyyy:D

The first cmp instruction is storing in x while the second mov is sourcing from y. We need to take into account there the replacement on the scan_inst destination is going to store thing so that the mov can source things from the correct location.

Signed-off-by: Lionel Landwerlin lionel.g.landwerlin@intel.com Fixes: 4cd1a0be ("i965/vec4: Propagate conditional modifiers from more compares to other compares")

Merge request reports