Add element atomic memmove intrinsic
authorDaniel Neilson <dneilson@azul.com>
Wed, 12 Jul 2017 15:25:26 +0000 (15:25 +0000)
committerDaniel Neilson <dneilson@azul.com>
Wed, 12 Jul 2017 15:25:26 +0000 (15:25 +0000)
commit57226ef33cd31cef0bcfd8cb492b8d1a2253ac3a
treec1ab24309644ecd9a5291fd27f0ebfa8f9950435
parente092634f31afdf0fa5f82d81223d4726cfc7c537
Add element atomic memmove intrinsic

Summary: Continuing the work from https://reviews.llvm.org/D33240, this change introduces an element unordered-atomic memmove intrinsic. This intrinsic is essentially memmove with the implementation requirement that all loads/stores used for the copy are done with unordered-atomic loads/stores of a given element size.

Reviewers: eli.friedman, reames, mkazantsev, skatkov

Reviewed By: reames

Subscribers: llvm-commits

Differential Revision: https://reviews.llvm.org/D34884

llvm-svn: 307796
llvm/docs/LangRef.rst
llvm/include/llvm/CodeGen/RuntimeLibcalls.h
llvm/include/llvm/IR/IntrinsicInst.h
llvm/include/llvm/IR/Intrinsics.td
llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
llvm/lib/CodeGen/TargetLoweringBase.cpp
llvm/lib/IR/Verifier.cpp
llvm/test/CodeGen/X86/element-wise-atomic-memory-intrinsics.ll
llvm/test/Verifier/element-wise-atomic-memory-intrinsics.ll