xref: /llvm-project/llvm/test/MC/X86/sm4-64-intel.s (revision 049d6a3f428efeb1a22f62e55b808f60b0bf27cc)
1// RUN: llvm-mc -triple x86_64 -x86-asm-syntax=intel -output-asm-variant=1 --show-encoding %s | FileCheck %s
2
3// CHECK: vsm4key4 ymm12, ymm13, ymm4
4// CHECK: encoding: [0xc4,0x62,0x16,0xda,0xe4]
5          vsm4key4 ymm12, ymm13, ymm4
6
7// CHECK: vsm4key4 xmm12, xmm13, xmm4
8// CHECK: encoding: [0xc4,0x62,0x12,0xda,0xe4]
9          vsm4key4 xmm12, xmm13, xmm4
10
11// CHECK: vsm4key4 ymm12, ymm13, ymmword ptr [rbp + 8*r14 + 268435456]
12// CHECK: encoding: [0xc4,0x22,0x16,0xda,0xa4,0xf5,0x00,0x00,0x00,0x10]
13          vsm4key4 ymm12, ymm13, ymmword ptr [rbp + 8*r14 + 268435456]
14
15// CHECK: vsm4key4 ymm12, ymm13, ymmword ptr [r8 + 4*rax + 291]
16// CHECK: encoding: [0xc4,0x42,0x16,0xda,0xa4,0x80,0x23,0x01,0x00,0x00]
17          vsm4key4 ymm12, ymm13, ymmword ptr [r8 + 4*rax + 291]
18
19// CHECK: vsm4key4 ymm12, ymm13, ymmword ptr [rip]
20// CHECK: encoding: [0xc4,0x62,0x16,0xda,0x25,0x00,0x00,0x00,0x00]
21          vsm4key4 ymm12, ymm13, ymmword ptr [rip]
22
23// CHECK: vsm4key4 ymm12, ymm13, ymmword ptr [2*rbp - 1024]
24// CHECK: encoding: [0xc4,0x62,0x16,0xda,0x24,0x6d,0x00,0xfc,0xff,0xff]
25          vsm4key4 ymm12, ymm13, ymmword ptr [2*rbp - 1024]
26
27// CHECK: vsm4key4 ymm12, ymm13, ymmword ptr [rcx + 4064]
28// CHECK: encoding: [0xc4,0x62,0x16,0xda,0xa1,0xe0,0x0f,0x00,0x00]
29          vsm4key4 ymm12, ymm13, ymmword ptr [rcx + 4064]
30
31// CHECK: vsm4key4 ymm12, ymm13, ymmword ptr [rdx - 4096]
32// CHECK: encoding: [0xc4,0x62,0x16,0xda,0xa2,0x00,0xf0,0xff,0xff]
33          vsm4key4 ymm12, ymm13, ymmword ptr [rdx - 4096]
34
35// CHECK: vsm4key4 xmm12, xmm13, xmmword ptr [rbp + 8*r14 + 268435456]
36// CHECK: encoding: [0xc4,0x22,0x12,0xda,0xa4,0xf5,0x00,0x00,0x00,0x10]
37          vsm4key4 xmm12, xmm13, xmmword ptr [rbp + 8*r14 + 268435456]
38
39// CHECK: vsm4key4 xmm12, xmm13, xmmword ptr [r8 + 4*rax + 291]
40// CHECK: encoding: [0xc4,0x42,0x12,0xda,0xa4,0x80,0x23,0x01,0x00,0x00]
41          vsm4key4 xmm12, xmm13, xmmword ptr [r8 + 4*rax + 291]
42
43// CHECK: vsm4key4 xmm12, xmm13, xmmword ptr [rip]
44// CHECK: encoding: [0xc4,0x62,0x12,0xda,0x25,0x00,0x00,0x00,0x00]
45          vsm4key4 xmm12, xmm13, xmmword ptr [rip]
46
47// CHECK: vsm4key4 xmm12, xmm13, xmmword ptr [2*rbp - 512]
48// CHECK: encoding: [0xc4,0x62,0x12,0xda,0x24,0x6d,0x00,0xfe,0xff,0xff]
49          vsm4key4 xmm12, xmm13, xmmword ptr [2*rbp - 512]
50
51// CHECK: vsm4key4 xmm12, xmm13, xmmword ptr [rcx + 2032]
52// CHECK: encoding: [0xc4,0x62,0x12,0xda,0xa1,0xf0,0x07,0x00,0x00]
53          vsm4key4 xmm12, xmm13, xmmword ptr [rcx + 2032]
54
55// CHECK: vsm4key4 xmm12, xmm13, xmmword ptr [rdx - 2048]
56// CHECK: encoding: [0xc4,0x62,0x12,0xda,0xa2,0x00,0xf8,0xff,0xff]
57          vsm4key4 xmm12, xmm13, xmmword ptr [rdx - 2048]
58
59// CHECK: vsm4rnds4 ymm12, ymm13, ymm4
60// CHECK: encoding: [0xc4,0x62,0x17,0xda,0xe4]
61          vsm4rnds4 ymm12, ymm13, ymm4
62
63// CHECK: vsm4rnds4 xmm12, xmm13, xmm4
64// CHECK: encoding: [0xc4,0x62,0x13,0xda,0xe4]
65          vsm4rnds4 xmm12, xmm13, xmm4
66
67// CHECK: vsm4rnds4 ymm12, ymm13, ymmword ptr [rbp + 8*r14 + 268435456]
68// CHECK: encoding: [0xc4,0x22,0x17,0xda,0xa4,0xf5,0x00,0x00,0x00,0x10]
69          vsm4rnds4 ymm12, ymm13, ymmword ptr [rbp + 8*r14 + 268435456]
70
71// CHECK: vsm4rnds4 ymm12, ymm13, ymmword ptr [r8 + 4*rax + 291]
72// CHECK: encoding: [0xc4,0x42,0x17,0xda,0xa4,0x80,0x23,0x01,0x00,0x00]
73          vsm4rnds4 ymm12, ymm13, ymmword ptr [r8 + 4*rax + 291]
74
75// CHECK: vsm4rnds4 ymm12, ymm13, ymmword ptr [rip]
76// CHECK: encoding: [0xc4,0x62,0x17,0xda,0x25,0x00,0x00,0x00,0x00]
77          vsm4rnds4 ymm12, ymm13, ymmword ptr [rip]
78
79// CHECK: vsm4rnds4 ymm12, ymm13, ymmword ptr [2*rbp - 1024]
80// CHECK: encoding: [0xc4,0x62,0x17,0xda,0x24,0x6d,0x00,0xfc,0xff,0xff]
81          vsm4rnds4 ymm12, ymm13, ymmword ptr [2*rbp - 1024]
82
83// CHECK: vsm4rnds4 ymm12, ymm13, ymmword ptr [rcx + 4064]
84// CHECK: encoding: [0xc4,0x62,0x17,0xda,0xa1,0xe0,0x0f,0x00,0x00]
85          vsm4rnds4 ymm12, ymm13, ymmword ptr [rcx + 4064]
86
87// CHECK: vsm4rnds4 ymm12, ymm13, ymmword ptr [rdx - 4096]
88// CHECK: encoding: [0xc4,0x62,0x17,0xda,0xa2,0x00,0xf0,0xff,0xff]
89          vsm4rnds4 ymm12, ymm13, ymmword ptr [rdx - 4096]
90
91// CHECK: vsm4rnds4 xmm12, xmm13, xmmword ptr [rbp + 8*r14 + 268435456]
92// CHECK: encoding: [0xc4,0x22,0x13,0xda,0xa4,0xf5,0x00,0x00,0x00,0x10]
93          vsm4rnds4 xmm12, xmm13, xmmword ptr [rbp + 8*r14 + 268435456]
94
95// CHECK: vsm4rnds4 xmm12, xmm13, xmmword ptr [r8 + 4*rax + 291]
96// CHECK: encoding: [0xc4,0x42,0x13,0xda,0xa4,0x80,0x23,0x01,0x00,0x00]
97          vsm4rnds4 xmm12, xmm13, xmmword ptr [r8 + 4*rax + 291]
98
99// CHECK: vsm4rnds4 xmm12, xmm13, xmmword ptr [rip]
100// CHECK: encoding: [0xc4,0x62,0x13,0xda,0x25,0x00,0x00,0x00,0x00]
101          vsm4rnds4 xmm12, xmm13, xmmword ptr [rip]
102
103// CHECK: vsm4rnds4 xmm12, xmm13, xmmword ptr [2*rbp - 512]
104// CHECK: encoding: [0xc4,0x62,0x13,0xda,0x24,0x6d,0x00,0xfe,0xff,0xff]
105          vsm4rnds4 xmm12, xmm13, xmmword ptr [2*rbp - 512]
106
107// CHECK: vsm4rnds4 xmm12, xmm13, xmmword ptr [rcx + 2032]
108// CHECK: encoding: [0xc4,0x62,0x13,0xda,0xa1,0xf0,0x07,0x00,0x00]
109          vsm4rnds4 xmm12, xmm13, xmmword ptr [rcx + 2032]
110
111// CHECK: vsm4rnds4 xmm12, xmm13, xmmword ptr [rdx - 2048]
112// CHECK: encoding: [0xc4,0x62,0x13,0xda,0xa2,0x00,0xf8,0xff,0xff]
113          vsm4rnds4 xmm12, xmm13, xmmword ptr [rdx - 2048]
114
115