Clobbers in assembly inline
Opened this issue · 0 comments
r00t0s commented
define void @disasm() {
entry:
%0 = tail call i64 asm "", "={rsp},~{dirflag},~{fpsr},~{flags}"() #0
%1 = add i64 %0, 56
tail call void asm "", "{rsp},~{dirflag},~{fpsr},~{flags}"(i64 %1) #0
ret void
}
Is translated to:
void disasm(void) {
uint64_t _1;
uint64_t _2;
__asm__ volatile (""
:
:);
_2 = llvm_add_u64(_1, 56);
__asm__ volatile (""
:
:);
}
Looks like it not add that clobbers ={rsp},{dirflag},{fpsr},~{flags} and dont use assembly variables