https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89256

            Bug ID: 89256
           Summary: No optimized division by constant for __int128
           Product: gcc
           Version: 8.2.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
          Assignee: unassigned at gcc dot gnu.org
          Reporter: joerg.rich...@pdv-fs.de
  Target Milestone: ---

Division by constant is not optimized for __int128 dividend.

// This function will use shift+multiply
int64_t func64( int64_t val )
{
  return val / 1000;
}

// This function will call __divti3
__int128 func128( __int128 val )
{
  return val / 1000;
}

It would be nice if GCC would use the same optimisation for __int128 and
unsigned __int128.

Reply via email to