1# RUN: llvm-mc -triple thumbv8a -mattr=+v8.3a,+neon,+fullfp16 -disassemble < %s 2>&1 | FileCheck %s --check-prefix=CHECK --check-prefix=CHECK-FP16 2# RUN: not llvm-mc -triple thumbv8a -mattr=+v8.2a,+neon,+fullfp16 -disassemble < %s 2>&1 | FileCheck %s --check-prefix=MISSING --check-prefix=MISSING-FP16 3# RUN: not llvm-mc -triple thumbv8a -mattr=+v8.3a,-neon,+fullfp16 -disassemble < %s 2>&1 | FileCheck %s --check-prefix=MISSING --check-prefix=MISSING-FP16 4# RUN: not llvm-mc -triple thumbv8a -mattr=+v8.3a,+neon,-fullfp16 -disassemble < %s 2>%t | FileCheck %s --check-prefix=CHECK 5# RUN: FileCheck %s < %t --check-prefix=MISSING-FP16 6 7[0x21,0xfc,0x02,0x08] 8# CHECK-FP16: vcmla.f16 d0, d1, d2, #0 9# MISSING-FP16: warning: invalid instruction encoding 10[0x22,0xfc,0x44,0x08] 11# CHECK-FP16: vcmla.f16 q0, q1, q2, #0 12# MISSING-FP16: warning: invalid instruction encoding 13[0x31,0xfc,0x02,0x08] 14# CHECK: vcmla.f32 d0, d1, d2, #0 15# MISSING: warning: invalid instruction encoding 16[0x32,0xfc,0x44,0x08] 17# CHECK: vcmla.f32 q0, q1, q2, #0 18# MISSING: warning: invalid instruction encoding 19[0xb1,0xfc,0x02,0x08] 20# CHECK: vcmla.f32 d0, d1, d2, #90 21# MISSING: warning: invalid instruction encoding 22[0x31,0xfd,0x02,0x08] 23# CHECK: vcmla.f32 d0, d1, d2, #180 24# MISSING: warning: invalid instruction encoding 25[0xb1,0xfd,0x02,0x08] 26# CHECK: vcmla.f32 d0, d1, d2, #270 27# MISSING: warning: invalid instruction encoding 28[0x81,0xfc,0x02,0x08] 29# CHECK-FP16: vcadd.f16 d0, d1, d2, #90 30# MISSING-FP16: warning: invalid instruction encoding 31[0x82,0xfc,0x44,0x08] 32# CHECK-FP16: vcadd.f16 q0, q1, q2, #90 33# MISSING-FP16: warning: invalid instruction encoding 34[0x91,0xfc,0x02,0x08] 35# CHECK: vcadd.f32 d0, d1, d2, #90 36# MISSING: warning: invalid instruction encoding 37[0x92,0xfc,0x44,0x08] 38# CHECK: vcadd.f32 q0, q1, q2, #90 39# MISSING: warning: invalid instruction encoding 40[0x91,0xfd,0x02,0x08] 41# CHECK: vcadd.f32 d0, d1, d2, #270 42# MISSING: warning: invalid instruction encoding 43[0x01,0xfe,0x02,0x08] 44# CHECK-FP16: vcmla.f16 d0, d1, d2[0], #0 45# MISSING-FP16: warning: invalid instruction encoding 46[0x02,0xfe,0x42,0x08] 47# CHECK-FP16: vcmla.f16 q0, q1, d2[0], #0 48# MISSING-FP16: warning: invalid instruction encoding 49[0x81,0xfe,0x02,0x08] 50# CHECK: vcmla.f32 d0, d1, d2[0], #0 51# MISSING: warning: invalid instruction encoding 52[0x82,0xfe,0x42,0x08] 53# CHECK: vcmla.f32 q0, q1, d2[0], #0 54# MISSING: warning: invalid instruction encoding 55[0x91,0xfe,0x02,0x08] 56# CHECK: vcmla.f32 d0, d1, d2[0], #90 57# MISSING: warning: invalid instruction encoding 58[0xa1,0xfe,0x02,0x08] 59# CHECK: vcmla.f32 d0, d1, d2[0], #180 60# MISSING: warning: invalid instruction encoding 61[0xb1,0xfe,0x02,0x08] 62# CHECK: vcmla.f32 d0, d1, d2[0], #270 63# MISSING: warning: invalid instruction encoding 64[0x01,0xfe,0x22,0x08] 65# CHECK-FP16: vcmla.f16 d0, d1, d2[1], #0 66# MISSING-FP16: warning: invalid instruction encoding 67