brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.5 KiB · 64c0cd7 Raw
44 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 52; RUN: llc < %s -mtriple=nvptx64 -mcpu=sm_20 | FileCheck %s3; RUN: %if ptxas %{ llc < %s -mtriple=nvptx64 -mcpu=sm_20 | %ptxas-verify %}4 5define float @test(float %x) {6; CHECK-LABEL: test(7; CHECK:       {8; CHECK-NEXT:    .reg .b32 %r<3>;9; CHECK-EMPTY:10; CHECK-NEXT:  // %bb.0: // %entry11; CHECK-NEXT:    ld.param.b32 %r2, [test_param_0];12; CHECK-NEXT:    // begin inline asm13; CHECK-NEXT:    ex2.approx.ftz.f32 %r1, %r2;14; CHECK-NEXT:    // end inline asm15; CHECK-NEXT:    st.param.b32 [func_retval0], %r1;16; CHECK-NEXT:    ret;17entry:18  %0 = call float asm "ex2.approx.ftz.f32 $0, $1;", "=f,f"(float %x)19  ret float %020}21 22define i32 @foo(i1 signext %cond, i32 %a, i32 %b) #0 {23; CHECK-LABEL: foo(24; CHECK:       {25; CHECK-NEXT:    .reg .pred %p<2>;26; CHECK-NEXT:    .reg .b16 %rs<3>;27; CHECK-NEXT:    .reg .b32 %r<4>;28; CHECK-EMPTY:29; CHECK-NEXT:  // %bb.0: // %entry30; CHECK-NEXT:    ld.param.b8 %rs1, [foo_param_0];31; CHECK-NEXT:    and.b16 %rs2, %rs1, 1;32; CHECK-NEXT:    setp.ne.b16 %p1, %rs2, 0;33; CHECK-NEXT:    ld.param.b32 %r2, [foo_param_1];34; CHECK-NEXT:    ld.param.b32 %r3, [foo_param_2];35; CHECK-NEXT:    // begin inline asm36; CHECK-NEXT:    selp.b32 %r1, %r2, %r3, %p1;37; CHECK-NEXT:    // end inline asm38; CHECK-NEXT:    st.param.b32 [func_retval0], %r1;39; CHECK-NEXT:    ret;40entry:41  %0 = tail call i32 asm "selp.b32 $0, $1, $2, $3;", "=r,r,r,b"(i32 %a, i32 %b, i1 %cond)42  ret i32 %043}44