Skip to content

GitLab

  • Menu
Projects Groups Snippets
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • mesa mesa
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 2,878
    • Issues 2,878
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 904
    • Merge requests 904
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Releases
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Mesa
  • mesamesa
  • Issues
  • #5046

Closed
Open
Created Jul 09, 2021 by Jason Ekstrand@jekstrandOwner

nir: Use a float approximation for 64-bit idiv lowering

The current code we have for 64-bit integer division lowering in nir_lower_int64() is terrible. It literally implements the division algorithm with a loop. The method used by nir_lower_idiv() is way better. It first approximates with float division and then refines the result. We should implement 64-bit idiv lowering via the same mechanism. It'll be way faster.

To get even better, we probably want to do a cheap-and-dirty i2f implementation instead of the one in nir_lower_int64() which has correct rounding.

Edited Jul 09, 2021 by Jason Ekstrand
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Time tracking