[PATCH] D45321: [atomics] Fix runtime calls for misaligned atomics

Tim Northover via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Apr 6 09:25:09 PDT 2018


t.p.northover added inline comments.


================
Comment at: compiler-rt/lib/builtins/atomic.c:158
         /* FIXME: __uint128_t isn't available on 32 bit platforms.
         LOCK_FREE_ACTION(__uint128_t);*/\
       }\
----------------
efriedma wrote:
> We also need to fix this FIXME, for correctness... if we have a 16-byte atomic store implementation, we need to use it.
Any chance I could skip that for now?

It's an order of magnitude harder than fixing the misalignment problems since LLVM already generates a mixture of libcalls and cmpxchg based on the CPU for x86, which forces this to be a runtime CPUID check.






Repository:
  rCRT Compiler Runtime

https://reviews.llvm.org/D45321





More information about the llvm-commits mailing list