# RUN: llvm-mc -triple aarch64-none-linux-gnu -mattr=+dotprod --disassemble < %s | FileCheck %s # RUN: llvm-mc -triple aarch64-none-linux-gnu -mcpu=cortex-a75 --disassemble < %s | FileCheck %s # RUN: llvm-mc -triple aarch64-none-linux-gnu -mcpu=cortex-a55 --disassemble < %s | FileCheck %s # RUN: llvm-mc -triple aarch64-none-linux-gnu -mattr=-dotprod --disassemble < %s 2>&1 | FileCheck %s --check-prefix=CHECK-ERROR 0x20,0x94,0x82,0x2e 0x20,0x94,0x82,0x0e 0x20,0x94,0x82,0x6e 0x20,0x94,0x82,0x4e 0x20,0xe0,0x82,0x2f 0x20,0xe0,0xa2,0x0f 0x20,0xe8,0x82,0x6f 0x20,0xe8,0xa2,0x4f #CHECK: udot v0.2s, v1.8b, v2.8b #CHECK: sdot v0.2s, v1.8b, v2.8b #CHECK: udot v0.4s, v1.16b, v2.16b #CHECK: sdot v0.4s, v1.16b, v2.16b #CHECK: udot v0.2s, v1.8b, v2.4b[0] #CHECK: sdot v0.2s, v1.8b, v2.4b[1] #CHECK: udot v0.4s, v1.16b, v2.4b[2] #CHECK: sdot v0.4s, v1.16b, v2.4b[3] # CHECK-ERROR: invalid instruction encoding # CHECK-ERROR: invalid instruction encoding # CHECK-ERROR: invalid instruction encoding # CHECK-ERROR: invalid instruction encoding # CHECK-ERROR: invalid instruction encoding # CHECK-ERROR: invalid instruction encoding # CHECK-ERROR: invalid instruction encoding # CHECK-ERROR: invalid instruction encoding