• Matt Turner's avatar
    intel/compiler/fs: Implement FS_OPCODE_LINTERP with MADs on Gen11+ · 432674ce
    Matt Turner authored
    The PLN instruction is no more. Its functionality is now implemented
    using two MAD instructions with the new native-float type. Instead of
    
       pln(16) r20.0<1>:F r10.4<0;1,0>:F r4.0<8;8,1>:F
    
    we now have
    
       mad(8) acc0<1>:NF r10.7<0;1,0>:F r4.0<8;8,1>:F r10.4<0;1,0>:F
       mad(8) r20.0<1>:F acc0<8;8,1>:NF r5.0<8;8,1>:F r10.5<0;1,0>:F
       mad(8) acc0<1>:NF r10.7<0;1,0>:F r6.0<8;8,1>:F r10.4<0;1,0>:F
       mad(8) r21.0<1>:F acc0<8;8,1>:NF r7.0<8;8,1>:F r10.5<0;1,0>:F
    
    ... and in the case of SIMD8 only the first pair of MAD instructions is
    used.
    Reviewed-by: Kenneth Graunke (semi-AFK still)'s avatarKenneth Graunke <kenneth@whitecape.org>
    432674ce
brw_fs_generator.cpp 81.4 KB