# RUN: llvm-mc -triple thumbv8a -mattr=+v8.3a,+neon,+fullfp16 -disassemble < %s 2>&1 | FileCheck %s --check-prefix=CHECK --check-prefix=CHECK-FP16 # RUN: not llvm-mc -triple thumbv8a -mattr=+v8.2a,+neon,+fullfp16 -disassemble < %s 2>&1 | FileCheck %s --check-prefix=MISSING --check-prefix=MISSING-FP16 # RUN: not llvm-mc -triple thumbv8a -mattr=+v8.3a,-neon,+fullfp16 -disassemble < %s 2>&1 | FileCheck %s --check-prefix=MISSING --check-prefix=MISSING-FP16 # RUN: not llvm-mc -triple thumbv8a -mattr=+v8.3a,+neon,-fullfp16 -disassemble < %s 2>%t | FileCheck %s --check-prefix=CHECK # RUN: FileCheck %s < %t --check-prefix=MISSING-FP16 [0x21,0xfc,0x02,0x08] # CHECK-FP16: vcmla.f16 d0, d1, d2, #0 # MISSING-FP16: warning: invalid instruction encoding [0x22,0xfc,0x44,0x08] # CHECK-FP16: vcmla.f16 q0, q1, q2, #0 # MISSING-FP16: warning: invalid instruction encoding [0x31,0xfc,0x02,0x08] # CHECK: vcmla.f32 d0, d1, d2, #0 # MISSING: warning: invalid instruction encoding [0x32,0xfc,0x44,0x08] # CHECK: vcmla.f32 q0, q1, q2, #0 # MISSING: warning: invalid instruction encoding [0xb1,0xfc,0x02,0x08] # CHECK: vcmla.f32 d0, d1, d2, #90 # MISSING: warning: invalid instruction encoding [0x31,0xfd,0x02,0x08] # CHECK: vcmla.f32 d0, d1, d2, #180 # MISSING: warning: invalid instruction encoding [0xb1,0xfd,0x02,0x08] # CHECK: vcmla.f32 d0, d1, d2, #270 # MISSING: warning: invalid instruction encoding [0x81,0xfc,0x02,0x08] # CHECK-FP16: vcadd.f16 d0, d1, d2, #90 # MISSING-FP16: warning: invalid instruction encoding [0x82,0xfc,0x44,0x08] # CHECK-FP16: vcadd.f16 q0, q1, q2, #90 # MISSING-FP16: warning: invalid instruction encoding [0x91,0xfc,0x02,0x08] # CHECK: vcadd.f32 d0, d1, d2, #90 # MISSING: warning: invalid instruction encoding [0x92,0xfc,0x44,0x08] # CHECK: vcadd.f32 q0, q1, q2, #90 # MISSING: warning: invalid instruction encoding [0x91,0xfd,0x02,0x08] # CHECK: vcadd.f32 d0, d1, d2, #270 # MISSING: warning: invalid instruction encoding [0x01,0xfe,0x02,0x08] # CHECK-FP16: vcmla.f16 d0, d1, d2[0], #0 # MISSING-FP16: warning: invalid instruction encoding [0x02,0xfe,0x42,0x08] # CHECK-FP16: vcmla.f16 q0, q1, d2[0], #0 # MISSING-FP16: warning: invalid instruction encoding [0x81,0xfe,0x02,0x08] # CHECK: vcmla.f32 d0, d1, d2[0], #0 # MISSING: warning: invalid instruction encoding [0x82,0xfe,0x42,0x08] # CHECK: vcmla.f32 q0, q1, d2[0], #0 # MISSING: warning: invalid instruction encoding [0x91,0xfe,0x02,0x08] # CHECK: vcmla.f32 d0, d1, d2[0], #90 # MISSING: warning: invalid instruction encoding [0xa1,0xfe,0x02,0x08] # CHECK: vcmla.f32 d0, d1, d2[0], #180 # MISSING: warning: invalid instruction encoding [0xb1,0xfe,0x02,0x08] # CHECK: vcmla.f32 d0, d1, d2[0], #270 # MISSING: warning: invalid instruction encoding [0x01,0xfe,0x22,0x08] # CHECK-FP16: vcmla.f16 d0, d1, d2[1], #0 # MISSING-FP16: warning: invalid instruction encoding