; Function Attrs: nounwind define i64 @cb(i64 %0) #0 { entry: %alloca = alloca i64, align 8 store i64 %0, ptr %alloca, align 8 %load = load i64, ptr %alloca, align 8 %add = add i64 %load, 1 ret i64 %add } ; Function Attrs: nounwind define internal i64 @tramp(i64 %0) #0 { entry: %alloca = alloca i64, align 8 store i64 %0, ptr %alloca, align 8 %load = load i64, ptr %alloca, align 8 %asm = call i64 asm sideeffect " stp x29, x30, [sp, #-16]!\0A mov x0, ${1}\0A bl ${2:c}\0A mov ${0}, x0\0A ldp x29, x30, [sp], #16\0A", "=r,r,s,~{x0},~{x30},~{memory}"(i64 %load, ptr @cb) ret i64 %asm } ; Function Attrs: nounwind define i32 @main() #0 { entry: %call = call i64 @tramp(i64 41) %ca.tr = trunc i64 %call to i32 ret i32 %ca.tr }