xref: /llvm-project/clang/test/CodeGenCXX/amdgpu-float16.cpp (revision 9e67d129f07993c90d71e995285f842d0b585cb0)
1*9e67d129SYaxun Liu // REQUIRES: amdgpu-registered-target
244697012SYaxun Liu // RUN: %clang_cc1 -triple amdgcn-amd-amdhsa -target-cpu gfx701 -S -o - %s | FileCheck %s -check-prefix=NOF16
344697012SYaxun Liu // RUN: %clang_cc1 -triple amdgcn-amd-amdhsa -target-cpu gfx803 -S -o - %s | FileCheck %s
444697012SYaxun Liu // RUN: %clang_cc1 -triple amdgcn-amd-amdhsa -target-cpu gfx900 -S -o - %s | FileCheck %s
544697012SYaxun Liu // RUN: %clang_cc1 -triple amdgcn-amd-amdhsa -target-cpu gfx906 -S -o - %s | FileCheck %s
f()644697012SYaxun Liu void f() {
744697012SYaxun Liu   _Float16 x, y, z;
844697012SYaxun Liu   // CHECK: v_add_f16_e64
944697012SYaxun Liu   // NOF16: v_add_f32_e64
1044697012SYaxun Liu   z = x + y;
1144697012SYaxun Liu   // CHECK: v_sub_f16_e64
1244697012SYaxun Liu   // NOF16: v_sub_f32_e64
1344697012SYaxun Liu   z = x - y;
1444697012SYaxun Liu   // CHECK: v_mul_f16_e64
1544697012SYaxun Liu   // NOF16: v_mul_f32_e64
1644697012SYaxun Liu   z = x * y;
1744697012SYaxun Liu   // CHECK: v_div_fixup_f16
1844697012SYaxun Liu   // NOF16: v_div_fixup_f32
1944697012SYaxun Liu   z = x / y;
2044697012SYaxun Liu }
21