1# Check SHA instructions
2
3	.allow_index_reg
4	.text
5_start:
6	sha1rnds4 $9, %xmm2, %xmm1
7	sha1rnds4 $7, (%eax), %xmm2
8	sha1rnds4 $5, 0x12(%eax), %xmm3
9	sha1rnds4 $1, (%eax,%ebx,2), %xmm4
10	sha1nexte %xmm2, %xmm1
11	sha1nexte (%eax), %xmm1
12	sha1nexte 0x12(%eax), %xmm1
13	sha1nexte (%eax,%ebx,2), %xmm1
14	sha1msg1 %xmm2, %xmm1
15	sha1msg1 (%eax), %xmm1
16	sha1msg1 0x12(%eax), %xmm1
17	sha1msg1 (%eax,%ebx,2), %xmm1
18	sha1msg2 %xmm2, %xmm1
19	sha1msg2 (%eax), %xmm1
20	sha1msg2 0x12(%eax), %xmm1
21	sha1msg2 (%eax,%ebx,2), %xmm1
22	sha256rnds2 %xmm2, %xmm1
23	sha256rnds2 (%eax), %xmm1
24	sha256rnds2 0x12(%eax), %xmm1
25	sha256rnds2 (%eax,%ebx,2), %xmm1
26	sha256rnds2 %xmm0, %xmm2, %xmm1
27	sha256rnds2 %xmm0, (%eax), %xmm1
28	sha256rnds2 %xmm0, 0x12(%eax), %xmm1
29	sha256rnds2 %xmm0, (%eax,%ebx,2), %xmm1
30	sha256msg1 %xmm2, %xmm1
31	sha256msg1 (%eax), %xmm1
32	sha256msg1 0x12(%eax), %xmm1
33	sha256msg1 (%eax,%ebx,2), %xmm1
34	sha256msg2 %xmm2, %xmm1
35	sha256msg2 (%eax), %xmm1
36	sha256msg2 0x12(%eax), %xmm1
37	sha256msg2 (%eax,%ebx,2), %xmm1
38
39	.intel_syntax noprefix
40
41	sha1rnds4 xmm1, xmm2, 9
42	sha1rnds4 xmm2, XMMWORD PTR [eax], 7
43	sha1rnds4 xmm3, XMMWORD PTR [eax+0x12], 5
44	sha1rnds4 xmm4, XMMWORD PTR [eax+ebx*2], 1
45	sha1nexte xmm1, xmm2
46	sha1nexte xmm2, XMMWORD PTR [eax]
47	sha1nexte xmm3, XMMWORD PTR [eax+0x12]
48	sha1nexte xmm4, XMMWORD PTR [eax+ebx*2]
49	sha1msg1 xmm1, xmm2
50	sha1msg1 xmm2, XMMWORD PTR [eax]
51	sha1msg1 xmm3, XMMWORD PTR [eax+0x12]
52	sha1msg1 xmm4, XMMWORD PTR [eax+ebx*2]
53	sha1msg2 xmm1, xmm2
54	sha1msg2 xmm2, XMMWORD PTR [eax]
55	sha1msg2 xmm3, XMMWORD PTR [eax+0x12]
56	sha1msg2 xmm4, XMMWORD PTR [eax+ebx*2]
57	sha256rnds2 xmm1, xmm2
58	sha256rnds2 xmm2, XMMWORD PTR [eax]
59	sha256rnds2 xmm3, XMMWORD PTR [eax+0x12]
60	sha256rnds2 xmm4, XMMWORD PTR [eax+ebx*2]
61	sha256rnds2 xmm1, xmm2, xmm0
62	sha256rnds2 xmm2, XMMWORD PTR [eax], xmm0
63	sha256rnds2 xmm3, XMMWORD PTR [eax+0x12], xmm0
64	sha256rnds2 xmm4, XMMWORD PTR [eax+ebx*2], xmm0
65	sha256msg1 xmm1, xmm2
66	sha256msg1 xmm2, XMMWORD PTR [eax]
67	sha256msg1 xmm3, XMMWORD PTR [eax+0x12]
68	sha256msg1 xmm4, XMMWORD PTR [eax+ebx*2]
69	sha256msg2 xmm1, xmm2
70	sha256msg2 xmm2, XMMWORD PTR [eax]
71	sha256msg2 xmm3, XMMWORD PTR [eax+0x12]
72	sha256msg2 xmm4, XMMWORD PTR [eax+ebx*2]
73