• Jason Ekstrand's avatar
    nir: Add a simple int64 lowering pass · 074f5ba0
    Jason Ekstrand authored
    The algorithms used by this pass, especially for division, are heavily
    based on the work Ian Romanick did for the similar int64 lowering pass
    in the GLSL compiler.
    
    v2: Properly handle vectors
    
    v3: Get rid of log2_denom stuff.  Since we're using bcsel, we do all the
        calculations anyway and this is just extra instructions.
    
    v4:
     - Add back in the log2_denom stuff since it's needed for ensuring that
       the shifts don't overflow.
     - Rework the looping part of the pass to be easier to expand.
    Reviewed-by: Matt Turner's avatarMatt Turner <mattst88@gmail.com>
    074f5ba0
Makefile.sources 7.56 KB