xref: /aosp_15_r20/external/llvm/test/CodeGen/NVPTX/inline-asm.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -march=nvptx -mcpu=sm_20 | FileCheck %s
2*9880d681SAndroid Build Coastguard Worker
3*9880d681SAndroid Build Coastguard Worker
4*9880d681SAndroid Build Coastguard Workerdefine float @test(float %x) {
5*9880d681SAndroid Build Coastguard Workerentry:
6*9880d681SAndroid Build Coastguard Worker; CHECK: ex2.approx.ftz.f32 %f{{[0-9]+}}, %f{{[0-9]+}}
7*9880d681SAndroid Build Coastguard Worker  %0 = call float asm "ex2.approx.ftz.f32 $0, $1;", "=f,f"(float %x)
8*9880d681SAndroid Build Coastguard Worker  ret float %0
9*9880d681SAndroid Build Coastguard Worker}
10*9880d681SAndroid Build Coastguard Worker
11*9880d681SAndroid Build Coastguard Workerdefine i32 @foo(i1 signext %cond, i32 %a, i32 %b) #0 {
12*9880d681SAndroid Build Coastguard Workerentry:
13*9880d681SAndroid Build Coastguard Worker; CHECK: selp.b32 %r{{[0-9]+}}, %r{{[0-9]+}}, %r{{[0-9]+}}, %p{{[0-9]+}}
14*9880d681SAndroid Build Coastguard Worker  %0 = tail call i32 asm "selp.b32 $0, $1, $2, $3;", "=r,r,r,b"(i32 %a, i32 %b, i1 %cond)
15*9880d681SAndroid Build Coastguard Worker  ret i32 %0
16*9880d681SAndroid Build Coastguard Worker}
17