1// RUN: llvm-mc -triple thumb -mattr=+dotprod -show-encoding < %s | FileCheck %s --check-prefix=CHECK 2// RUN: llvm-mc -triple thumb -mcpu=cortex-a75 -show-encoding < %s | FileCheck %s --check-prefix=CHECK 3// RUN: llvm-mc -triple thumb -mcpu=cortex-a55 -show-encoding < %s | FileCheck %s --check-prefix=CHECK 4 5// RUN: not llvm-mc -triple thumb -mattr=-dotprod -show-encoding < %s 2> %t 6// RUN: FileCheck --check-prefix=CHECK-ERROR < %t %s 7// RUN: not llvm-mc -triple thumb -show-encoding < %s 2> %t 8// RUN: FileCheck --check-prefix=CHECK-ERROR < %t %s 9// RUN: not llvm-mc -triple thumb -mattr=+v8.1a -show-encoding < %s 2> %t 10// RUN: FileCheck --check-prefix=CHECK-ERROR < %t %s 11// RUN: not llvm-mc -triple thumb -mattr=+v8.2a -show-encoding < %s 2> %t 12// RUN: FileCheck --check-prefix=CHECK-ERROR < %t %s 13 14 vudot.u8 d0, d1, d2 15 vsdot.s8 d0, d1, d2 16 vudot.u8 q0, q1, q4 17 vsdot.s8 q0, q1, q4 18 vudot.u8 d0, d1, d2[0] 19 vsdot.s8 d0, d1, d2[1] 20 vudot.u8 q0, q1, d4[0] 21 vsdot.s8 q0, q1, d4[1] 22 23//CHECK: vudot.u8 d0, d1, d2 @ encoding: [0x21,0xfc,0x12,0x0d] 24//CHECK: vsdot.s8 d0, d1, d2 @ encoding: [0x21,0xfc,0x02,0x0d] 25//CHECK: vudot.u8 q0, q1, q4 @ encoding: [0x22,0xfc,0x58,0x0d] 26//CHECK: vsdot.s8 q0, q1, q4 @ encoding: [0x22,0xfc,0x48,0x0d] 27//CHECK: vudot.u8 d0, d1, d2[0] @ encoding: [0x21,0xfe,0x12,0x0d] 28//CHECK: vsdot.s8 d0, d1, d2[1] @ encoding: [0x21,0xfe,0x22,0x0d] 29//CHECK: vudot.u8 q0, q1, d4[0] @ encoding: [0x22,0xfe,0x54,0x0d] 30//CHECK: vsdot.s8 q0, q1, d4[1] @ encoding: [0x22,0xfe,0x64,0x0d] 31 32//CHECK-ERROR: error: instruction requires: dotprod 33//CHECK-ERROR: error: instruction requires: dotprod 34//CHECK-ERROR: error: instruction requires: dotprod 35//CHECK-ERROR: error: instruction requires: dotprod 36//CHECK-ERROR: error: instruction requires: dotprod 37//CHECK-ERROR: error: instruction requires: dotprod 38//CHECK-ERROR: error: instruction requires: dotprod 39//CHECK-ERROR: error: instruction requires: dotprod 40 41