Hi! It is said in http://llvm.org/docs/LangRef.html#i_atomicrmw there is an atomicrmw opcode. But: store i8 %2, i8* %tape1.sub %3 = atomicrmw add i8* %tape1.sub, i8 1 acquire fails with: llc: test.bc:13:9: error: expected instruction opcode %3 = atomicrmw add i8* %tape1.sub, i8 1 acquire How can I do *ptr = *ptr + val with LLVM ?