93 lines · plain
1// RUN: llvm-mc -triple arm -mattr=+fp16fml,+neon -show-encoding < %s | FileCheck %s --check-prefix=CHECK2// RUN: llvm-mc -triple thumb -mattr=+fp16fml,+neon -show-encoding < %s | FileCheck %s --check-prefix=CHECK-T323// RUN: llvm-mc -triple arm -mattr=-fullfp16,+fp16fml,+neon -show-encoding < %s | FileCheck %s --check-prefix=CHECK4// RUN: llvm-mc -triple thumb -mattr=-fullfp16,+fp16fml,+neon -show-encoding < %s | FileCheck %s --check-prefix=CHECK-T325 6// RUN: not llvm-mc -triple arm -mattr=+v8.2a -show-encoding < %s 2> %t7// RUN: FileCheck --check-prefix=CHECK-NO-FP16FML-NOR-NEON < %t %s8// RUN: not llvm-mc -triple thumb -mattr=+v8.2a -show-encoding < %s 2> %t9// RUN: FileCheck --check-prefix=CHECK-NO-FP16FML-NOR-NEON < %t %s10 11// RUN: not llvm-mc -triple arm -mattr=+v8.2a,+neon -show-encoding < %s 2> %t12// RUN: FileCheck --check-prefix=CHECK-NO-FP16FML < %t %s13// RUN: not llvm-mc -triple thumb -mattr=+v8.2a,+neon -show-encoding < %s 2> %t14// RUN: FileCheck --check-prefix=CHECK-NO-FP16FML < %t %s15 16// RUN: not llvm-mc -triple arm -mattr=+v8.2a,+neon,+fp16fml,-fp16fml -show-encoding < %s 2> %t17// RUN: FileCheck --check-prefix=CHECK-NO-FP16FML < %t %s18// RUN: not llvm-mc -triple thumb -mattr=+v8.2a,+neon,+fp16fml,-fp16fml -show-encoding < %s 2> %t19// RUN: FileCheck --check-prefix=CHECK-NO-FP16FML < %t %s20 21// RUN: not llvm-mc -triple arm -mattr=+v8.2a,+neon,+fullfp16 -show-encoding < %s 2> %t22// RUN: FileCheck --check-prefix=CHECK-NO-FP16FML < %t %s23// RUN: not llvm-mc -triple thumb -mattr=+v8.2a,+neon,+fullfp16 -show-encoding < %s 2> %t24// RUN: FileCheck --check-prefix=CHECK-NO-FP16FML < %t %s25 26// RUN: not llvm-mc -triple arm -mattr=+v8.2a,+neon,+fp16fml,-fullfp16 -show-encoding < %s 2> %t27// RUN: FileCheck --check-prefix=CHECK-NO-FP16FML < %t %s28// RUN: not llvm-mc -triple thumb -mattr=+v8.2a,+neon,+fp16fml,-fullfp16 -show-encoding < %s 2> %t29// RUN: FileCheck --check-prefix=CHECK-NO-FP16FML < %t %s30 31// RUN: not llvm-mc -triple arm -mattr=+v8.2a,+fp16fml -show-encoding < %s 2> %t32// RUN: FileCheck --check-prefix=CHECK-NO-NEON < %t %s33// RUN: not llvm-mc -triple thumb -mattr=+v8.2a,+fp16fml -show-encoding < %s 2> %t34// RUN: FileCheck --check-prefix=CHECK-NO-NEON < %t %s35 36VFMAL.F16 D0, S1, S237vfmsl.f16 d0, s1, s238vfmal.f16 q0, d1, d239VFMSL.F16 Q0, D1, D240 41VFMAL.F16 D0, S1, S2[1]42vfmsl.f16 d0, s1, s2[1]43vfmal.f16 q0, d1, d2[3]44VFMSL.F16 Q0, D1, D2[3]45 46//CHECK: vfmal.f16 d0, s1, s2 @ encoding: [0x91,0x08,0x20,0xfc]47//CHECK: vfmsl.f16 d0, s1, s2 @ encoding: [0x91,0x08,0xa0,0xfc]48//CHECK: vfmal.f16 q0, d1, d2 @ encoding: [0x52,0x08,0x21,0xfc]49//CHECK: vfmsl.f16 q0, d1, d2 @ encoding: [0x52,0x08,0xa1,0xfc]50 51//CHECK: vfmal.f16 d0, s1, s2[1] @ encoding: [0x99,0x08,0x00,0xfe]52//CHECK: vfmsl.f16 d0, s1, s2[1] @ encoding: [0x99,0x08,0x10,0xfe]53//CHECK: vfmal.f16 q0, d1, d2[3] @ encoding: [0x7a,0x08,0x01,0xfe]54//CHECK: vfmsl.f16 q0, d1, d2[3] @ encoding: [0x7a,0x08,0x11,0xfe]55 56//CHECK-T32: vfmal.f16 d0, s1, s2 @ encoding: [0x20,0xfc,0x91,0x08]57//CHECK-T32: vfmsl.f16 d0, s1, s2 @ encoding: [0xa0,0xfc,0x91,0x08]58//CHECK-T32: vfmal.f16 q0, d1, d2 @ encoding: [0x21,0xfc,0x52,0x08]59//CHECK-T32: vfmsl.f16 q0, d1, d2 @ encoding: [0xa1,0xfc,0x52,0x08]60 61//CHECK-T32: vfmal.f16 d0, s1, s2[1] @ encoding: [0x00,0xfe,0x99,0x08]62//CHECK-T32: vfmsl.f16 d0, s1, s2[1] @ encoding: [0x10,0xfe,0x99,0x08]63//CHECK-T32: vfmal.f16 q0, d1, d2[3] @ encoding: [0x01,0xfe,0x7a,0x08]64//CHECK-T32: vfmsl.f16 q0, d1, d2[3] @ encoding: [0x11,0xfe,0x7a,0x08]65 66//CHECK-NO-FP16FML: instruction requires: full half-float fml{{$}}67//CHECK-NO-FP16FML: instruction requires: full half-float fml{{$}}68//CHECK-NO-FP16FML: instruction requires: full half-float fml{{$}}69//CHECK-NO-FP16FML: instruction requires: full half-float fml{{$}}70//CHECK-NO-FP16FML: instruction requires: full half-float fml{{$}}71//CHECK-NO-FP16FML: instruction requires: full half-float fml{{$}}72//CHECK-NO-FP16FML: instruction requires: full half-float fml{{$}}73//CHECK-NO-FP16FML: instruction requires: full half-float fml{{$}}74 75//CHECK-NO-FP16FML-NOR-NEON: instruction requires: full half-float fml NEON{{$}}76//CHECK-NO-FP16FML-NOR-NEON: instruction requires: full half-float fml NEON{{$}}77//CHECK-NO-FP16FML-NOR-NEON: instruction requires: full half-float fml NEON{{$}}78//CHECK-NO-FP16FML-NOR-NEON: instruction requires: full half-float fml NEON{{$}}79//CHECK-NO-FP16FML-NOR-NEON: instruction requires: full half-float fml NEON{{$}}80//CHECK-NO-FP16FML-NOR-NEON: instruction requires: full half-float fml NEON{{$}}81//CHECK-NO-FP16FML-NOR-NEON: instruction requires: full half-float fml NEON{{$}}82//CHECK-NO-FP16FML-NOR-NEON: instruction requires: full half-float fml NEON{{$}}83 84//CHECK-NO-NEON: instruction requires: NEON{{$}}85//CHECK-NO-NEON: instruction requires: NEON{{$}}86//CHECK-NO-NEON: instruction requires: NEON{{$}}87//CHECK-NO-NEON: instruction requires: NEON{{$}}88//CHECK-NO-NEON: instruction requires: NEON{{$}}89//CHECK-NO-NEON: instruction requires: NEON{{$}}90//CHECK-NO-NEON: instruction requires: NEON{{$}}91//CHECK-NO-NEON: instruction requires: NEON{{$}}92 93