Displaying 3 results from an estimated 3 matches for "atomic_fetch_add_store".
2004 Dec 02
3
[LLVMdev] Adding xadd instruction to X86
...lowing entry to X86InstrInfo.td:
def XADD32mr : I<0x87, MRMDestMem,
(ops i32mem:$src1, R32:$src2),
"xadd{l} {$src1|$src2}, {$src2|$src1}">;
The xadd is emitted for the intrinsic function:
call int (<integer type>*, <integer type>)*
%llvm.atomic_fetch_add_store(<integer type>* <pointer>,
<integer type> <value>)
I currently have the following code (PtrReg contains the
pointer argument, ValReg the value arg, and TmpReg an unused
register.):
addDirectMem(BuildMI(BB, X...
2004 Dec 02
0
[LLVMdev] Adding xadd instruction to X86
...mem:$src1, R32:$src2),
This looks fine.
> "xadd{l} {$src1|$src2}, {$src2|$src1}">;
I haven't checked this, but it's probably fine.
> The xadd is emitted for the intrinsic function:
> call int (<integer type>*, <integer type>)*
> %llvm.atomic_fetch_add_store(<integer type>* <pointer>,
>
> <integer type> <value>)
>
> I currently have the following code (PtrReg contains the
> pointer argument, ValReg the value arg, and TmpReg an unused
> register.):
>
> addDirectMem(BuildMI(BB, X86::XADD32mr, 4,
> TmpReg...
2004 Dec 03
2
[LLVMdev] Adding xadd instruction to X86
...;
>> "xadd{l} {$src1|$src2}, {$src2|$src1}">;
>
>
> I haven't checked this, but it's probably fine.
>
>
>>The xadd is emitted for the intrinsic function:
>>call int (<integer type>*, <integer type>)*
>>%llvm.atomic_fetch_add_store(<integer type>* <pointer>,
>>
>><integer type> <value>)
>>
>>I currently have the following code (PtrReg contains the
>>pointer argument, ValReg the value arg, and TmpReg an unused
>>register.):
>>
>>addDirectMem(BuildMI(BB, X8...