Home | History | Annotate | Download | only in NVPTX
      1 ; RUN: llc < %s -march=nvptx -mcpu=sm_20 | FileCheck %s
      2 
      3 ; CHECK: mulwide16
      4 define i32 @mulwide16(i16 %a, i16 %b) {
      5 ; CHECK: mul.wide.s16
      6   %val0 = sext i16 %a to i32
      7   %val1 = sext i16 %b to i32
      8   %val2 = mul i32 %val0, %val1
      9   ret i32 %val2
     10 }
     11 
     12 ; CHECK: mulwideu16
     13 define i32 @mulwideu16(i16 %a, i16 %b) {
     14 ; CHECK: mul.wide.u16
     15   %val0 = zext i16 %a to i32
     16   %val1 = zext i16 %b to i32
     17   %val2 = mul i32 %val0, %val1
     18   ret i32 %val2
     19 }
     20 
     21 ; CHECK: mulwide32
     22 define i64 @mulwide32(i32 %a, i32 %b) {
     23 ; CHECK: mul.wide.s32
     24   %val0 = sext i32 %a to i64
     25   %val1 = sext i32 %b to i64
     26   %val2 = mul i64 %val0, %val1
     27   ret i64 %val2
     28 }
     29 
     30 ; CHECK: mulwideu32
     31 define i64 @mulwideu32(i32 %a, i32 %b) {
     32 ; CHECK: mul.wide.u32
     33   %val0 = zext i32 %a to i64
     34   %val1 = zext i32 %b to i64
     35   %val2 = mul i64 %val0, %val1
     36   ret i64 %val2
     37 }
     38