blob: af1c858cfb7590d592a60be43a7ef9a5f10929da [file] [log] [blame]
;; #pragma OPENCL EXTENSION cl_khr_fp16 : enable
;; half test()
;; {
;; half x = 0.1f;
;; x += 2.0f;
;; half y = x + x;
;; return y;
;; }
; RUN: llc -O0 -opaque-pointers=0 -mtriple=spirv64-unknown-unknown %s -o - | FileCheck %s --check-prefix=CHECK-SPIRV
; CHECK-SPIRV-DAG: OpCapability Float16Buffer
; CHECK-SPIRV-DAG: OpCapability Float16
define spir_func half @test() {
entry:
%x = alloca half, align 2
%y = alloca half, align 2
store half 0xH2E66, half* %x, align 2
%0 = load half, half* %x, align 2
%conv = fpext half %0 to float
%add = fadd float %conv, 2.000000e+00
%conv1 = fptrunc float %add to half
store half %conv1, half* %x, align 2
%1 = load half, half* %x, align 2
%2 = load half, half* %x, align 2
%add2 = fadd half %1, %2
store half %add2, half* %y, align 2
%3 = load half, half* %y, align 2
ret half %3
}