Commit | Line | Data |
---|---|---|
4c692bc7 JB |
1 | # 64bit insns with special register requirements |
2 | ||
3 | .text | |
4 | special: | |
5 | .irp reg1, ax, cx, dx, bx, sp, bp, si, di | |
6 | lodsb %ds:(%r\reg1) | |
7 | ||
8 | stosb %es:(%r\reg1) | |
9 | ||
10 | scasb %es:(%r\reg1) | |
11 | ||
12 | insb %dx, %es:(%r\reg1) | |
13 | ||
14 | outsb %ds:(%r\reg1), %dx | |
15 | ||
16 | xlatb %ds:(%r\reg1) | |
17 | ||
18 | movsb %ds:(%r\reg1), %es:(%rdi) | |
19 | movsb %ds:(%rsi), %es:(%r\reg1) | |
20 | ||
21 | cmpsb %es:(%r\reg1), %ds:(%rsi) | |
22 | cmpsb %es:(%rdi), %ds:(%r\reg1) | |
23 | ||
24 | mwait %r\reg1, %rcx | |
25 | mwait %rax, %r\reg1 | |
26 | ||
27 | monitor %r\reg1, %rcx, %rdx | |
28 | monitor %rax, %r\reg1, %rdx | |
29 | monitor %rax, %rcx, %r\reg1 | |
30 | ||
4c692bc7 JB |
31 | vmload %r\reg1 |
32 | ||
4c692bc7 JB |
33 | vmrun %r\reg1 |
34 | ||
4c692bc7 JB |
35 | vmsave %r\reg1 |
36 | ||
4c692bc7 JB |
37 | invlpga %r\reg1, %ecx |
38 | invlpga %rax, %e\reg1 | |
39 | ||
4c692bc7 JB |
40 | skinit %e\reg1 |
41 | .endr | |
42 | ||
43 | .irp reg1, 8, 9, 10, 11, 12, 13, 14, 15 | |
44 | lodsb %ds:(%r\reg1) | |
45 | ||
46 | stosb %es:(%r\reg1) | |
47 | ||
48 | scasb %es:(%r\reg1) | |
49 | ||
50 | insb %dx, %es:(%r\reg1) | |
51 | ||
52 | outsb %ds:(%r\reg1), %dx | |
53 | ||
54 | xlatb %ds:(%r\reg1) | |
55 | ||
56 | movsb %ds:(%r\reg1), %es:(%rdi) | |
57 | movsb %ds:(%rsi), %es:(%r\reg1) | |
58 | ||
59 | cmpsb %es:(%r\reg1), %ds:(%rsi) | |
60 | cmpsb %es:(%rdi), %ds:(%r\reg1) | |
61 | ||
62 | mwait %r\reg1, %rcx | |
63 | mwait %rax, %r\reg1 | |
64 | ||
65 | monitor %r\reg1, %rcx, %rdx | |
66 | monitor %rax, %r\reg1, %rdx | |
67 | monitor %rax, %rcx, %r\reg1 | |
68 | ||
69 | vmload %r\reg1 | |
70 | ||
71 | vmrun %r\reg1 | |
72 | ||
73 | vmsave %r\reg1 | |
74 | ||
75 | invlpga %r\reg1, %ecx | |
76 | invlpga %rax, %r\reg1\(d) | |
77 | ||
78 | skinit %r\reg1\(d) | |
79 | .endr | |
80 | ||
81 | .irp n, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 | |
82 | blendvpd %xmm\n, %xmm\n, %xmm\n | |
83 | blendvps %xmm\n, %xmm\n, %xmm\n | |
84 | pblendvb %xmm\n, %xmm\n, %xmm\n | |
85 | .endr |