[InstCombine] Signed saturation patterns
[llvm-complete.git] / test / CodeGen / AArch64 / fp16_intrinsic_vector_3op.ll
blobc8a33a6cf5c22cc9bc661acdeafd550b7d6c8a1e
1 ; RUN: llc < %s -mtriple=aarch64-eabi -mattr=+v8.2a,+fullfp16  | FileCheck %s
3 declare <4 x half> @llvm.fma.v4f16(<4 x half>, <4 x half>, <4 x half>)
4 declare <8 x half> @llvm.fma.v8f16(<8 x half>, <8 x half>, <8 x half>)
6 define dso_local <4 x half> @t_vfma_f16(<4 x half> %a, <4 x half> %b, <4 x half> %c) {
7 ; CHECK-LABEL: t_vfma_f16:
8 ; CHECK:         fmla v0.4h, v2.4h, v1.4h
9 ; CHECK-NEXT:    ret
10 entry:
11   %0 = tail call <4 x half> @llvm.fma.v4f16(<4 x half> %b, <4 x half> %c, <4 x half> %a)
12   ret <4 x half> %0
15 define dso_local <8 x half> @t_vfmaq_f16(<8 x half> %a, <8 x half> %b, <8 x half> %c) {
16 ; CHECK-LABEL: t_vfmaq_f16:
17 ; CHECK:         fmla v0.8h, v2.8h, v1.8h
18 ; CHECK-NEXT:    ret
19 entry:
20   %0 = tail call <8 x half> @llvm.fma.v8f16(<8 x half> %b, <8 x half> %c, <8 x half> %a)
21   ret <8 x half> %0