1// RUN: llvm-mc -triple x86_64-unknown-unknown --show-encoding < %s  | FileCheck %s
2
3// CHECK: vaesenc %zmm3, %zmm2, %zmm21
4// CHECK: encoding: [0x62,0xe2,0x6d,0x48,0xdc,0xeb]
5          vaesenc %zmm3, %zmm2, %zmm21
6
7// CHECK: vaesenclast %zmm3, %zmm2, %zmm21
8// CHECK: encoding: [0x62,0xe2,0x6d,0x48,0xdd,0xeb]
9          vaesenclast %zmm3, %zmm2, %zmm21
10
11// CHECK: vaesdec %zmm3, %zmm2, %zmm21
12// CHECK: encoding: [0x62,0xe2,0x6d,0x48,0xde,0xeb]
13          vaesdec %zmm3, %zmm2, %zmm21
14
15// CHECK: vaesdeclast %zmm3, %zmm2, %zmm21
16// CHECK: encoding: [0x62,0xe2,0x6d,0x48,0xdf,0xeb]
17          vaesdeclast %zmm3, %zmm2, %zmm21
18
19// CHECK: vaesenc  (%rcx), %zmm2, %zmm21
20// CHECK: encoding: [0x62,0xe2,0x6d,0x48,0xdc,0x29]
21          vaesenc  (%rcx), %zmm2, %zmm21
22
23// CHECK: vaesenc  -256(%rsp), %zmm2, %zmm21
24// CHECK: encoding: [0x62,0xe2,0x6d,0x48,0xdc,0x6c,0x24,0xfc]
25          vaesenc  -256(%rsp), %zmm2, %zmm21
26
27// CHECK: vaesenc  256(%rsp), %zmm2, %zmm21
28// CHECK: encoding: [0x62,0xe2,0x6d,0x48,0xdc,0x6c,0x24,0x04]
29          vaesenc  256(%rsp), %zmm2, %zmm21
30
31// CHECK: vaesenc  268435456(%rcx,%r14,8), %zmm2, %zmm21
32// CHECK: encoding: [0x62,0xa2,0x6d,0x48,0xdc,0xac,0xf1,0x00,0x00,0x00,0x10]
33          vaesenc  268435456(%rcx,%r14,8), %zmm2, %zmm21
34
35// CHECK: vaesenc  -536870912(%rcx,%r14,8), %zmm2, %zmm21
36// CHECK: encoding: [0x62,0xa2,0x6d,0x48,0xdc,0xac,0xf1,0x00,0x00,0x00,0xe0]
37          vaesenc  -536870912(%rcx,%r14,8), %zmm2, %zmm21
38
39// CHECK: vaesenc  -536870910(%rcx,%r14,8), %zmm2, %zmm21
40// CHECK: encoding: [0x62,0xa2,0x6d,0x48,0xdc,0xac,0xf1,0x02,0x00,0x00,0xe0]
41          vaesenc  -536870910(%rcx,%r14,8), %zmm2, %zmm21
42
43// CHECK: vaesenclast  (%rcx), %zmm2, %zmm21
44// CHECK: encoding: [0x62,0xe2,0x6d,0x48,0xdd,0x29]
45          vaesenclast  (%rcx), %zmm2, %zmm21
46
47// CHECK: vaesenclast  -256(%rsp), %zmm2, %zmm21
48// CHECK: encoding: [0x62,0xe2,0x6d,0x48,0xdd,0x6c,0x24,0xfc]
49          vaesenclast  -256(%rsp), %zmm2, %zmm21
50
51// CHECK: vaesenclast  256(%rsp), %zmm2, %zmm21
52// CHECK: encoding: [0x62,0xe2,0x6d,0x48,0xdd,0x6c,0x24,0x04]
53          vaesenclast  256(%rsp), %zmm2, %zmm21
54
55// CHECK: vaesenclast  268435456(%rcx,%r14,8), %zmm2, %zmm21
56// CHECK: encoding: [0x62,0xa2,0x6d,0x48,0xdd,0xac,0xf1,0x00,0x00,0x00,0x10]
57          vaesenclast  268435456(%rcx,%r14,8), %zmm2, %zmm21
58
59// CHECK: vaesenclast  -536870912(%rcx,%r14,8), %zmm2, %zmm21
60// CHECK: encoding: [0x62,0xa2,0x6d,0x48,0xdd,0xac,0xf1,0x00,0x00,0x00,0xe0]
61          vaesenclast  -536870912(%rcx,%r14,8), %zmm2, %zmm21
62
63// CHECK: vaesenclast  -536870910(%rcx,%r14,8), %zmm2, %zmm21
64// CHECK: encoding: [0x62,0xa2,0x6d,0x48,0xdd,0xac,0xf1,0x02,0x00,0x00,0xe0]
65          vaesenclast  -536870910(%rcx,%r14,8), %zmm2, %zmm21
66
67// CHECK: vaesdec  (%rcx), %zmm2, %zmm21
68// CHECK: encoding: [0x62,0xe2,0x6d,0x48,0xde,0x29]
69          vaesdec  (%rcx), %zmm2, %zmm21
70
71// CHECK: vaesdec  -256(%rsp), %zmm2, %zmm21
72// CHECK: encoding: [0x62,0xe2,0x6d,0x48,0xde,0x6c,0x24,0xfc]
73          vaesdec  -256(%rsp), %zmm2, %zmm21
74
75// CHECK: vaesdec  256(%rsp), %zmm2, %zmm21
76// CHECK: encoding: [0x62,0xe2,0x6d,0x48,0xde,0x6c,0x24,0x04]
77          vaesdec  256(%rsp), %zmm2, %zmm21
78
79// CHECK: vaesdec  268435456(%rcx,%r14,8), %zmm2, %zmm21
80// CHECK: encoding: [0x62,0xa2,0x6d,0x48,0xde,0xac,0xf1,0x00,0x00,0x00,0x10]
81          vaesdec  268435456(%rcx,%r14,8), %zmm2, %zmm21
82
83// CHECK: vaesdec  -536870912(%rcx,%r14,8), %zmm2, %zmm21
84// CHECK: encoding: [0x62,0xa2,0x6d,0x48,0xde,0xac,0xf1,0x00,0x00,0x00,0xe0]
85          vaesdec  -536870912(%rcx,%r14,8), %zmm2, %zmm21
86
87// CHECK: vaesdec  -536870910(%rcx,%r14,8), %zmm2, %zmm21
88// CHECK: encoding: [0x62,0xa2,0x6d,0x48,0xde,0xac,0xf1,0x02,0x00,0x00,0xe0]
89          vaesdec  -536870910(%rcx,%r14,8), %zmm2, %zmm21
90
91// CHECK: vaesdeclast  (%rcx), %zmm2, %zmm21
92// CHECK: encoding: [0x62,0xe2,0x6d,0x48,0xdf,0x29]
93          vaesdeclast  (%rcx), %zmm2, %zmm21
94
95// CHECK: vaesdeclast  -256(%rsp), %zmm2, %zmm21
96// CHECK: encoding: [0x62,0xe2,0x6d,0x48,0xdf,0x6c,0x24,0xfc]
97          vaesdeclast  -256(%rsp), %zmm2, %zmm21
98
99// CHECK: vaesdeclast  256(%rsp), %zmm2, %zmm21
100// CHECK: encoding: [0x62,0xe2,0x6d,0x48,0xdf,0x6c,0x24,0x04]
101          vaesdeclast  256(%rsp), %zmm2, %zmm21
102
103// CHECK: vaesdeclast  268435456(%rcx,%r14,8), %zmm2, %zmm21
104// CHECK: encoding: [0x62,0xa2,0x6d,0x48,0xdf,0xac,0xf1,0x00,0x00,0x00,0x10]
105          vaesdeclast  268435456(%rcx,%r14,8), %zmm2, %zmm21
106
107// CHECK: vaesdeclast  -536870912(%rcx,%r14,8), %zmm2, %zmm21
108// CHECK: encoding: [0x62,0xa2,0x6d,0x48,0xdf,0xac,0xf1,0x00,0x00,0x00,0xe0]
109          vaesdeclast  -536870912(%rcx,%r14,8), %zmm2, %zmm21
110
111// CHECK: vaesdeclast  -536870910(%rcx,%r14,8), %zmm2, %zmm21
112// CHECK: encoding: [0x62,0xa2,0x6d,0x48,0xdf,0xac,0xf1,0x02,0x00,0x00,0xe0]
113          vaesdeclast  -536870910(%rcx,%r14,8), %zmm2, %zmm21
114
115