[llvm-readobj] - Simplify stack-sizes.test test case.
[llvm-complete.git] / test / MC / AArch64 / armv8.2a-dotprod.s
blobb8aafbe88570043d36e5b9cc687cc6d92f1f6f45
1 // RUN: llvm-mc -triple aarch64 -mattr=+dotprod -show-encoding < %s | FileCheck %s --check-prefix=CHECK-DOTPROD
2 // RUN: llvm-mc -triple aarch64 -mcpu=cortex-a55 -show-encoding < %s | FileCheck %s --check-prefix=CHECK-DOTPROD
3 // RUN: llvm-mc -triple aarch64 -mcpu=cortex-a65 -show-encoding < %s| FileCheck %s --check-prefix=CHECK-DOTPROD
4 // RUN: llvm-mc -triple aarch64 -mcpu=cortex-a65ae -show-encoding < %s| FileCheck %s --check-prefix=CHECK-DOTPROD
5 // RUN: llvm-mc -triple aarch64 -mcpu=cortex-a75 -show-encoding < %s | FileCheck %s --check-prefix=CHECK-DOTPROD
6 // RUN: llvm-mc -triple aarch64 -mcpu=cortex-a76 -show-encoding < %s | FileCheck %s --check-prefix=CHECK-DOTPROD
7 // RUN: llvm-mc -triple aarch64 -mcpu=neoverse-e1 -show-encoding < %s| FileCheck %s --check-prefix=CHECK-DOTPROD
8 // RUN: llvm-mc -triple aarch64 -mcpu=neoverse-n1 -show-encoding < %s| FileCheck %s --check-prefix=CHECK-DOTPROD
9 // RUN: llvm-mc -triple aarch64 -mcpu=tsv110 -show-encoding < %s | FileCheck %s --check-prefix=CHECK-DOTPROD
11 // RUN: not llvm-mc -triple aarch64 -mattr=+v8.2a -show-encoding < %s 2> %t
12 // RUN: FileCheck --check-prefix=CHECK-NO-DOTPROD < %t %s
13 // RUN: not llvm-mc -triple aarch64 -mcpu=cortex-a65 -mattr=-dotprod -show-encoding < %s 2> %t
14 // RUN: FileCheck --check-prefix=CHECK-NO-DOTPROD < %t %s
15 // RUN: not llvm-mc -triple aarch64 -mcpu=cortex-a65ae -mattr=-dotprod -show-encoding < %s 2> %t
16 // RUN: FileCheck --check-prefix=CHECK-NO-DOTPROD < %t %s
17 // RUN: not llvm-mc -triple aarch64 -mcpu=neoverse-e1 -mattr=-dotprod -show-encoding < %s 2> %t
18 // RUN: FileCheck --check-prefix=CHECK-NO-DOTPROD < %t %s
19 // RUN: not llvm-mc -triple aarch64 -mcpu=neoverse-n1 -mattr=-dotprod -show-encoding < %s 2> %t
20 // RUN: FileCheck --check-prefix=CHECK-NO-DOTPROD < %t %s
22 udot v0.2s, v1.8b, v2.8b
23 sdot v0.2s, v1.8b, v2.8b
24 udot v0.4s, v1.16b, v2.16b
25 sdot v0.4s, v1.16b, v2.16b
26 udot v0.2s, v1.8b, v2.4b[0]
27 sdot v0.2s, v1.8b, v2.4b[1]
28 udot v0.4s, v1.16b, v2.4b[2]
29 sdot v0.4s, v1.16b, v2.4b[3]
31 // Check that the upper case types are aliases
32 udot v0.2S, v1.8B, v2.4B[0]
33 udot v0.4S, v1.16B, v2.4B[2]
35 // CHECK-DOTPROD: udot v0.2s, v1.8b, v2.8b // encoding: [0x20,0x94,0x82,0x2e]
36 // CHECK-DOTPROD: sdot v0.2s, v1.8b, v2.8b // encoding: [0x20,0x94,0x82,0x0e]
37 // CHECK-DOTPROD: udot v0.4s, v1.16b, v2.16b // encoding: [0x20,0x94,0x82,0x6e]
38 // CHECK-DOTPROD: sdot v0.4s, v1.16b, v2.16b // encoding: [0x20,0x94,0x82,0x4e]
39 // CHECK-DOTPROD: udot v0.2s, v1.8b, v2.4b[0] // encoding: [0x20,0xe0,0x82,0x2f]
40 // CHECK-DOTPROD: sdot v0.2s, v1.8b, v2.4b[1] // encoding: [0x20,0xe0,0xa2,0x0f]
41 // CHECK-DOTPROD: udot v0.4s, v1.16b, v2.4b[2] // encoding: [0x20,0xe8,0x82,0x6f]
42 // CHECK-DOTPROD: sdot v0.4s, v1.16b, v2.4b[3] // encoding: [0x20,0xe8,0xa2,0x4f]
44 // CHECK-DOTPROD: udot v0.2s, v1.8b, v2.4b[0] // encoding: [0x20,0xe0,0x82,0x2f]
45 // CHECK-DOTPROD: udot v0.4s, v1.16b, v2.4b[2] // encoding: [0x20,0xe8,0x82,0x6f]
47 // CHECK-NO-DOTPROD: error: instruction requires: dotprod
48 // CHECK-NO-DOTPROD: udot v0.2s, v1.8b, v2.8b
49 // CHECK-NO-DOTPROD: ^
50 // CHECK-NO-DOTPROD: error: instruction requires: dotprod
51 // CHECK-NO-DOTPROD: sdot v0.2s, v1.8b, v2.8b
52 // CHECK-NO-DOTPROD: ^
53 // CHECK-NO-DOTPROD: error: instruction requires: dotprod
54 // CHECK-NO-DOTPROD: udot v0.4s, v1.16b, v2.16b
55 // CHECK-NO-DOTPROD: ^
56 // CHECK-NO-DOTPROD: error: instruction requires: dotprod
57 // CHECK-NO-DOTPROD: sdot v0.4s, v1.16b, v2.16b
58 // CHECK-NO-DOTPROD: ^
59 // CHECK-NO-DOTPROD: error: instruction requires: dotprod
60 // CHECK-NO-DOTPROD: udot v0.2s, v1.8b, v2.4b[0]
61 // CHECK-NO-DOTPROD: ^
62 // CHECK-NO-DOTPROD: error: instruction requires: dotprod
63 // CHECK-NO-DOTPROD: sdot v0.2s, v1.8b, v2.4b[1]
64 // CHECK-NO-DOTPROD: ^
65 // CHECK-NO-DOTPROD: error: instruction requires: dotprod
66 // CHECK-NO-DOTPROD: udot v0.4s, v1.16b, v2.4b[2]
67 // CHECK-NO-DOTPROD: ^
68 // CHECK-NO-DOTPROD: error: instruction requires: dotprod
69 // CHECK-NO-DOTPROD: sdot v0.4s, v1.16b, v2.4b[3]
70 // CHECK-NO-DOTPROD: ^
72 // CHECK-NO-DOTPROD: error: instruction requires: dotprod
73 // CHECK-NO-DOTPROD: udot v0.2S, v1.8B, v2.4B[0]
74 // CHECK-NO-DOTPROD: ^
75 // CHECK-NO-DOTPROD: error: instruction requires: dotprod
76 // CHECK-NO-DOTPROD: udot v0.4S, v1.16B, v2.4B[2]
77 // CHECK-NO-DOTPROD: ^