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

            Bug ID: 103053
           Summary: Unexpected ".global __divti3" emitted for unsigned 128
                    bit division
           Product: gcc
           Version: 10.3.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
          Assignee: unassigned at gcc dot gnu.org
          Reporter: simonb at vmware dot com
  Target Milestone: ---

Created attachment 51725
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=51725&action=edit
Preprocessed reproducer for the bug

When compiling the attached reproducer which contains an unsigned 128 bit
divide with any of gcc 7.5.0, 9.3.0, 10.3.0 for x86_64 or gcc 9.3.0 for aarch64
with -O2 it emits a
        .globl  __divti3
even though there is no call to that function.

In the x86 asm output for the reproducer, there is:

        .size   bar, .-bar
        .globl  __udivti3
        .globl  __divti3                  <-- bogus .global emission
        .globl  foo
        ...
        call    __udivti3


This occurs on at least:
  gcc 7.5.0 target x86_64--netbsd
  gcc 9.3.0 target x86_64--linux-gnu
  gcc 10.3.0 targets aarch64--netbsd x86_64--netbsd

No ".global __divti3" is emitted with:
  gcc 6.4.0 target x86_64--linux-gnu

Reply via email to