Lines Matching defs:half
3 typedef _Float16 half;
5 typedef half half2 __attribute__((ext_vector_type(2)));
1095 half f16, half2 v2f16) {
1138 // CHECK: [[F16_0:%.+]] = load half, ptr %f16.addr
1139 // CHECK-NEXT: [[F16_1:%.+]] = load half, ptr %f16.addr
1140 // CHECK-NEXT: [[F16_2:%.+]] = load half, ptr %f16.addr
1141 // CHECK-NEXT: call half @llvm.fma.f16(half [[F16_0]], half [[F16_1]], half [[F16_2]])
1142 half tmp_f16 = __builtin_elementwise_fma(f16, f16, f16);
1144 // CHECK: [[V2F16_0:%.+]] = load <2 x half>, ptr %v2f16.addr
1145 // CHECK-NEXT: [[V2F16_1:%.+]] = load <2 x half>, ptr %v2f16.addr
1146 // CHECK-NEXT: [[V2F16_2:%.+]] = load <2 x half>, ptr %v2f16.addr
1147 // CHECK-NEXT: call <2 x half> @llvm.fma.v2f16(<2 x half> [[V2F16_0]], <2 x half> [[V2F16_1]], <2 x half> [[V2F16_2]])
1150 // CHECK: [[V2F16_0:%.+]] = load <2 x half>, ptr %v2f16.addr
1151 // CHECK-NEXT: [[V2F16_1:%.+]] = load <2 x half>, ptr %v2f16.addr
1152 // CHECK-NEXT: [[F16_2:%.+]] = load half, ptr %f16.addr
1154 // CHECK-NEXT: [[V2F16_2:%.+]] = shufflevector <2 x half> [[V2F16_2_INSERT]], <2 x half> poison, <2 x i32> zeroinitializer
1155 // CHECK-NEXT: call <2 x half> @llvm.fma.v2f16(<2 x half> [[V2F16_0]], <2 x half> [[V2F16_1]], <2 x half> [[V2F16_2]])
1158 // CHECK: [[V2F16_0:%.+]] = load <2 x half>, ptr %v2f16.addr
1159 // CHECK-NEXT: [[V2F16_1:%.+]] = load <2 x half>, ptr %v2f16.addr
1160 // CHECK-NEXT: call <2 x half> @llvm.fma.v2f16(<2 x half> [[V2F16_0]], <2 x half> [[V2F16_1]], <2 x half> splat (half 0xH4400))