xref: /llvm-project/llvm/test/MC/X86/sm4-32-intel.s (revision 049d6a3f428efeb1a22f62e55b808f60b0bf27cc)
1// RUN: llvm-mc -triple i686-unknown-unknown -x86-asm-syntax=intel -output-asm-variant=1 --show-encoding %s | FileCheck %s
2
3// CHECK:      vsm4key4 ymm2, ymm3, ymm4
4// CHECK: encoding: [0xc4,0xe2,0x66,0xda,0xd4]
5               vsm4key4 ymm2, ymm3, ymm4
6
7// CHECK:      vsm4key4 xmm2, xmm3, xmm4
8// CHECK: encoding: [0xc4,0xe2,0x62,0xda,0xd4]
9               vsm4key4 xmm2, xmm3, xmm4
10
11// CHECK:      vsm4key4 ymm2, ymm3, ymmword ptr [esp + 8*esi + 268435456]
12// CHECK: encoding: [0xc4,0xe2,0x66,0xda,0x94,0xf4,0x00,0x00,0x00,0x10]
13               vsm4key4 ymm2, ymm3, ymmword ptr [esp + 8*esi + 268435456]
14
15// CHECK:      vsm4key4 ymm2, ymm3, ymmword ptr [edi + 4*eax + 291]
16// CHECK: encoding: [0xc4,0xe2,0x66,0xda,0x94,0x87,0x23,0x01,0x00,0x00]
17               vsm4key4 ymm2, ymm3, ymmword ptr [edi + 4*eax + 291]
18
19// CHECK:      vsm4key4 ymm2, ymm3, ymmword ptr [eax]
20// CHECK: encoding: [0xc4,0xe2,0x66,0xda,0x10]
21               vsm4key4 ymm2, ymm3, ymmword ptr [eax]
22
23// CHECK:      vsm4key4 ymm2, ymm3, ymmword ptr [2*ebp - 1024]
24// CHECK: encoding: [0xc4,0xe2,0x66,0xda,0x14,0x6d,0x00,0xfc,0xff,0xff]
25               vsm4key4 ymm2, ymm3, ymmword ptr [2*ebp - 1024]
26
27// CHECK:      vsm4key4 ymm2, ymm3, ymmword ptr [ecx + 4064]
28// CHECK: encoding: [0xc4,0xe2,0x66,0xda,0x91,0xe0,0x0f,0x00,0x00]
29               vsm4key4 ymm2, ymm3, ymmword ptr [ecx + 4064]
30
31// CHECK:      vsm4key4 ymm2, ymm3, ymmword ptr [edx - 4096]
32// CHECK: encoding: [0xc4,0xe2,0x66,0xda,0x92,0x00,0xf0,0xff,0xff]
33               vsm4key4 ymm2, ymm3, ymmword ptr [edx - 4096]
34
35// CHECK:      vsm4key4 xmm2, xmm3, xmmword ptr [esp + 8*esi + 268435456]
36// CHECK: encoding: [0xc4,0xe2,0x62,0xda,0x94,0xf4,0x00,0x00,0x00,0x10]
37               vsm4key4 xmm2, xmm3, xmmword ptr [esp + 8*esi + 268435456]
38
39// CHECK:      vsm4key4 xmm2, xmm3, xmmword ptr [edi + 4*eax + 291]
40// CHECK: encoding: [0xc4,0xe2,0x62,0xda,0x94,0x87,0x23,0x01,0x00,0x00]
41               vsm4key4 xmm2, xmm3, xmmword ptr [edi + 4*eax + 291]
42
43// CHECK:      vsm4key4 xmm2, xmm3, xmmword ptr [eax]
44// CHECK: encoding: [0xc4,0xe2,0x62,0xda,0x10]
45               vsm4key4 xmm2, xmm3, xmmword ptr [eax]
46
47// CHECK:      vsm4key4 xmm2, xmm3, xmmword ptr [2*ebp - 512]
48// CHECK: encoding: [0xc4,0xe2,0x62,0xda,0x14,0x6d,0x00,0xfe,0xff,0xff]
49               vsm4key4 xmm2, xmm3, xmmword ptr [2*ebp - 512]
50
51// CHECK:      vsm4key4 xmm2, xmm3, xmmword ptr [ecx + 2032]
52// CHECK: encoding: [0xc4,0xe2,0x62,0xda,0x91,0xf0,0x07,0x00,0x00]
53               vsm4key4 xmm2, xmm3, xmmword ptr [ecx + 2032]
54
55// CHECK:      vsm4key4 xmm2, xmm3, xmmword ptr [edx - 2048]
56// CHECK: encoding: [0xc4,0xe2,0x62,0xda,0x92,0x00,0xf8,0xff,0xff]
57               vsm4key4 xmm2, xmm3, xmmword ptr [edx - 2048]
58
59// CHECK:      vsm4rnds4 ymm2, ymm3, ymm4
60// CHECK: encoding: [0xc4,0xe2,0x67,0xda,0xd4]
61               vsm4rnds4 ymm2, ymm3, ymm4
62
63// CHECK:      vsm4rnds4 xmm2, xmm3, xmm4
64// CHECK: encoding: [0xc4,0xe2,0x63,0xda,0xd4]
65               vsm4rnds4 xmm2, xmm3, xmm4
66
67// CHECK:      vsm4rnds4 ymm2, ymm3, ymmword ptr [esp + 8*esi + 268435456]
68// CHECK: encoding: [0xc4,0xe2,0x67,0xda,0x94,0xf4,0x00,0x00,0x00,0x10]
69               vsm4rnds4 ymm2, ymm3, ymmword ptr [esp + 8*esi + 268435456]
70
71// CHECK:      vsm4rnds4 ymm2, ymm3, ymmword ptr [edi + 4*eax + 291]
72// CHECK: encoding: [0xc4,0xe2,0x67,0xda,0x94,0x87,0x23,0x01,0x00,0x00]
73               vsm4rnds4 ymm2, ymm3, ymmword ptr [edi + 4*eax + 291]
74
75// CHECK:      vsm4rnds4 ymm2, ymm3, ymmword ptr [eax]
76// CHECK: encoding: [0xc4,0xe2,0x67,0xda,0x10]
77               vsm4rnds4 ymm2, ymm3, ymmword ptr [eax]
78
79// CHECK:      vsm4rnds4 ymm2, ymm3, ymmword ptr [2*ebp - 1024]
80// CHECK: encoding: [0xc4,0xe2,0x67,0xda,0x14,0x6d,0x00,0xfc,0xff,0xff]
81               vsm4rnds4 ymm2, ymm3, ymmword ptr [2*ebp - 1024]
82
83// CHECK:      vsm4rnds4 ymm2, ymm3, ymmword ptr [ecx + 4064]
84// CHECK: encoding: [0xc4,0xe2,0x67,0xda,0x91,0xe0,0x0f,0x00,0x00]
85               vsm4rnds4 ymm2, ymm3, ymmword ptr [ecx + 4064]
86
87// CHECK:      vsm4rnds4 ymm2, ymm3, ymmword ptr [edx - 4096]
88// CHECK: encoding: [0xc4,0xe2,0x67,0xda,0x92,0x00,0xf0,0xff,0xff]
89               vsm4rnds4 ymm2, ymm3, ymmword ptr [edx - 4096]
90
91// CHECK:      vsm4rnds4 xmm2, xmm3, xmmword ptr [esp + 8*esi + 268435456]
92// CHECK: encoding: [0xc4,0xe2,0x63,0xda,0x94,0xf4,0x00,0x00,0x00,0x10]
93               vsm4rnds4 xmm2, xmm3, xmmword ptr [esp + 8*esi + 268435456]
94
95// CHECK:      vsm4rnds4 xmm2, xmm3, xmmword ptr [edi + 4*eax + 291]
96// CHECK: encoding: [0xc4,0xe2,0x63,0xda,0x94,0x87,0x23,0x01,0x00,0x00]
97               vsm4rnds4 xmm2, xmm3, xmmword ptr [edi + 4*eax + 291]
98
99// CHECK:      vsm4rnds4 xmm2, xmm3, xmmword ptr [eax]
100// CHECK: encoding: [0xc4,0xe2,0x63,0xda,0x10]
101               vsm4rnds4 xmm2, xmm3, xmmword ptr [eax]
102
103// CHECK:      vsm4rnds4 xmm2, xmm3, xmmword ptr [2*ebp - 512]
104// CHECK: encoding: [0xc4,0xe2,0x63,0xda,0x14,0x6d,0x00,0xfe,0xff,0xff]
105               vsm4rnds4 xmm2, xmm3, xmmword ptr [2*ebp - 512]
106
107// CHECK:      vsm4rnds4 xmm2, xmm3, xmmword ptr [ecx + 2032]
108// CHECK: encoding: [0xc4,0xe2,0x63,0xda,0x91,0xf0,0x07,0x00,0x00]
109               vsm4rnds4 xmm2, xmm3, xmmword ptr [ecx + 2032]
110
111// CHECK:      vsm4rnds4 xmm2, xmm3, xmmword ptr [edx - 2048]
112// CHECK: encoding: [0xc4,0xe2,0x63,0xda,0x92,0x00,0xf8,0xff,0xff]
113               vsm4rnds4 xmm2, xmm3, xmmword ptr [edx - 2048]
114