- asm ("\n"
- "shl.b32 %8, %4, %12;\n"
- "shl.b32 %9, %5, %12;\n"
- "shl.b32 %10, %6, %12;\n"
- "shl.b32 %11, %7, %12;\n"
- "shr.b32 %0, %4, %13;\n"
- "shr.b32 %1, %5, %13;\n"
- "shr.b32 %2, %6, %13;\n"
- "shr.b32 %3, %7, %13;\n"
- "add.u32 %0, %0, %8;\n"
- "add.u32 %1, %1, %9;\n"
- "add.u32 %2, %2, %10;\n"
- "add.u32 %3, %3, %11;\n"
+ asm ("shr.b32 %8, %4, %12;\n"
+ "shr.b32 %9, %5, %12;\n"
+ "shr.b32 %10, %6, %12;\n"
+ "shr.b32 %11, %7, %12;\n"
+ "mad.lo.u32 %0, %4, %13, %8;\n"
+ "mad.lo.u32 %1, %5, %13, %9;\n"
+ "mad.lo.u32 %2, %6, %13, %10;\n"
+ "mad.lo.u32 %3, %7, %13, %11;\n"