[PATCH] D18356: [selectionDAG][atomics] Add sign extension handling to atom cmp and swap
Simon Dardis via llvm-commits
llvm-commits at lists.llvm.org
Tue Mar 22 09:42:32 PDT 2016
sdardis created this revision.
sdardis added subscribers: t.p.northover, vkalintiris, llvm-commits.
Herald added a subscriber: dsanders.
ATOMIC_CMP_AND_SWAP_WITH_SUCCESS needs to generate sign extension nodes for
targets that sign extend their implementation of ATOMIC_CMP_AND_SWAP.
This is required as MIPS canonicalises the result of atomic operations into sign extended
form. The resulting setCC can then have ATOMIC_CMP_AND_SWAP operand which is
signed and an operand which may be unsigned.
http://reviews.llvm.org/D18356
Files:
include/llvm/Target/TargetLowering.h
lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
lib/Target/Mips/MipsISelLowering.h
test/CodeGen/Mips/atomic.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D18356.51292.patch
Type: text/x-patch
Size: 5291 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160322/16c4da2b/attachment.bin>
More information about the llvm-commits
mailing list