// NOTE: Assertions have been autogenerated by utils/update_cc_test_checks.py UTC_ARGS: --version 5 // RUN: %clang_cc1 -triple amdgcn-- -target-cpu gfx1100 %s -emit-llvm -o - | FileCheck %s #pragma OPENCL EXTENSION cl_khr_fp16 : enable typedef int int4 __attribute__((ext_vector_type(4))); typedef float float4 __attribute__((ext_vector_type(4))); typedef _Float16 float16_4 __attribute__((ext_vector_type(4))); typedef half half4 __attribute__((ext_vector_type(4))); // CHECK-LABEL: define dso_local noundef <4 x half> @test_assign_half4_to_float16_4( // CHECK-SAME: <4 x half> noundef returned [[F16_4:%.*]]) local_unnamed_addr #[[ATTR0:[0-9]+]] { // CHECK-NEXT: [[ENTRY:.*:]] // CHECK-NEXT: ret <4 x half> [[F16_4]] // half4 test_assign_half4_to_float16_4(float16_4 f16_4) { return f16_4; } // CHECK-LABEL: define dso_local noundef <4 x half> @test_assign_float16_4_to_half4( // CHECK-SAME: <4 x half> noundef returned [[H4:%.*]]) local_unnamed_addr #[[ATTR0]] { // CHECK-NEXT: [[ENTRY:.*:]] // CHECK-NEXT: ret <4 x half> [[H4]] // float16_4 test_assign_float16_4_to_half4(half4 h4) { return h4; } // CHECK-LABEL: define dso_local noundef <4 x half> @test_float16_4_to_half4( // CHECK-SAME: <4 x half> noundef returned [[F16_4:%.*]]) local_unnamed_addr #[[ATTR0]] { // CHECK-NEXT: [[ENTRY:.*:]] // CHECK-NEXT: ret <4 x half> [[F16_4]] // half4 test_float16_4_to_half4(float16_4 f16_4) { return (half4)f16_4; }