xref: /aosp_15_r20/external/clang/test/CodeGenOpenCL/fpmath.cl (revision 67e74705e28f6214e480b399dd47ea732279e315)
1*67e74705SXin Li// RUN: %clang_cc1 %s -emit-llvm -o - -triple spir-unknown-unknown | FileCheck %s
2*67e74705SXin Li
3*67e74705SXin Litypedef __attribute__(( ext_vector_type(4) )) float float4;
4*67e74705SXin Li
5*67e74705SXin Lifloat spscalardiv(float a, float b) {
6*67e74705SXin Li  // CHECK: @spscalardiv
7*67e74705SXin Li  // CHECK: fdiv{{.*}}, !fpmath ![[MD:[0-9]+]]
8*67e74705SXin Li  return a / b;
9*67e74705SXin Li}
10*67e74705SXin Li
11*67e74705SXin Lifloat4 spvectordiv(float4 a, float4 b) {
12*67e74705SXin Li  // CHECK: @spvectordiv
13*67e74705SXin Li  // CHECK: fdiv{{.*}}, !fpmath ![[MD]]
14*67e74705SXin Li  return a / b;
15*67e74705SXin Li}
16*67e74705SXin Li
17*67e74705SXin Li#pragma OPENCL EXTENSION cl_khr_fp64 : enable
18*67e74705SXin Li
19*67e74705SXin Lidouble dpscalardiv(double a, double b) {
20*67e74705SXin Li  // CHECK: @dpscalardiv
21*67e74705SXin Li  // CHECK-NOT: !fpmath
22*67e74705SXin Li  return a / b;
23*67e74705SXin Li}
24*67e74705SXin Li
25*67e74705SXin Li// CHECK: ![[MD]] = !{float 2.500000e+00}
26