z = si_lqx(spu_slqw(spu_gather(y), 4), mag_table)
これは shuffle を使って、
x = spu_gather(spu_shuffle(y, any, shuffle_pattern)); z = si_lqx(x, mag_table);
と書き変えられる
まだ Odd 3 命令だが…