.version 6.5 .target sm_30 .address_size 64 .visible .entry foobar( .param .u32 foobar_param_0 ) { .reg .u32 %reg<10>; .reg .u64 %reg_64; .reg .pred p; .reg .pred q; // reg ld.param.u32 %reg0, [foobar_param_0]; // reg with offset ld.param.u32 %reg1, [foobar_param_0+1]; ld.param.u32 %reg2, [foobar_param_0+-1]; // immediate - only in local ld.local.u32 %reg3, [1]; // ids add.u32 %reg0, %reg1, %reg2; // immediate add.u32 %reg0, 1, %reg2; // reg with offset add.u32 %reg0, %reg1+1, %reg2+-1; // suprisingly, setp accepts all forms setp.eq.and.u32 p, %reg1+1, %reg2+-1, 2; // vector index - only supported by mov (maybe: ld, st, tex) mov.u32 %reg0, %ntid.x; }