1*67d3ef74SVyacheslav Levytskyy; RUN: llc -verify-machineinstrs -O0 -mtriple=spirv64-unknown-unknown %s -o - | FileCheck %s 2f20c9c42SAndrey Tretyakov 3f20c9c42SAndrey Tretyakov; CHECK: %[[#extinst_id:]] = OpExtInstImport "OpenCL.std" 4f20c9c42SAndrey Tretyakov 5f20c9c42SAndrey Tretyakov; CHECK: %[[#var1:]] = OpTypeFloat 32 6f20c9c42SAndrey Tretyakov; CHECK: %[[#var2:]] = OpTypeFloat 64 7f20c9c42SAndrey Tretyakov; CHECK: %[[#var3:]] = OpTypeVector %[[#var1]] 4 8f20c9c42SAndrey Tretyakov 9f20c9c42SAndrey Tretyakov; CHECK: OpFunction 10f20c9c42SAndrey Tretyakov; CHECK: %[[#]] = OpExtInst %[[#var1]] %[[#extinst_id]] ceil 11f20c9c42SAndrey Tretyakov; CHECK: OpFunctionEnd 12f20c9c42SAndrey Tretyakov 13f20c9c42SAndrey Tretyakovdefine spir_func float @TestCeil32(float %x) local_unnamed_addr { 14f20c9c42SAndrey Tretyakoventry: 15f20c9c42SAndrey Tretyakov %0 = tail call float @llvm.ceil.f32(float %x) 16f20c9c42SAndrey Tretyakov ret float %0 17f20c9c42SAndrey Tretyakov} 18f20c9c42SAndrey Tretyakov 19f20c9c42SAndrey Tretyakov; CHECK: OpFunction 20f20c9c42SAndrey Tretyakov; CHECK: %[[#]] = OpExtInst %[[#var2]] %[[#extinst_id]] ceil 21f20c9c42SAndrey Tretyakov; CHECK: OpFunctionEnd 22f20c9c42SAndrey Tretyakov 23f20c9c42SAndrey Tretyakovdefine spir_func double @TestCeil64(double %x) local_unnamed_addr { 24f20c9c42SAndrey Tretyakoventry: 25f20c9c42SAndrey Tretyakov %0 = tail call double @llvm.ceil.f64(double %x) 26f20c9c42SAndrey Tretyakov ret double %0 27f20c9c42SAndrey Tretyakov} 28f20c9c42SAndrey Tretyakov 29f20c9c42SAndrey Tretyakov; CHECK: OpFunction 30f20c9c42SAndrey Tretyakov; CHECK: %[[#]] = OpExtInst %[[#var3]] %[[#extinst_id]] ceil 31f20c9c42SAndrey Tretyakov; CHECK: OpFunctionEnd 32f20c9c42SAndrey Tretyakov 33f20c9c42SAndrey Tretyakovdefine spir_func <4 x float> @TestCeilVec(<4 x float> %x) local_unnamed_addr { 34f20c9c42SAndrey Tretyakoventry: 35f20c9c42SAndrey Tretyakov %0 = tail call <4 x float> @llvm.ceil.v4f32(<4 x float> %x) 36f20c9c42SAndrey Tretyakov ret <4 x float> %0 37f20c9c42SAndrey Tretyakov} 38f20c9c42SAndrey Tretyakov 39f20c9c42SAndrey Tretyakovdeclare float @llvm.ceil.f32(float) 40f20c9c42SAndrey Tretyakov 41f20c9c42SAndrey Tretyakovdeclare double @llvm.ceil.f64(double) 42f20c9c42SAndrey Tretyakov 43f20c9c42SAndrey Tretyakovdeclare <4 x float> @llvm.ceil.v4f32(<4 x float>) 44