Skip to content
  • Matt Turner's avatar
    i965: Don't consider null dst instructions as matching non-null dst. · f0aec4ee
    Matt Turner authored
    
    
    When performing common subexpression elimination on instructions with
    non-null destinations we emit a MOV to copy the result to a new
    register that must have no other uses. In the case of:
    
       cmp.g.f0.0(8) null:D, vgrf43:F, 0.500000f
       ...
       cmp.g.f0.0(8) vgrf113:D, vgrf43:F, 0.500000f
    
    we put the first instruction in the AEB and decided that we could reuse
    its result when we found the second. Unfortunately, that meant that we'd
    emit a MOV from the first's destination, which is null.
    
    Don't do anything if the entry's destination is null and the
    instruction's destination is non-null.
    
    Tested-by: default avatarTapani Pälli <tapani.palli@intel.com>
    f0aec4ee