Displaying 3 results from an estimated 3 matches for "createatomicrmw".
2015 Apr 24
4
[LLVMdev] Floating point atomic load and add
Hello,
I'm wondering how I can create an atomic load and add instruction for
floating point values. If I use IRBuilder::CreateAtomicRMW() I
get the error message: "atomicrmw operand must have integer type".
I am using LLVM 3.4 and the only system I need to support is x86.
2015 Apr 24
3
[LLVMdev] Floating point atomic load and add
Quoting Tim Northover <t.p.northover at gmail.com>:
> On 24 April 2015 at 13:53, Tyler Denniston <tyler at csail.mit.edu> wrote:
>> I'm wondering how I can create an atomic load and add instruction for
>> floating point values. If I use IRBuilder::CreateAtomicRMW() I get the
>> error message: "atomicrmw operand must have integer type".
>
> I don't think x86 allows you to use a lock prefix on floating point
> instructions, just basic arithmetic and cmpxchg. You'll probably need
> to put a loop around cmpxchg instructions t...
2014 Mar 07
3
[LLVMdev] [RFC] Add second "failure" AtomicOrdering to cmpxchg instruction
...ing,
+ AtomicOrdering FailureOrdering,
+ SynchronizationScope SynchScope = CrossThread) {
+ return Insert(new AtomicCmpXchgInst(Ptr, Cmp, New, SuccessOrdering,
+ FailureOrdering, SynchScope));
}
AtomicRMWInst *CreateAtomicRMW(AtomicRMWInst::BinOp Op, Value *Ptr, Value *Val,
AtomicOrdering Ordering,
diff --git a/include/llvm/IR/Instructions.h b/include/llvm/IR/Instructions.h
index c249f87..bf39b21 100644
--- a/include/llvm/IR/Instructions.h
+++ b/include/llvm/IR/Instructions.h
@@ -463,7...