# RUN: not llvm-mc -disassemble -triple=thumbv8.1m.main-none-eabi -mattr=+mve.fp,+fp64 -show-encoding %s 2> %t | FileCheck %s # RUN: FileCheck --check-prefix=ERROR < %t %s # RUN: not llvm-mc -disassemble -triple=thumbv8.1m.main-none-eabi -show-encoding %s &> %t # RUN: FileCheck --check-prefix=CHECK-NOMVE < %t %s [0x82 0xee 0x07 0x0f] # CHECK: vabav.s8 r0, q1, q3 # CHECK-NOMVE: [[@LINE-2]]:2: warning: invalid instruction encoding [0x92 0xee 0x07 0x0f] # CHECK: vabav.s16 r0, q1, q3 # CHECK-NOMVE: [[@LINE-2]]:2: warning: invalid instruction encoding [0xa2 0xee 0x07 0x0f] # CHECK: vabav.s32 r0, q1, q3 # CHECK-NOMVE: [[@LINE-2]]:2: warning: invalid instruction encoding [0x82 0xfe 0x07 0x0f] # CHECK: vabav.u8 r0, q1, q3 # CHECK-NOMVE: [[@LINE-2]]:2: warning: invalid instruction encoding [0x92 0xfe 0x07 0x0f] # CHECK: vabav.u16 r0, q1, q3 # CHECK-NOMVE: [[@LINE-2]]:2: warning: invalid instruction encoding [0xa2 0xfe 0x07 0x0f] # CHECK: vabav.u32 r0, q1, q3 # CHECK-NOMVE: [[@LINE-2]]:2: warning: invalid instruction encoding # CHECK: vaddv.s16 lr, q0 @ encoding: [0xf5,0xee,0x00,0xef] # CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding [0xf5,0xee,0x00,0xef] # CHECK: vaddva.s16 lr, q0 @ encoding: [0xf5,0xee,0x20,0xef] # CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding [0xf5,0xee,0x20,0xef] # CHECK: vpte.i8 eq, q0, q0 @ encoding: [0x41,0xfe,0x00,0x8f] # CHECK-NOMVE: [[@LINE+5]]:2: warning: invalid instruction encoding # CHECK: vaddvat.s16 lr, q0 @ encoding: [0xf5,0xee,0x20,0xef] # CHECK-NOMVE: [[@LINE+4]]:2: warning: invalid instruction encoding # CHECK: vaddvae.s16 lr, q0 @ encoding: [0xf5,0xee,0x20,0xef] # CHECK-NOMVE: [[@LINE+3]]:2: warning: invalid instruction encoding [0x41,0xfe,0x00,0x8f] [0xf5,0xee,0x20,0xef] [0xf5,0xee,0x20,0xef] # CHECK: vaddlv.s32 r0, r9, q2 @ encoding: [0xc9,0xee,0x04,0x0f] # CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding [0xc9,0xee,0x04,0x0f] # CHECK: vaddlv.u32 r0, r1, q1 @ encoding: [0x89,0xfe,0x02,0x0f] # CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding [0x89,0xfe,0x02,0x0f] # CHECK: vminnmv.f16 lr, q3 @ encoding: [0xee,0xfe,0x86,0xef] # CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding [0xee,0xfe,0x86,0xef] # CHECK: vminnmv.f32 lr, q1 @ encoding: [0xee,0xee,0x82,0xef] # CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding [0xee,0xee,0x82,0xef] # CHECK: vminnmav.f16 lr, q0 @ encoding: [0xec,0xfe,0x80,0xef] # CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding [0xec,0xfe,0x80,0xef] # CHECK: vminnmav.f32 lr, q3 @ encoding: [0xec,0xee,0x86,0xef] # CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding [0xec,0xee,0x86,0xef] # CHECK: vpte.i8 eq, q0, q0 @ encoding: [0x41,0xfe,0x00,0x8f] # CHECK-NOMVE: [[@LINE+5]]:2: warning: invalid instruction encoding # CHECK: vminnmavt.f32 lr, q3 @ encoding: [0xec,0xee,0x86,0xef] # CHECK-NOMVE: [[@LINE+4]]:2: warning: invalid instruction encoding # CHECK: vminnmave.f32 lr, q3 @ encoding: [0xec,0xee,0x86,0xef] # CHECK-NOMVE: [[@LINE+3]]:2: warning: invalid instruction encoding [0x41,0xfe,0x00,0x8f] [0xec,0xee,0x86,0xef] [0xec,0xee,0x86,0xef] # CHECK: vminv.s8 lr, q0 @ encoding: [0xe2,0xee,0x80,0xef] # CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding [0xe2,0xee,0x80,0xef] # CHECK: vminv.s16 lr, q0 @ encoding: [0xe6,0xee,0x80,0xef] # CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding [0xe6,0xee,0x80,0xef] # CHECK: vminv.s32 lr, q2 @ encoding: [0xea,0xee,0x84,0xef] # CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding [0xea,0xee,0x84,0xef] # CHECK: vminv.u8 r0, q0 @ encoding: [0xe2,0xfe,0x80,0x0f] # CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding [0xe2,0xfe,0x80,0x0f] # CHECK: vminv.u32 r10, q3 @ encoding: [0xea,0xfe,0x86,0xaf] # CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding [0xea,0xfe,0x86,0xaf] # CHECK: vminav.s16 r0, q0 @ encoding: [0xe4,0xee,0x80,0x0f] # CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding [0xe4,0xee,0x80,0x0f] # CHECK: vminav.s8 r0, q1 @ encoding: [0xe0,0xee,0x82,0x0f] # CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding [0xe0,0xee,0x82,0x0f] # CHECK: vminav.s32 lr, q1 @ encoding: [0xe8,0xee,0x82,0xef] # CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding [0xe8,0xee,0x82,0xef] # CHECK: vmaxnmv.f16 lr, q1 @ encoding: [0xee,0xfe,0x02,0xef] # CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding [0xee,0xfe,0x02,0xef] # CHECK: vmaxnmv.f32 r10, q1 @ encoding: [0xee,0xee,0x02,0xaf] # CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding [0xee,0xee,0x02,0xaf] # CHECK: vmaxv.s8 lr, q4 @ encoding: [0xe2,0xee,0x08,0xef] # CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding [0xe2,0xee,0x08,0xef] # CHECK: vmaxv.s16 lr, q0 @ encoding: [0xe6,0xee,0x00,0xef] # CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding [0xe6,0xee,0x00,0xef] # CHECK: vmaxv.s32 r1, q1 @ encoding: [0xea,0xee,0x02,0x1f] # CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding [0xea,0xee,0x02,0x1f] # CHECK: vmaxv.u8 r0, q4 @ encoding: [0xe2,0xfe,0x08,0x0f] # CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding [0xe2,0xfe,0x08,0x0f] # CHECK: vmaxv.u16 r0, q1 @ encoding: [0xe6,0xfe,0x02,0x0f] # CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding [0xe6,0xfe,0x02,0x0f] # CHECK: vmaxv.u32 r1, q0 @ encoding: [0xea,0xfe,0x00,0x1f] # CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding [0xea,0xfe,0x00,0x1f] # CHECK: vmaxav.s8 lr, q6 @ encoding: [0xe0,0xee,0x0c,0xef] # CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding [0xe0,0xee,0x0c,0xef] # CHECK: vmaxav.s16 r0, q6 @ encoding: [0xe4,0xee,0x0c,0x0f] # CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding [0xe4,0xee,0x0c,0x0f] # CHECK: vmaxav.s32 r10, q7 @ encoding: [0xe8,0xee,0x0e,0xaf] # CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding [0xe8,0xee,0x0e,0xaf] # CHECK: vmlav.s16 lr, q0, q7 @ encoding: [0xf0,0xee,0x0e,0xee] # CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding [0xf0,0xee,0x0e,0xee] # CHECK: vmlav.s32 lr, q0, q4 @ encoding: [0xf1,0xee,0x08,0xee] # CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding [0xf1,0xee,0x08,0xee] # CHECK: vmlav.u16 lr, q0, q7 @ encoding: [0xf0,0xfe,0x0e,0xee] # CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding [0xf0,0xfe,0x0e,0xee] # CHECK: vmlav.u32 lr, q0, q0 @ encoding: [0xf1,0xfe,0x00,0xee] # CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding [0xf1,0xfe,0x00,0xee] # CHECK: vmlava.s16 lr, q0, q4 @ encoding: [0xf0,0xee,0x28,0xee] # CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding [0xf0,0xee,0x28,0xee] # CHECK: vmladavx.s16 r0, q0, q7 @ encoding: [0xf0,0xee,0x0e,0x1e] # CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding [0xf0,0xee,0x0e,0x1e] # CHECK: vmladavax.s16 lr, q0, q7 @ encoding: [0xf0,0xee,0x2e,0xfe] # CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding [0xf0,0xee,0x2e,0xfe] # ERROR: [[@LINE+1]]:2: warning: invalid instruction encoding [0xf8,0xfe,0x2a,0x1e] # ERROR: [[@LINE+1]]:2: warning: invalid instruction encoding [0xf8,0xfe,0x0a,0x1e] # ERROR: [[@LINE+1]]:2: warning: invalid instruction encoding [0xf9,0xfe,0x2a,0x1e] # ERROR: [[@LINE+1]]:2: warning: invalid instruction encoding [0xf9,0xfe,0x0a,0x1e] # ERROR: [[@LINE+1]]:2: warning: invalid instruction encoding [0xf8,0xfe,0x2a,0x1f] # ERROR: [[@LINE+1]]:2: warning: invalid instruction encoding [0xf8,0xfe,0x0a,0x1f] # ERROR: [[@LINE+1]]:2: warning: invalid instruction encoding [0x98,0xfe,0x2a,0x3e] # ERROR: [[@LINE+1]]:2: warning: invalid instruction encoding [0x98,0xfe,0x0a,0x3e] # ERROR: [[@LINE+1]]:2: warning: invalid instruction encoding [0x99,0xfe,0x2a,0x3e] # ERROR: [[@LINE+1]]:2: warning: invalid instruction encoding [0x99,0xfe,0x0a,0x3e] # ERROR: [[@LINE+1]]:2: warning: invalid instruction encoding [0x98,0xfe,0x2a,0x3f] # ERROR: [[@LINE+1]]:2: warning: invalid instruction encoding [0x98,0xfe,0x0a,0x3f] # CHECK: vmlav.s8 lr, q3, q0 @ encoding: [0xf6,0xee,0x00,0xef] # CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding [0xf6,0xee,0x00,0xef] # CHECK: vmlav.u8 lr, q1, q7 @ encoding: [0xf2,0xfe,0x0e,0xef] # CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding [0xf2,0xfe,0x0e,0xef] # CHECK: vrmlalvh.s32 lr, r1, q6, q2 @ encoding: [0x8c,0xee,0x04,0xef] # CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding [0x8c,0xee,0x04,0xef] # CHECK: vrmlalvh.u32 lr, r1, q5, q2 @ encoding: [0x8a,0xfe,0x04,0xef] # CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding [0x8a,0xfe,0x04,0xef] # CHECK: vrmlalvh.u32 lr, r1, q5, q2 @ encoding: [0x8a,0xfe,0x04,0xef] # CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding [0x8a,0xfe,0x04,0xef] # CHECK: vrmlaldavhax.s32 lr, r1, q3, q0 @ encoding: [0x86,0xee,0x20,0xff] # CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding [0x86,0xee,0x20,0xff] # CHECK: vrmlsldavh.s32 lr, r11, q6, q5 @ encoding: [0xdc,0xfe,0x0b,0xee] # CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding [0xdc,0xfe,0x0b,0xee] # CHECK: vmlsdav.s16 lr, q0, q3 @ encoding: [0xf0,0xee,0x07,0xee] # CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding [0xf0,0xee,0x07,0xee] # CHECK: vrmlalvha.u32 lr, r1, q7, q1 @ encoding: [0x8e,0xfe,0x22,0xef] # CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding [0x8e,0xfe,0x22,0xef] # CHECK: vmlsdav.s16 lr, q0, q3 @ encoding: [0xf0,0xee,0x07,0xee] # CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding [0xf0,0xee,0x07,0xee] # CHECK: vmlalv.s16 lr, r1, q4, q1 @ encoding: [0x88,0xee,0x02,0xee] # CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding [0x88,0xee,0x02,0xee] # CHECK: vmlalv.s32 lr, r11, q4, q1 @ encoding: [0xd9,0xee,0x02,0xee] # CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding [0xd9,0xee,0x02,0xee] # CHECK: vmlalv.s32 r0, r1, q7, q6 @ encoding: [0x8f,0xee,0x0c,0x0e] # CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding [0x8f,0xee,0x0c,0x0e] # CHECK: vmlalv.u16 lr, r11, q5, q4 @ encoding: [0xda,0xfe,0x08,0xee] # CHECK-NOMVE: [[@LINE+1]]:2: warning: invalid instruction encoding [0xda,0xfe,0x08,0xee]