Go to file
Tim Northover 5bb87b6769 AArch64: fix 128-bit cmpxchg at -O0 (again, again).
This time the issue is fortunately just a simple mistake rather than a horrible
design spectre. I thought SUBS/SBCS provided sufficient NZCV flags for
comparing two 64-bit values, but they don't.

The fix is slightly clunkier in AArch64 because we can't use conditional
execution to emit a pair of CMPs. Traditionally an "icmp ne i128" would map to
an EOR/EOR/ORR/CBNZ, but that uses more registers so it's easier to go with a
CSET/CINC/CBNZ combination. Slightly less efficient, but this is -O0 anyway.

Thanks to Anton Korobeynikov for pointing out the issue.

llvm-svn: 288418
2016-12-01 21:31:59 +00:00
clang Add a space in a run line. NFC. 2016-12-01 20:16:56 +00:00
clang-tools-extra Add a blank line to make sphinx happy. 2016-12-01 17:38:54 +00:00
compiler-rt Release memory to OS only when the requested range covers the entire page 2016-11-30 20:41:59 +00:00
debuginfo-tests New round of fixes for "Always compile debuginfo-tests for the host triple" 2014-10-18 23:47:59 +00:00
libclc Fix build since r286752. 2016-11-14 16:06:33 +00:00
libcxx Protect sequences test under libcpp-no-exceptions 2016-12-01 17:36:41 +00:00
libcxxabi __cxa_demangle: use default member initialization 2016-11-18 19:01:53 +00:00
libunwind EHABI: mark some functions as exported 2016-11-17 23:53:35 +00:00
lld Updates file comments and variable names. 2016-12-01 19:45:22 +00:00
lldb Handle empty strings when looking for a CFString's encoding. 2016-12-01 19:14:55 +00:00
llgo [llgo] add llgo source path to LLVM_GO_PACKAGES 2016-07-27 03:01:00 +00:00
llvm AArch64: fix 128-bit cmpxchg at -O0 (again, again). 2016-12-01 21:31:59 +00:00
openmp fixed type in Windows-specific code 2016-12-01 16:08:52 +00:00
parallel-libs [Acxxel] Remove setActiveDeviceForThread 2016-10-28 00:54:02 +00:00
polly [NFC] Check for feasibility prior to the profitability check 2016-12-01 11:12:14 +00:00