brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.5 KiB · e08e982 Raw
57 lines · plain
1; RUN: llc < %s -mtriple=nvptx64 -mcpu=sm_20 | FileCheck %s2; RUN: %if ptxas %{ llc < %s -mtriple=nvptx64 -mcpu=sm_20 | %ptxas-verify %}3 4; CHECK-LABEL: foo5; CHECK: setp.ne.b16 %[[P:p[0-9]+]], %{{.*}}, 0;6; CHECK: selp.b32 %[[R:r[0-9]+]], 1, 0, %[[P]];7; CHECK: cvt.rn.f32.u32 %r{{.*}}, %[[R]]8define float @foo(i1 %a) {9  %ret = uitofp i1 %a to float10  ret float %ret11}12 13; CHECK-LABEL: foo214; CHECK: setp.ne.b16 %[[P:p[0-9]+]], %{{.*}}, 0;15; CHECK: selp.b32 %[[R:r[0-9]+]], -1, 0, %[[P]];16; CHECK: cvt.rn.f32.s32 %r{{.*}}, %[[R]]17define float @foo2(i1 %a) {18  %ret = sitofp i1 %a to float19  ret float %ret20}21 22; CHECK-LABEL: foo323; CHECK: setp.ne.b16 %[[P:p[0-9]+]], %{{.*}}, 0;24; CHECK: selp.b32 %[[R:r[0-9]+]], 1, 0, %[[P]];25; CHECK: cvt.rn.f64.u32 %rd{{.*}}, %[[R]]26define double @foo3(i1 %a) {27  %ret = uitofp i1 %a to double28  ret double %ret29}30 31; CHECK-LABEL: foo432; CHECK: setp.ne.b16 %[[P:p[0-9]+]], %{{.*}}, 0;33; CHECK: selp.b32 %[[R:r[0-9]+]], -1, 0, %[[P]];34; CHECK: cvt.rn.f64.s32 %rd{{.*}}, %[[R]]35define double @foo4(i1 %a) {36  %ret = sitofp i1 %a to double37  ret double %ret38}39 40; CHECK-LABEL: foo541; CHECK: setp.ne.b16 %[[P:p[0-9]+]], %{{.*}}, 0;42; CHECK: selp.b32 %[[R:r[0-9]+]], 1, 0, %[[P]];43; CHECK: cvt.rn.f16.u32 %{{.*}}, %[[R]]44define half @foo5(i1 %a) {45  %ret = uitofp i1 %a to half46  ret half %ret47}48 49; CHECK-LABEL: foo650; CHECK: setp.ne.b16 %[[P:p[0-9]+]], %{{.*}}, 0;51; CHECK: selp.b32 %[[R:r[0-9]+]], -1, 0, %[[P]];52; CHECK: cvt.rn.f16.s32 %{{.*}}, %[[R]]53define half @foo6(i1 %a) {54  %ret = sitofp i1 %a to half55  ret half %ret56}57