diff --git a/llvm/test/CodeGen/SPIRV/llvm-intrinsics/tan.ll b/llvm/test/CodeGen/SPIRV/llvm-intrinsics/tan.ll new file mode 100644 index 0000000000000..dfb185da3a6be --- /dev/null +++ b/llvm/test/CodeGen/SPIRV/llvm-intrinsics/tan.ll @@ -0,0 +1,21 @@ +; RUN: llc -verify-machineinstrs -O0 -mtriple=spirv32-unknown-unknown %s -o - | FileCheck %s +; RUN: %if spirv-tools %{ llc -O0 -mtriple=spirv32-unknown-unknown %s -o - -filetype=obj | spirv-val %} + +; CHECK-DAG: %[[#ext:]] = OpExtInstImport "OpenCL.std" +; CHECK-DAG: %[[#type_f32:]] = OpTypeFloat 32 +; CHECK-DAG: %[[#type_f64:]] = OpTypeFloat 64 +; CHECK: %[[#extinst_f32:]] = OpExtInst %[[#type_f32]] %[[#ext]] tan %[[#]] +; CHECK: %[[#extinst_f64:]] = OpExtInst %[[#type_f64]] %[[#ext]] tan %[[#]] + +define float @test_tan_f32(float %x) { + %res = call float @llvm.tan.f32(float %x) + ret float %res +} + +define double @test_tan_f64(double %x) { + %res = call double @llvm.tan.f64(double %x) + ret double %res +} + +declare float @llvm.tan.f32(float) +declare double @llvm.tan.f64(double) diff --git a/llvm/test/CodeGen/SPIRV/zero-length-array.ll b/llvm/test/CodeGen/SPIRV/zero-length-array.ll new file mode 100644 index 0000000000000..668bf2018dec7 --- /dev/null +++ b/llvm/test/CodeGen/SPIRV/zero-length-array.ll @@ -0,0 +1,12 @@ +; RUN: llc -verify-machineinstrs -O0 -mtriple=spirv64-unknown-unknown %s -o - | FileCheck %s +; RUN: %if spirv-tools %{ llc -O0 -mtriple=spirv64-unknown-unknown %s -o - -filetype=obj | spirv-val %} + +; CHECK: %[[#type:]] = OpTypeInt 32 0 +; CHECK: %[[#ext:]] = OpTypeRuntimeArray %[[#type]] +; CHECK: %[[#]] = OpTypePointer Function %[[#ext]] + +define spir_func void @_Z3foov() { +entry: + %i = alloca [0 x i32], align 4 + ret void +}