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

            Bug ID: 91834
           Summary: [AArch64] LSE atomics, ILP32 warnings
           Product: gcc
           Version: 10.0
            Status: UNCONFIRMED
          Keywords: build
          Severity: normal
          Priority: P3
         Component: bootstrap
          Assignee: unassigned at gcc dot gnu.org
          Reporter: p...@gcc-bugzilla.mail.kapsi.fi
  Target Milestone: ---
              Host: x86_64-linux-gnu
            Target: aarch64-none-elf
             Build: x86_64-linux-gnu

Hi.

libgcc/config/aarch64/lse.S produces the following warning when doing an ILP32
build, which is then repeated multiple times.  This is because w(tmp1) and
s(tmp1) point to the same register.  I presume the warning itself is not bogus.

libgcc/config/aarch64/lse.S:230: Warning: unpredictable: identical transfer and
status registers --`stlxr w17,w17,[x1]

 101 #define w(N)                    glue2(w, N)
 102 #if SIZE < 8
 103 # define s(N)                   w(N)
 104 #else
 105 # define s(N)                   x(N)
 106 #endif
 ...
 230         STXR            w(tmp1), s(tmp1), [x1]


I did not study the LSE code further, as I don't know if this feature is
expected to work with ILP32 (as in perhaps not scheduled for release).

Reply via email to