Skip to content
  • Sagar Ghuge's avatar
    nir/glsl: Add another way of doing lower_imul64 for gen8+ · e551040c
    Sagar Ghuge authored
    
    
    On Gen 8 and 9, "mul" instruction supports 64 bit destination type. We
    can reduce our 64x64 int multiplication from 4 instructions to 3.
    
    Also instead of emitting two mul instructions, we can emit single mul
    instuction and extract low/high 32 bits from 64 bit result for
    [i/u]mulExtended
    
    v2: 1) Allow lower_mul_high64 to use new opcode (Jason Ekstrand)
        2) Add lower_mul_2x32_64 flag (Matt Turner)
        3) Remove associative property as bit size is different (Connor
           Abbott)
    
    v3: Fix indentation and variable naming convention (Jason Ekstrand)
    
    Signed-off-by: Sagar Ghuge's avatarSagar Ghuge <sagar.ghuge@intel.com>
    Reviewed-by: default avatarJason Ekstrand <jason@jlekstrand.net>
    e551040c