File tree Expand file tree Collapse file tree 2 files changed +36
-0
lines changed
Expand file tree Collapse file tree 2 files changed +36
-0
lines changed Original file line number Diff line number Diff line change @@ -2666,6 +2666,9 @@ class OpenCLStdToSPIRVFriendlyIRMangleInfo : public BuiltinFuncMangleInfo {
26662666 case OpenCLLIB::S_Upsample:
26672667 addUnsignedArg (1 );
26682668 break ;
2669+ case OpenCLLIB::Nan:
2670+ addUnsignedArg (0 );
2671+ break ;
26692672 case OpenCLLIB::Vloadn:
26702673 case OpenCLLIB::Vload_half:
26712674 case OpenCLLIB::Vload_halfn:
Original file line number Diff line number Diff line change 1+ ; RUN: llvm-as %s -o %t.bc
2+ ; RUN: llvm-spirv %t.bc -o %t.spv
3+ ; RUN: llvm-spirv %t.spv -to-text -o %t.spt
4+ ; RUN: FileCheck < %t.spt %s --check-prefix=CHECK-SPIRV
5+
6+ ; RUN: llvm-spirv -r %t.spv -o %t.rev.bc
7+ ; RUN: llvm-dis < %t.rev.bc | FileCheck %s --check-prefixes=CHECK-LLVM
8+ ; RUN: llvm-spirv -r %t.spv --spirv-target-env=SPV-IR -o %t.rev.bc
9+ ; RUN: llvm-dis < %t.rev.bc | FileCheck %s --check-prefixes=CHECK-SPV-IR
10+
11+ ; Check OpenCL built-in nan translation.
12+
13+ target datalayout = "e-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:256-v512:512-v1024:1024-n8:16:32:64-G1"
14+ target triple = "spir64"
15+
16+ ; CHECK-SPIRV: ExtInst [[#]] [[#]] [[#]] nan
17+
18+ ; CHECK-LLVM: call spir_func float @_Z3nanj(
19+
20+ ; CHECK-SPV-IR: call spir_func float @_Z15__spirv_ocl_nanj(
21+
22+ define dso_local spir_kernel void @test (ptr addrspace (1 ) align 4 %a , i32 %b ) {
23+ entry:
24+ %call = tail call spir_func float @_Z3nanj (i32 %b )
25+ store float %call , ptr addrspace (1 ) %a , align 4
26+ ret void
27+ }
28+
29+ declare spir_func float @_Z3nanj (i32 )
30+
31+ !opencl.ocl.version = !{!0 }
32+
33+ !0 = !{i32 3 , i32 0 }
You can’t perform that action at this time.
0 commit comments