.version 6.5 .target sm_30 .address_size 64 .extern .func (.param .align 16 .b8 func_retval0[16]) foobar ( .param .b64 extern_func ) ; .visible .entry extern_func( .param .u64 input, .param .u64 output ) { .reg .u64 in_addr; .reg .u64 out_addr; .reg .u64 temp; .reg .u64 temp2; ld.param.u64 in_addr, [input]; ld.param.u64 out_addr, [output]; ld.global.u64 temp, [in_addr]; { .param .b64 param0; st.param.b64 [param0+0], temp; .param .align 16 .b8 retval0[16]; call.uni (retval0) , foobar , ( param0 ); ld.param.u64 temp2, [retval0]; } st.u64 [out_addr], temp2; ret; }