summaryrefslogtreecommitdiffstats
path: root/llvm/utils/vim/syntax/tablegen.vim
diff options
context:
space:
mode:
authorTim Northover <tnorthover@apple.com>2016-12-01 21:31:59 +0000
committerTim Northover <tnorthover@apple.com>2016-12-01 21:31:59 +0000
commit5bb87b6769aaabae141d76ddbf705f2aca566b6c (patch)
treec1741863629f754018a9d35247cfb8c9dd4523f9 /llvm/utils/vim/syntax/tablegen.vim
parent873947141b376ad1691ddc66881020de4ce91f7e (diff)
downloadbcm5719-llvm-5bb87b6769aaabae141d76ddbf705f2aca566b6c.tar.gz
bcm5719-llvm-5bb87b6769aaabae141d76ddbf705f2aca566b6c.zip
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
Diffstat (limited to 'llvm/utils/vim/syntax/tablegen.vim')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud