16c1b3b1e32f960f44e47d8484510f5c5f8e5343fChris Lattner// RUN: llvm-mc -triple x86_64-unknown-unknown -show-encoding %s > %t 2> %t.err
2ee9102587e7f6fc95de9fc5731b341eeb9bfc3caDaniel Dunbar// RUN: FileCheck < %t %s
3ee9102587e7f6fc95de9fc5731b341eeb9bfc3caDaniel Dunbar// RUN: FileCheck --check-prefix=CHECK-STDERR < %t.err %s
4b6804e91267381427866dfc1ae3d88abd02ddf14Daniel Dunbar
55ad596f9d27a67767118857471e63b55bfb152d6Joerg Sonnenberger	monitor
65ad596f9d27a67767118857471e63b55bfb152d6Joerg Sonnenberger// CHECK: monitor
75ad596f9d27a67767118857471e63b55bfb152d6Joerg Sonnenberger// CHECK: encoding: [0x0f,0x01,0xc8]
85ad596f9d27a67767118857471e63b55bfb152d6Joerg Sonnenberger	monitor %rax, %rcx, %rdx
95ad596f9d27a67767118857471e63b55bfb152d6Joerg Sonnenberger// CHECK: monitor
105ad596f9d27a67767118857471e63b55bfb152d6Joerg Sonnenberger// CHECK: encoding: [0x0f,0x01,0xc8]
115ad596f9d27a67767118857471e63b55bfb152d6Joerg Sonnenberger	mwait
125ad596f9d27a67767118857471e63b55bfb152d6Joerg Sonnenberger// CHECK: mwait
135ad596f9d27a67767118857471e63b55bfb152d6Joerg Sonnenberger// CHECK: encoding: [0x0f,0x01,0xc9]
145ad596f9d27a67767118857471e63b55bfb152d6Joerg Sonnenberger	mwait %rax, %rcx
155ad596f9d27a67767118857471e63b55bfb152d6Joerg Sonnenberger// CHECK: mwait
165ad596f9d27a67767118857471e63b55bfb152d6Joerg Sonnenberger// CHECK: encoding: [0x0f,0x01,0xc9]
1727c5215fbd59c2e8262dd14d63ada96ce3cfd351Chris Lattner
1827c5215fbd59c2e8262dd14d63ada96ce3cfd351Chris Lattner// Suffix inference:
1927c5215fbd59c2e8262dd14d63ada96ce3cfd351Chris Lattner
2027c5215fbd59c2e8262dd14d63ada96ce3cfd351Chris Lattner// CHECK: addl $0, %eax
2127c5215fbd59c2e8262dd14d63ada96ce3cfd351Chris Lattner        add $0, %eax
2227c5215fbd59c2e8262dd14d63ada96ce3cfd351Chris Lattner// CHECK: addb $255, %al
2327c5215fbd59c2e8262dd14d63ada96ce3cfd351Chris Lattner        add $0xFF, %al
2427c5215fbd59c2e8262dd14d63ada96ce3cfd351Chris Lattner// CHECK: orq %rax, %rdx
2527c5215fbd59c2e8262dd14d63ada96ce3cfd351Chris Lattner        or %rax, %rdx
2627c5215fbd59c2e8262dd14d63ada96ce3cfd351Chris Lattner// CHECK: shlq $3, %rax
2727c5215fbd59c2e8262dd14d63ada96ce3cfd351Chris Lattner        shl $3, %rax
2827c5215fbd59c2e8262dd14d63ada96ce3cfd351Chris Lattner
2927c5215fbd59c2e8262dd14d63ada96ce3cfd351Chris Lattner
30c22e0b2443afdedb6d9b225b938ad404d63cdbe6Daniel Dunbar// CHECK: subb %al, %al
31022e2a84a867ba73fd0e6b89f61e56396f22620dDaniel Dunbar        subb %al, %al
32022e2a84a867ba73fd0e6b89f61e56396f22620dDaniel Dunbar
33c22e0b2443afdedb6d9b225b938ad404d63cdbe6Daniel Dunbar// CHECK: addl $24, %eax
34022e2a84a867ba73fd0e6b89f61e56396f22620dDaniel Dunbar        addl $24, %eax
35022e2a84a867ba73fd0e6b89f61e56396f22620dDaniel Dunbar
36c22e0b2443afdedb6d9b225b938ad404d63cdbe6Daniel Dunbar// CHECK: movl %eax, 10(%ebp)
37022e2a84a867ba73fd0e6b89f61e56396f22620dDaniel Dunbar        movl %eax, 10(%ebp)
38c22e0b2443afdedb6d9b225b938ad404d63cdbe6Daniel Dunbar// CHECK: movl %eax, 10(%ebp,%ebx)
39022e2a84a867ba73fd0e6b89f61e56396f22620dDaniel Dunbar        movl %eax, 10(%ebp, %ebx)
40c22e0b2443afdedb6d9b225b938ad404d63cdbe6Daniel Dunbar// CHECK: movl %eax, 10(%ebp,%ebx,4)
41022e2a84a867ba73fd0e6b89f61e56396f22620dDaniel Dunbar        movl %eax, 10(%ebp, %ebx, 4)
42c22e0b2443afdedb6d9b225b938ad404d63cdbe6Daniel Dunbar// CHECK: movl %eax, 10(,%ebx,4)
43022e2a84a867ba73fd0e6b89f61e56396f22620dDaniel Dunbar        movl %eax, 10(, %ebx, 4)
44b834f5d13d824dc4da2ce0df2aa8dffb697b8974Daniel Dunbar
45b834f5d13d824dc4da2ce0df2aa8dffb697b8974Daniel Dunbar// CHECK: movl 0, %eax
46b834f5d13d824dc4da2ce0df2aa8dffb697b8974Daniel Dunbar        movl 0, %eax
47b834f5d13d824dc4da2ce0df2aa8dffb697b8974Daniel Dunbar// CHECK: movl $0, %eax
48b834f5d13d824dc4da2ce0df2aa8dffb697b8974Daniel Dunbar        movl $0, %eax
49b834f5d13d824dc4da2ce0df2aa8dffb697b8974Daniel Dunbar
508a3ee718cdaa153e29c079548e6755184d5426e4Daniel Dunbar// CHECK: ret
518a3ee718cdaa153e29c079548e6755184d5426e4Daniel Dunbar        ret
528a3ee718cdaa153e29c079548e6755184d5426e4Daniel Dunbar
530d82fe77f2b6f48b5fab131c1671169d154f8c69Charles Davis// CHECK: retw
540d82fe77f2b6f48b5fab131c1671169d154f8c69Charles Davis        retw
550d82fe77f2b6f48b5fab131c1671169d154f8c69Charles Davis
565fe6338ac859707f797bf6db6d043bb5f4d944a1Daniel Dunbar// FIXME: Check that this matches SUB32ri8
57c22e0b2443afdedb6d9b225b938ad404d63cdbe6Daniel Dunbar// CHECK: subl $1, %eax
585fe6338ac859707f797bf6db6d043bb5f4d944a1Daniel Dunbar        subl $1, %eax
595fe6338ac859707f797bf6db6d043bb5f4d944a1Daniel Dunbar
605fe6338ac859707f797bf6db6d043bb5f4d944a1Daniel Dunbar// FIXME: Check that this matches SUB32ri8
61c22e0b2443afdedb6d9b225b938ad404d63cdbe6Daniel Dunbar// CHECK: subl $-1, %eax
625fe6338ac859707f797bf6db6d043bb5f4d944a1Daniel Dunbar        subl $-1, %eax
635fe6338ac859707f797bf6db6d043bb5f4d944a1Daniel Dunbar
645fe6338ac859707f797bf6db6d043bb5f4d944a1Daniel Dunbar// FIXME: Check that this matches SUB32ri
65c22e0b2443afdedb6d9b225b938ad404d63cdbe6Daniel Dunbar// CHECK: subl $256, %eax
665fe6338ac859707f797bf6db6d043bb5f4d944a1Daniel Dunbar        subl $256, %eax
675fe6338ac859707f797bf6db6d043bb5f4d944a1Daniel Dunbar
6844f63f9335bfb487a2e94cbe20d2950bbdef840eDaniel Dunbar// FIXME: Check that this matches XOR64ri8
69c22e0b2443afdedb6d9b225b938ad404d63cdbe6Daniel Dunbar// CHECK: xorq $1, %rax
70ea6408f8cd17b065e414611e01a7133d118429e9Daniel Dunbar        xorq $1, %rax
715fe6338ac859707f797bf6db6d043bb5f4d944a1Daniel Dunbar
7244f63f9335bfb487a2e94cbe20d2950bbdef840eDaniel Dunbar// FIXME: Check that this matches XOR64ri32
73c22e0b2443afdedb6d9b225b938ad404d63cdbe6Daniel Dunbar// CHECK: xorq $256, %rax
74ea6408f8cd17b065e414611e01a7133d118429e9Daniel Dunbar        xorq $256, %rax
75ea6408f8cd17b065e414611e01a7133d118429e9Daniel Dunbar
76ea6408f8cd17b065e414611e01a7133d118429e9Daniel Dunbar// FIXME: Check that this matches SUB8rr
77c22e0b2443afdedb6d9b225b938ad404d63cdbe6Daniel Dunbar// CHECK: subb %al, %bl
78ea6408f8cd17b065e414611e01a7133d118429e9Daniel Dunbar        subb %al, %bl
79ea6408f8cd17b065e414611e01a7133d118429e9Daniel Dunbar
80ea6408f8cd17b065e414611e01a7133d118429e9Daniel Dunbar// FIXME: Check that this matches SUB16rr
81c22e0b2443afdedb6d9b225b938ad404d63cdbe6Daniel Dunbar// CHECK: subw %ax, %bx
82ea6408f8cd17b065e414611e01a7133d118429e9Daniel Dunbar        subw %ax, %bx
83ea6408f8cd17b065e414611e01a7133d118429e9Daniel Dunbar
84ea6408f8cd17b065e414611e01a7133d118429e9Daniel Dunbar// FIXME: Check that this matches SUB32rr
85c22e0b2443afdedb6d9b225b938ad404d63cdbe6Daniel Dunbar// CHECK: subl %eax, %ebx
86ea6408f8cd17b065e414611e01a7133d118429e9Daniel Dunbar        subl %eax, %ebx
87ea6408f8cd17b065e414611e01a7133d118429e9Daniel Dunbar
880db68f4e3a8be1641dbba72a41baa6ff1b5dd6afDaniel Dunbar// FIXME: Check that this matches the correct instruction.
89926f2bb3d8dd6f8b0198aa478828ee02914050f9Daniel Dunbar// CHECK: callq *%rax
900db68f4e3a8be1641dbba72a41baa6ff1b5dd6afDaniel Dunbar        call *%rax
911095f2ae261d231a63d329b0ebbf6eaf566ff429Daniel Dunbar
921095f2ae261d231a63d329b0ebbf6eaf566ff429Daniel Dunbar// FIXME: Check that this matches the correct instruction.
93c22e0b2443afdedb6d9b225b938ad404d63cdbe6Daniel Dunbar// CHECK: shldl %cl, %eax, %ebx
941095f2ae261d231a63d329b0ebbf6eaf566ff429Daniel Dunbar        shldl %cl, %eax, %ebx
95e7070e90066acc3460af1d6cac4036a80b0250b8Daniel Dunbar
96e7070e90066acc3460af1d6cac4036a80b0250b8Daniel Dunbar// CHECK: shll $2, %eax
97e7070e90066acc3460af1d6cac4036a80b0250b8Daniel Dunbar        shll $2, %eax
98e7070e90066acc3460af1d6cac4036a80b0250b8Daniel Dunbar
99e7070e90066acc3460af1d6cac4036a80b0250b8Daniel Dunbar// CHECK: shll $2, %eax
100e7070e90066acc3460af1d6cac4036a80b0250b8Daniel Dunbar        sall $2, %eax
10112ce0de4622df7bcc15ba6c8818b98c0b936876aKevin Enderby
10212ce0de4622df7bcc15ba6c8818b98c0b936876aKevin Enderby// CHECK: rep
10312ce0de4622df7bcc15ba6c8818b98c0b936876aKevin Enderby// CHECK: insb
10412ce0de4622df7bcc15ba6c8818b98c0b936876aKevin Enderby        rep;insb
10512ce0de4622df7bcc15ba6c8818b98c0b936876aKevin Enderby
10612ce0de4622df7bcc15ba6c8818b98c0b936876aKevin Enderby// CHECK: rep
10712ce0de4622df7bcc15ba6c8818b98c0b936876aKevin Enderby// CHECK: outsb
10812ce0de4622df7bcc15ba6c8818b98c0b936876aKevin Enderby        rep;outsb
10912ce0de4622df7bcc15ba6c8818b98c0b936876aKevin Enderby
11012ce0de4622df7bcc15ba6c8818b98c0b936876aKevin Enderby// CHECK: rep
11112ce0de4622df7bcc15ba6c8818b98c0b936876aKevin Enderby// CHECK: movsb
11212ce0de4622df7bcc15ba6c8818b98c0b936876aKevin Enderby        rep;movsb
11312ce0de4622df7bcc15ba6c8818b98c0b936876aKevin Enderby
114df967d613704d4e4f01ecce85c1846dfab4d9a1bChris Lattner
115df967d613704d4e4f01ecce85c1846dfab4d9a1bChris Lattner// rdar://8470918
116df967d613704d4e4f01ecce85c1846dfab4d9a1bChris Lattnersmovb // CHECK: movsb
117df967d613704d4e4f01ecce85c1846dfab4d9a1bChris Lattnersmovw // CHECK: movsw
1189b8b830f3fa6dca2275dcd86bdaf0d78ab1651a1Craig Toppersmovl // CHECK: movsl
119df967d613704d4e4f01ecce85c1846dfab4d9a1bChris Lattnersmovq // CHECK: movsq
120df967d613704d4e4f01ecce85c1846dfab4d9a1bChris Lattner
12161129252e44067ae112dc856c64c814344b7e7c9Chris Lattner// rdar://8456361
12261129252e44067ae112dc856c64c814344b7e7c9Chris Lattner// CHECK: rep
1239b8b830f3fa6dca2275dcd86bdaf0d78ab1651a1Craig Topper// CHECK: movsl
12461129252e44067ae112dc856c64c814344b7e7c9Chris Lattner        rep movsd
12561129252e44067ae112dc856c64c814344b7e7c9Chris Lattner
12612ce0de4622df7bcc15ba6c8818b98c0b936876aKevin Enderby// CHECK: rep
12712ce0de4622df7bcc15ba6c8818b98c0b936876aKevin Enderby// CHECK: lodsb
12812ce0de4622df7bcc15ba6c8818b98c0b936876aKevin Enderby        rep;lodsb
12912ce0de4622df7bcc15ba6c8818b98c0b936876aKevin Enderby
13012ce0de4622df7bcc15ba6c8818b98c0b936876aKevin Enderby// CHECK: rep
13112ce0de4622df7bcc15ba6c8818b98c0b936876aKevin Enderby// CHECK: stosb
13212ce0de4622df7bcc15ba6c8818b98c0b936876aKevin Enderby        rep;stosb
13312ce0de4622df7bcc15ba6c8818b98c0b936876aKevin Enderby
13412ce0de4622df7bcc15ba6c8818b98c0b936876aKevin Enderby// NOTE: repz and repe have the same opcode as rep
13512ce0de4622df7bcc15ba6c8818b98c0b936876aKevin Enderby// CHECK: rep
13612ce0de4622df7bcc15ba6c8818b98c0b936876aKevin Enderby// CHECK: cmpsb
13712ce0de4622df7bcc15ba6c8818b98c0b936876aKevin Enderby        repz;cmpsb
13812ce0de4622df7bcc15ba6c8818b98c0b936876aKevin Enderby
13912ce0de4622df7bcc15ba6c8818b98c0b936876aKevin Enderby// NOTE: repnz has the same opcode as repne
14012ce0de4622df7bcc15ba6c8818b98c0b936876aKevin Enderby// CHECK: repne
14112ce0de4622df7bcc15ba6c8818b98c0b936876aKevin Enderby// CHECK: cmpsb
14212ce0de4622df7bcc15ba6c8818b98c0b936876aKevin Enderby        repnz;cmpsb
14312ce0de4622df7bcc15ba6c8818b98c0b936876aKevin Enderby
14412ce0de4622df7bcc15ba6c8818b98c0b936876aKevin Enderby// NOTE: repe and repz have the same opcode as rep
14512ce0de4622df7bcc15ba6c8818b98c0b936876aKevin Enderby// CHECK: rep
14612ce0de4622df7bcc15ba6c8818b98c0b936876aKevin Enderby// CHECK: scasb
14712ce0de4622df7bcc15ba6c8818b98c0b936876aKevin Enderby        repe;scasb
14812ce0de4622df7bcc15ba6c8818b98c0b936876aKevin Enderby
14912ce0de4622df7bcc15ba6c8818b98c0b936876aKevin Enderby// CHECK: repne
15012ce0de4622df7bcc15ba6c8818b98c0b936876aKevin Enderby// CHECK: scasb
15112ce0de4622df7bcc15ba6c8818b98c0b936876aKevin Enderby        repne;scasb
15212ce0de4622df7bcc15ba6c8818b98c0b936876aKevin Enderby
15312ce0de4622df7bcc15ba6c8818b98c0b936876aKevin Enderby// CHECK: lock
1549c60f534cbdec2ba58b269c4d624ae4d301ef73aDaniel Dunbar// CHECK: cmpxchgb %al, (%ebx)
15512ce0de4622df7bcc15ba6c8818b98c0b936876aKevin Enderby        lock;cmpxchgb %al, 0(%ebx)
15612ce0de4622df7bcc15ba6c8818b98c0b936876aKevin Enderby
15712ce0de4622df7bcc15ba6c8818b98c0b936876aKevin Enderby// CHECK: cs
1589c60f534cbdec2ba58b269c4d624ae4d301ef73aDaniel Dunbar// CHECK: movb (%eax), %al
15912ce0de4622df7bcc15ba6c8818b98c0b936876aKevin Enderby        cs;movb 0(%eax), %al
16012ce0de4622df7bcc15ba6c8818b98c0b936876aKevin Enderby
16112ce0de4622df7bcc15ba6c8818b98c0b936876aKevin Enderby// CHECK: ss
1629c60f534cbdec2ba58b269c4d624ae4d301ef73aDaniel Dunbar// CHECK: movb (%eax), %al
16312ce0de4622df7bcc15ba6c8818b98c0b936876aKevin Enderby        ss;movb 0(%eax), %al
16412ce0de4622df7bcc15ba6c8818b98c0b936876aKevin Enderby
16512ce0de4622df7bcc15ba6c8818b98c0b936876aKevin Enderby// CHECK: ds
1669c60f534cbdec2ba58b269c4d624ae4d301ef73aDaniel Dunbar// CHECK: movb (%eax), %al
16712ce0de4622df7bcc15ba6c8818b98c0b936876aKevin Enderby        ds;movb 0(%eax), %al
16812ce0de4622df7bcc15ba6c8818b98c0b936876aKevin Enderby
16912ce0de4622df7bcc15ba6c8818b98c0b936876aKevin Enderby// CHECK: es
1709c60f534cbdec2ba58b269c4d624ae4d301ef73aDaniel Dunbar// CHECK: movb (%eax), %al
17112ce0de4622df7bcc15ba6c8818b98c0b936876aKevin Enderby        es;movb 0(%eax), %al
17212ce0de4622df7bcc15ba6c8818b98c0b936876aKevin Enderby
17312ce0de4622df7bcc15ba6c8818b98c0b936876aKevin Enderby// CHECK: fs
1749c60f534cbdec2ba58b269c4d624ae4d301ef73aDaniel Dunbar// CHECK: movb (%eax), %al
17512ce0de4622df7bcc15ba6c8818b98c0b936876aKevin Enderby        fs;movb 0(%eax), %al
17612ce0de4622df7bcc15ba6c8818b98c0b936876aKevin Enderby
17712ce0de4622df7bcc15ba6c8818b98c0b936876aKevin Enderby// CHECK: gs
1789c60f534cbdec2ba58b269c4d624ae4d301ef73aDaniel Dunbar// CHECK: movb (%eax), %al
17912ce0de4622df7bcc15ba6c8818b98c0b936876aKevin Enderby        gs;movb 0(%eax), %al
18012ce0de4622df7bcc15ba6c8818b98c0b936876aKevin Enderby
181e16b0fc3cb607bd0b8240733e2fe829d78df3833Chris Lattner// CHECK: fadd %st(0)
182e16b0fc3cb607bd0b8240733e2fe829d78df3833Chris Lattner// CHECK: fadd %st(1)
183e16b0fc3cb607bd0b8240733e2fe829d78df3833Chris Lattner// CHECK: fadd %st(7)
184e16b0fc3cb607bd0b8240733e2fe829d78df3833Chris Lattner
185e16b0fc3cb607bd0b8240733e2fe829d78df3833Chris Lattnerfadd %st(0)
186e16b0fc3cb607bd0b8240733e2fe829d78df3833Chris Lattnerfadd %st(1)
187e16b0fc3cb607bd0b8240733e2fe829d78df3833Chris Lattnerfadd %st(7)
188c26ae5ab7e2d65b67c97524e66f50ce86445dec7Daniel Dunbar
189c26ae5ab7e2d65b67c97524e66f50ce86445dec7Daniel Dunbar// CHECK: leal 0, %eax
190c26ae5ab7e2d65b67c97524e66f50ce86445dec7Daniel Dunbar        leal 0, %eax
191a7f1354eb5289b340220c9138befff89822119b2Chris Lattner
192a7f1354eb5289b340220c9138befff89822119b2Chris Lattner// rdar://7986634 - Insensitivity on opcodes.
193a7f1354eb5289b340220c9138befff89822119b2Chris Lattner// CHECK: int3
194a7f1354eb5289b340220c9138befff89822119b2Chris LattnerINT3
195a7f1354eb5289b340220c9138befff89822119b2Chris Lattner
19615f895179953b258e4ca20860d0d58f25f3a3edbChris Lattner// rdar://8735979 - int $3 -> int3
19715f895179953b258e4ca20860d0d58f25f3a3edbChris Lattner// CHECK: int3
19815f895179953b258e4ca20860d0d58f25f3a3edbChris Lattnerint	$3
19915f895179953b258e4ca20860d0d58f25f3a3edbChris Lattner
200ee9102587e7f6fc95de9fc5731b341eeb9bfc3caDaniel Dunbar
201ee9102587e7f6fc95de9fc5731b341eeb9bfc3caDaniel Dunbar// Allow scale factor without index register.
202ee9102587e7f6fc95de9fc5731b341eeb9bfc3caDaniel Dunbar// CHECK: movaps	%xmm3, (%esi)
203ee9102587e7f6fc95de9fc5731b341eeb9bfc3caDaniel Dunbar// CHECK-STDERR: warning: scale factor without index register is ignored
204ee9102587e7f6fc95de9fc5731b341eeb9bfc3caDaniel Dunbarmovaps %xmm3, (%esi, 2)
205ae528f65ba731e2e080822496ef36db950ffe1c1Daniel Dunbar
206dce4a407a24b04eebc6a376f8e62b41aaa7b071fStephen Hines// CHECK: imull $12, %eax
207ae528f65ba731e2e080822496ef36db950ffe1c1Daniel Dunbarimul $12, %eax
208fba88d49e3fbb68bb84c295a9639fe94f9a8c6aaDaniel Dunbar
209fba88d49e3fbb68bb84c295a9639fe94f9a8c6aaDaniel Dunbar// CHECK: imull %ecx, %eax
210fba88d49e3fbb68bb84c295a9639fe94f9a8c6aaDaniel Dunbarimull %ecx, %eax
2119389b60a03890b70872e5ee2f078c4a4a00d123bChris Lattner
2129389b60a03890b70872e5ee2f078c4a4a00d123bChris Lattner
2139389b60a03890b70872e5ee2f078c4a4a00d123bChris Lattner// rdar://8208481
2149389b60a03890b70872e5ee2f078c4a4a00d123bChris Lattner// CHECK: outb	%al, $161
2159389b60a03890b70872e5ee2f078c4a4a00d123bChris Lattneroutb	%al, $161
2169389b60a03890b70872e5ee2f078c4a4a00d123bChris Lattner// CHECK: outw	%ax, $128
2179389b60a03890b70872e5ee2f078c4a4a00d123bChris Lattneroutw	%ax, $128
2189389b60a03890b70872e5ee2f078c4a4a00d123bChris Lattner// CHECK: inb	$161, %al
2199389b60a03890b70872e5ee2f078c4a4a00d123bChris Lattnerinb	$161, %al
220d68c474ec55a3dd43f9fa8ea4c89e5fae62909abChris Lattner
221d68c474ec55a3dd43f9fa8ea4c89e5fae62909abChris Lattner// rdar://8017621
222d68c474ec55a3dd43f9fa8ea4c89e5fae62909abChris Lattner// CHECK: pushq	$1
223d68c474ec55a3dd43f9fa8ea4c89e5fae62909abChris Lattnerpush $1
224d68c474ec55a3dd43f9fa8ea4c89e5fae62909abChris Lattner
225d521f2d2f1a866ba9f9e73ca566e2b486c15dc74Kevin Enderby// rdar://9716860
226d521f2d2f1a866ba9f9e73ca566e2b486c15dc74Kevin Enderbypushq $1
227d521f2d2f1a866ba9f9e73ca566e2b486c15dc74Kevin Enderby// CHECK: encoding: [0x6a,0x01]
228d521f2d2f1a866ba9f9e73ca566e2b486c15dc74Kevin Enderbypushq $1111111
229d521f2d2f1a866ba9f9e73ca566e2b486c15dc74Kevin Enderby// CHECK: encoding: [0x68,0x47,0xf4,0x10,0x00]
230d521f2d2f1a866ba9f9e73ca566e2b486c15dc74Kevin Enderby
231c5cebeb3cb44a3fd0aaee956431159757ee47914Chris Lattner// rdar://8017530
232c5cebeb3cb44a3fd0aaee956431159757ee47914Chris Lattner// CHECK: sldtw	4
233c5cebeb3cb44a3fd0aaee956431159757ee47914Chris Lattnersldt	4
234e9e0fc5eed9e177c3ee7299a34e640973102ac39Chris Lattner
235e9e0fc5eed9e177c3ee7299a34e640973102ac39Chris Lattner// rdar://8208499
236e9e0fc5eed9e177c3ee7299a34e640973102ac39Chris Lattner// CHECK: cmovnew	%bx, %ax
237e9e0fc5eed9e177c3ee7299a34e640973102ac39Chris Lattnercmovnz %bx, %ax
238e9e0fc5eed9e177c3ee7299a34e640973102ac39Chris Lattner// CHECK: cmovneq	%rbx, %rax
239e9e0fc5eed9e177c3ee7299a34e640973102ac39Chris Lattnercmovnzq %rbx, %rax
240e9e0fc5eed9e177c3ee7299a34e640973102ac39Chris Lattner
241ee211d0ed632d6329922ad4c5f7a25d3d66cf551Chris Lattner
242ee211d0ed632d6329922ad4c5f7a25d3d66cf551Chris Lattner// rdar://8407928
243ee211d0ed632d6329922ad4c5f7a25d3d66cf551Chris Lattner// CHECK: inb	$127, %al
2444e3170b63a31c515644846ce7a77631429d93050Craig Topper// CHECK: inw	%dx, %ax
245ee211d0ed632d6329922ad4c5f7a25d3d66cf551Chris Lattner// CHECK: outb	%al, $127
2464e3170b63a31c515644846ce7a77631429d93050Craig Topper// CHECK: outw	%ax, %dx
2474e3170b63a31c515644846ce7a77631429d93050Craig Topper// CHECK: inl	%dx, %eax
248ee211d0ed632d6329922ad4c5f7a25d3d66cf551Chris Lattnerinb	$0x7f
249ee211d0ed632d6329922ad4c5f7a25d3d66cf551Chris Lattnerinw	%dx
250ee211d0ed632d6329922ad4c5f7a25d3d66cf551Chris Lattneroutb	$0x7f
251ee211d0ed632d6329922ad4c5f7a25d3d66cf551Chris Lattneroutw	%dx
252ee211d0ed632d6329922ad4c5f7a25d3d66cf551Chris Lattnerinl	%dx
253ef63c9a9b6f79fef91dc144db9d5f217d2b83a95Chris Lattner
254ef63c9a9b6f79fef91dc144db9d5f217d2b83a95Chris Lattner
255ef63c9a9b6f79fef91dc144db9d5f217d2b83a95Chris Lattner// PR8114
2564e3170b63a31c515644846ce7a77631429d93050Craig Topper// CHECK: outb	%al, %dx
2574e3170b63a31c515644846ce7a77631429d93050Craig Topper// CHECK: outb	%al, %dx
2584e3170b63a31c515644846ce7a77631429d93050Craig Topper// CHECK: outw	%ax, %dx
2594e3170b63a31c515644846ce7a77631429d93050Craig Topper// CHECK: outw	%ax, %dx
2604e3170b63a31c515644846ce7a77631429d93050Craig Topper// CHECK: outl	%eax, %dx
2614e3170b63a31c515644846ce7a77631429d93050Craig Topper// CHECK: outl	%eax, %dx
26200743c2218ff3f0f4edce972e2d88893a19e6ef8Joerg Sonnenberger
26300743c2218ff3f0f4edce972e2d88893a19e6ef8Joerg Sonnenbergerout	%al, (%dx)
26400743c2218ff3f0f4edce972e2d88893a19e6ef8Joerg Sonnenbergeroutb	%al, (%dx)
26500743c2218ff3f0f4edce972e2d88893a19e6ef8Joerg Sonnenbergerout	%ax, (%dx)
26600743c2218ff3f0f4edce972e2d88893a19e6ef8Joerg Sonnenbergeroutw	%ax, (%dx)
26700743c2218ff3f0f4edce972e2d88893a19e6ef8Joerg Sonnenbergerout	%eax, (%dx)
26800743c2218ff3f0f4edce972e2d88893a19e6ef8Joerg Sonnenbergeroutl	%eax, (%dx)
269ef63c9a9b6f79fef91dc144db9d5f217d2b83a95Chris Lattner
2704e3170b63a31c515644846ce7a77631429d93050Craig Topper// CHECK: inb	%dx, %al
2714e3170b63a31c515644846ce7a77631429d93050Craig Topper// CHECK: inb	%dx, %al
2724e3170b63a31c515644846ce7a77631429d93050Craig Topper// CHECK: inw	%dx, %ax
2734e3170b63a31c515644846ce7a77631429d93050Craig Topper// CHECK: inw	%dx, %ax
2744e3170b63a31c515644846ce7a77631429d93050Craig Topper// CHECK: inl	%dx, %eax
2754e3170b63a31c515644846ce7a77631429d93050Craig Topper// CHECK: inl	%dx, %eax
2762d592d10a57887ebe7c43a5e610f4278dd6c5d20Chris Lattner
27700743c2218ff3f0f4edce972e2d88893a19e6ef8Joerg Sonnenbergerin	(%dx), %al
27800743c2218ff3f0f4edce972e2d88893a19e6ef8Joerg Sonnenbergerinb	(%dx), %al
27900743c2218ff3f0f4edce972e2d88893a19e6ef8Joerg Sonnenbergerin	(%dx), %ax
28000743c2218ff3f0f4edce972e2d88893a19e6ef8Joerg Sonnenbergerinw	(%dx), %ax
28100743c2218ff3f0f4edce972e2d88893a19e6ef8Joerg Sonnenbergerin	(%dx), %eax
28200743c2218ff3f0f4edce972e2d88893a19e6ef8Joerg Sonnenbergerinl	(%dx), %eax
2832d592d10a57887ebe7c43a5e610f4278dd6c5d20Chris Lattner
284de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar//PR15455
285de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar
286de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar// permitted invalid memory forms
287de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainarouts	(%rsi), (%dx)
288de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar// CHECK: outsw	(%rsi), %dx
289de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainaroutsb	(%rsi), (%dx)
290de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar// CHECK: outsb	(%rsi), %dx
291de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainaroutsw	(%rsi), (%dx)
292de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar// CHECK: outsw	(%rsi), %dx
293de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainaroutsl	(%rsi), (%dx)
294de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar// CHECK: outsl	(%rsi), %dx
295de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar
296de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainarins	(%dx), %es:(%rdi)
297de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar// CHECK: insw	%dx, %es:(%rdi)
298de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainarinsb	(%dx), %es:(%rdi)
299de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar// CHECK: insb	%dx, %es:(%rdi)
300de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainarinsw	(%dx), %es:(%rdi)
301de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar// CHECK: insw	%dx, %es:(%rdi)
302de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainarinsl	(%dx), %es:(%rdi)
303de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar// CHECK: insl	%dx, %es:(%rdi)
304de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar
3052d592d10a57887ebe7c43a5e610f4278dd6c5d20Chris Lattner// rdar://8431422
3062d592d10a57887ebe7c43a5e610f4278dd6c5d20Chris Lattner
3076ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topper// CHECK: fxch %st(1)
3086ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topper// CHECK: fucom %st(1)
3096ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topper// CHECK: fucomp %st(1)
3106ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topper// CHECK: faddp %st(1)
3112d592d10a57887ebe7c43a5e610f4278dd6c5d20Chris Lattner// CHECK: faddp	%st(0)
3126ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topper// CHECK: fsubp %st(1)
3136ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topper// CHECK: fsubrp %st(1)
3146ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topper// CHECK: fmulp %st(1)
3156ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topper// CHECK: fdivp %st(1)
3166ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topper// CHECK: fdivrp %st(1)
3172d592d10a57887ebe7c43a5e610f4278dd6c5d20Chris Lattner
3182d592d10a57887ebe7c43a5e610f4278dd6c5d20Chris Lattnerfxch
3192d592d10a57887ebe7c43a5e610f4278dd6c5d20Chris Lattnerfucom
3202d592d10a57887ebe7c43a5e610f4278dd6c5d20Chris Lattnerfucomp
3212d592d10a57887ebe7c43a5e610f4278dd6c5d20Chris Lattnerfaddp
3222d592d10a57887ebe7c43a5e610f4278dd6c5d20Chris Lattnerfaddp %st
3232d592d10a57887ebe7c43a5e610f4278dd6c5d20Chris Lattnerfsubp
3242d592d10a57887ebe7c43a5e610f4278dd6c5d20Chris Lattnerfsubrp
3252d592d10a57887ebe7c43a5e610f4278dd6c5d20Chris Lattnerfmulp
3262d592d10a57887ebe7c43a5e610f4278dd6c5d20Chris Lattnerfdivp
3272d592d10a57887ebe7c43a5e610f4278dd6c5d20Chris Lattnerfdivrp
3288f777a205e4523b773ba3af3bad007d93da56a9aChris Lattner
3296ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topper// CHECK: fcomi %st(1)
330235705b9ca08b66532528930adf9d9c23fd7b42bChris Lattner// CHECK: fcomi	%st(2)
3316ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topper// CHECK: fucomi %st(1)
332c6df9883da99915d1cfa491b381ffa703c61ed90Bill Wendling// CHECK: fucomi %st(2)
333c6df9883da99915d1cfa491b381ffa703c61ed90Bill Wendling// CHECK: fucomi %st(2)
3348f777a205e4523b773ba3af3bad007d93da56a9aChris Lattner
3358f777a205e4523b773ba3af3bad007d93da56a9aChris Lattnerfcomi
3368f777a205e4523b773ba3af3bad007d93da56a9aChris Lattnerfcomi	%st(2)
3378f777a205e4523b773ba3af3bad007d93da56a9aChris Lattnerfucomi
3388f777a205e4523b773ba3af3bad007d93da56a9aChris Lattnerfucomi	%st(2)
3398f777a205e4523b773ba3af3bad007d93da56a9aChris Lattnerfucomi	%st(2), %st
3408f777a205e4523b773ba3af3bad007d93da56a9aChris Lattner
3416ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topper// CHECK: fnstsw %ax
3426ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topper// CHECK: fnstsw %ax
3436ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topper// CHECK: fnstsw %ax
3446ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topper// CHECK: fnstsw %ax
34584f362d8912657bb21250a65331f797d5381e9a3Chris Lattner
34684f362d8912657bb21250a65331f797d5381e9a3Chris Lattnerfnstsw
34784f362d8912657bb21250a65331f797d5381e9a3Chris Lattnerfnstsw %ax
34884f362d8912657bb21250a65331f797d5381e9a3Chris Lattnerfnstsw %eax
34984f362d8912657bb21250a65331f797d5381e9a3Chris Lattnerfnstsw %al
350e9e16a36d9ff355dab60e4b95673bf7a0cd27e86Chris Lattner
351e9e16a36d9ff355dab60e4b95673bf7a0cd27e86Chris Lattner// rdar://8431880
3528c24b0c6996a8f03ff32766f0695dcf19577af59Chris Lattner// CHECK: rclb	%bl
3538c24b0c6996a8f03ff32766f0695dcf19577af59Chris Lattner// CHECK: rcll	3735928559(%ebx,%ecx,8)
3548c24b0c6996a8f03ff32766f0695dcf19577af59Chris Lattner// CHECK: rcrl	%ecx
3558c24b0c6996a8f03ff32766f0695dcf19577af59Chris Lattner// CHECK: rcrl	305419896
356e9e16a36d9ff355dab60e4b95673bf7a0cd27e86Chris Lattnerrcl	%bl
357e9e16a36d9ff355dab60e4b95673bf7a0cd27e86Chris Lattnerrcll	0xdeadbeef(%ebx,%ecx,8)
358e9e16a36d9ff355dab60e4b95673bf7a0cd27e86Chris Lattnerrcr	%ecx
359e9e16a36d9ff355dab60e4b95673bf7a0cd27e86Chris Lattnerrcrl	0x12345678
360cfad564043021c7276ce19725f43bcde233fa549Chris Lattner
3618c24b0c6996a8f03ff32766f0695dcf19577af59Chris Lattnerrclb	%bl       // CHECK: rclb %bl     # encoding: [0xd0,0xd3]
3628c24b0c6996a8f03ff32766f0695dcf19577af59Chris Lattnerrclb	$1, %bl   // CHECK: rclb %bl     # encoding: [0xd0,0xd3]
3638c24b0c6996a8f03ff32766f0695dcf19577af59Chris Lattnerrclb	$2, %bl   // CHECK: rclb $2, %bl # encoding: [0xc0,0xd3,0x02]
3648c24b0c6996a8f03ff32766f0695dcf19577af59Chris Lattner
365cfad564043021c7276ce19725f43bcde233fa549Chris Lattner// rdar://8418316
366ec93b6decad4b95fd8a9531dc024b2b1881019bfEli Friedman// PR12173
36754427e52197ecd8c748736d7bbb431f2bf65c90eEli Friedman// CHECK: shldw	%cl, %bx, %dx
36854427e52197ecd8c748736d7bbb431f2bf65c90eEli Friedman// CHECK: shldw	%cl, %bx, %dx
36954427e52197ecd8c748736d7bbb431f2bf65c90eEli Friedman// CHECK: shldw	$1, %bx, %dx
37054427e52197ecd8c748736d7bbb431f2bf65c90eEli Friedman// CHECK: shldw	%cl, %bx, (%rax)
37154427e52197ecd8c748736d7bbb431f2bf65c90eEli Friedman// CHECK: shldw	%cl, %bx, (%rax)
37254427e52197ecd8c748736d7bbb431f2bf65c90eEli Friedman// CHECK: shrdw	%cl, %bx, %dx
37354427e52197ecd8c748736d7bbb431f2bf65c90eEli Friedman// CHECK: shrdw	%cl, %bx, %dx
37454427e52197ecd8c748736d7bbb431f2bf65c90eEli Friedman// CHECK: shrdw	$1, %bx, %dx
37554427e52197ecd8c748736d7bbb431f2bf65c90eEli Friedman// CHECK: shrdw	%cl, %bx, (%rax)
37654427e52197ecd8c748736d7bbb431f2bf65c90eEli Friedman// CHECK: shrdw	%cl, %bx, (%rax)
37754427e52197ecd8c748736d7bbb431f2bf65c90eEli Friedman
37854427e52197ecd8c748736d7bbb431f2bf65c90eEli Friedmanshld  %bx, %dx
37954427e52197ecd8c748736d7bbb431f2bf65c90eEli Friedmanshld  %cl, %bx, %dx
38054427e52197ecd8c748736d7bbb431f2bf65c90eEli Friedmanshld  $1, %bx, %dx
38154427e52197ecd8c748736d7bbb431f2bf65c90eEli Friedmanshld  %bx, (%rax)
38254427e52197ecd8c748736d7bbb431f2bf65c90eEli Friedmanshld  %cl, %bx, (%rax)
38354427e52197ecd8c748736d7bbb431f2bf65c90eEli Friedmanshrd  %bx, %dx
38454427e52197ecd8c748736d7bbb431f2bf65c90eEli Friedmanshrd  %cl, %bx, %dx
38554427e52197ecd8c748736d7bbb431f2bf65c90eEli Friedmanshrd  $1, %bx, %dx
38654427e52197ecd8c748736d7bbb431f2bf65c90eEli Friedmanshrd  %bx, (%rax)
38754427e52197ecd8c748736d7bbb431f2bf65c90eEli Friedmanshrd  %cl, %bx, (%rax)
3886c1b3b1e32f960f44e47d8484510f5c5f8e5343fChris Lattner
3896c1b3b1e32f960f44e47d8484510f5c5f8e5343fChris Lattner// CHECK: sldtl	%ecx
3906c1b3b1e32f960f44e47d8484510f5c5f8e5343fChris Lattner// CHECK: encoding: [0x0f,0x00,0xc1]
3916c1b3b1e32f960f44e47d8484510f5c5f8e5343fChris Lattner// CHECK: sldtw	%cx
3926c1b3b1e32f960f44e47d8484510f5c5f8e5343fChris Lattner// CHECK: encoding: [0x66,0x0f,0x00,0xc1]
3936c1b3b1e32f960f44e47d8484510f5c5f8e5343fChris Lattner
3946c1b3b1e32f960f44e47d8484510f5c5f8e5343fChris Lattnersldt	%ecx
3956c1b3b1e32f960f44e47d8484510f5c5f8e5343fChris Lattnersldt	%cx
3966c1b3b1e32f960f44e47d8484510f5c5f8e5343fChris Lattner
397250b948f21b2910c5bc61fb364c6817727a3a972Chris Lattner// CHECK: lcalll	*3135175374
398250b948f21b2910c5bc61fb364c6817727a3a972Chris Lattner// CHECK: ljmpl	*3135175374
399250b948f21b2910c5bc61fb364c6817727a3a972Chris Lattnerlcall	*0xbadeface
400250b948f21b2910c5bc61fb364c6817727a3a972Chris Lattnerljmp	*0xbadeface
401250b948f21b2910c5bc61fb364c6817727a3a972Chris Lattner
40240cc3f8783a4e426a0d439bb2b070b5c072b5947Chris Lattner
40340cc3f8783a4e426a0d439bb2b070b5c072b5947Chris Lattner// rdar://8444631
40440cc3f8783a4e426a0d439bb2b070b5c072b5947Chris Lattner// CHECK: enter	$31438, $0
40540cc3f8783a4e426a0d439bb2b070b5c072b5947Chris Lattner// CHECK: encoding: [0xc8,0xce,0x7a,0x00]
40640cc3f8783a4e426a0d439bb2b070b5c072b5947Chris Lattner// CHECK: enter	$31438, $1
40740cc3f8783a4e426a0d439bb2b070b5c072b5947Chris Lattner// CHECK: encoding: [0xc8,0xce,0x7a,0x01]
40840cc3f8783a4e426a0d439bb2b070b5c072b5947Chris Lattner// CHECK: enter	$31438, $127
40940cc3f8783a4e426a0d439bb2b070b5c072b5947Chris Lattner// CHECK: encoding: [0xc8,0xce,0x7a,0x7f]
41040cc3f8783a4e426a0d439bb2b070b5c072b5947Chris Lattnerenter $0x7ace,$0
41140cc3f8783a4e426a0d439bb2b070b5c072b5947Chris Lattnerenter $0x7ace,$1
41240cc3f8783a4e426a0d439bb2b070b5c072b5947Chris Lattnerenter $0x7ace,$0x7f
41340cc3f8783a4e426a0d439bb2b070b5c072b5947Chris Lattner
4140c289c140ee7a68e3d06b9d8ae6060758345ad4eChris Lattner
41533d60d5e56bbf3e9ed02bc916735419091736ca3Chris Lattner// rdar://8456364
41633d60d5e56bbf3e9ed02bc916735419091736ca3Chris Lattner// CHECK: movw	%cs, %ax
41733d60d5e56bbf3e9ed02bc916735419091736ca3Chris Lattnermov %CS, %ax
418c2b942acf6008ac822c21722ac7ec84264d10befChris Lattner
419c2b942acf6008ac822c21722ac7ec84264d10befChris Lattner// rdar://8456391
420c2b942acf6008ac822c21722ac7ec84264d10befChris Lattnerfcmovb %st(1), %st(0)   // CHECK: fcmovb	%st(1), %st(0)
421c2b942acf6008ac822c21722ac7ec84264d10befChris Lattnerfcmove %st(1), %st(0)   // CHECK: fcmove	%st(1), %st(0)
422c2b942acf6008ac822c21722ac7ec84264d10befChris Lattnerfcmovbe %st(1), %st(0)  // CHECK: fcmovbe	%st(1), %st(0)
423c2b942acf6008ac822c21722ac7ec84264d10befChris Lattnerfcmovu %st(1), %st(0)   // CHECK: fcmovu	 %st(1), %st(0)
424c2b942acf6008ac822c21722ac7ec84264d10befChris Lattner
425c2b942acf6008ac822c21722ac7ec84264d10befChris Lattnerfcmovnb %st(1), %st(0)  // CHECK: fcmovnb	%st(1), %st(0)
426c2b942acf6008ac822c21722ac7ec84264d10befChris Lattnerfcmovne %st(1), %st(0)  // CHECK: fcmovne	%st(1), %st(0)
427c2b942acf6008ac822c21722ac7ec84264d10befChris Lattnerfcmovnbe %st(1), %st(0) // CHECK: fcmovnbe	%st(1), %st(0)
428c2b942acf6008ac822c21722ac7ec84264d10befChris Lattnerfcmovnu %st(1), %st(0)  // CHECK: fcmovnu	%st(1), %st(0)
429c2b942acf6008ac822c21722ac7ec84264d10befChris Lattner
430c2b942acf6008ac822c21722ac7ec84264d10befChris Lattnerfcmovnae %st(1), %st(0) // CHECK: fcmovb	%st(1), %st(0)
431c2b942acf6008ac822c21722ac7ec84264d10befChris Lattnerfcmovna %st(1), %st(0)  // CHECK: fcmovbe	%st(1), %st(0)
432c2b942acf6008ac822c21722ac7ec84264d10befChris Lattner
433c2b942acf6008ac822c21722ac7ec84264d10befChris Lattnerfcmovae %st(1), %st(0)  // CHECK: fcmovnb	%st(1), %st(0)
434c2b942acf6008ac822c21722ac7ec84264d10befChris Lattnerfcmova %st(1), %st(0)   // CHECK: fcmovnbe	%st(1), %st(0)
435f7d4da0c1dcdac3941fe440982bce19706541629Chris Lattner
436f7d4da0c1dcdac3941fe440982bce19706541629Chris Lattner// rdar://8456417
437f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar.byte (88 + 1) & 15  // CHECK: .byte	9
438f7d4da0c1dcdac3941fe440982bce19706541629Chris Lattner
439bc57c6db4a3a1f5df4450d8dbb100e1eb6944c28Chris Lattner// rdar://8456412
440bc57c6db4a3a1f5df4450d8dbb100e1eb6944c28Chris Lattnermov %rdx, %cr0
441bc57c6db4a3a1f5df4450d8dbb100e1eb6944c28Chris Lattner// CHECK: movq	%rdx, %cr0
442bc57c6db4a3a1f5df4450d8dbb100e1eb6944c28Chris Lattner// CHECK: encoding: [0x0f,0x22,0xc2]
443bc57c6db4a3a1f5df4450d8dbb100e1eb6944c28Chris Lattnermov %rdx, %cr4
444bc57c6db4a3a1f5df4450d8dbb100e1eb6944c28Chris Lattner// CHECK: movq	%rdx, %cr4
445bc57c6db4a3a1f5df4450d8dbb100e1eb6944c28Chris Lattner// CHECK: encoding: [0x0f,0x22,0xe2]
446bc57c6db4a3a1f5df4450d8dbb100e1eb6944c28Chris Lattnermov %rdx, %cr8
447bc57c6db4a3a1f5df4450d8dbb100e1eb6944c28Chris Lattner// CHECK: movq	%rdx, %cr8
448bc57c6db4a3a1f5df4450d8dbb100e1eb6944c28Chris Lattner// CHECK: encoding: [0x44,0x0f,0x22,0xc2]
449bc57c6db4a3a1f5df4450d8dbb100e1eb6944c28Chris Lattnermov %rdx, %cr15
450bc57c6db4a3a1f5df4450d8dbb100e1eb6944c28Chris Lattner// CHECK: movq	%rdx, %cr15
451bc57c6db4a3a1f5df4450d8dbb100e1eb6944c28Chris Lattner// CHECK: encoding: [0x44,0x0f,0x22,0xfa]
4522c5291b56358bf239bdfc675ed681c2da3eb4901Chris Lattner
4532c5291b56358bf239bdfc675ed681c2da3eb4901Chris Lattner// rdar://8456371 - Handle commutable instructions written backward.
4542c5291b56358bf239bdfc675ed681c2da3eb4901Chris Lattner// CHECK: 	faddp	%st(1)
4552c5291b56358bf239bdfc675ed681c2da3eb4901Chris Lattner// CHECK:	fmulp	%st(2)
4562c5291b56358bf239bdfc675ed681c2da3eb4901Chris Lattnerfaddp %st, %st(1)
4572c5291b56358bf239bdfc675ed681c2da3eb4901Chris Lattnerfmulp %st, %st(2)
4582c5291b56358bf239bdfc675ed681c2da3eb4901Chris Lattner
459cb296ec0b689ccbcb08cedc5d3e090c0471eb393Chris Lattner// rdar://8468087 - Encode these accurately, they are not synonyms.
460cb296ec0b689ccbcb08cedc5d3e090c0471eb393Chris Lattner// CHECK: fmul	%st(0), %st(1)
461cb296ec0b689ccbcb08cedc5d3e090c0471eb393Chris Lattner// CHECK: encoding: [0xdc,0xc9]
462cb296ec0b689ccbcb08cedc5d3e090c0471eb393Chris Lattner// CHECK: fmul	%st(1)
463cb296ec0b689ccbcb08cedc5d3e090c0471eb393Chris Lattner// CHECK: encoding: [0xd8,0xc9]
464cb296ec0b689ccbcb08cedc5d3e090c0471eb393Chris Lattnerfmul %st, %st(1)
465cb296ec0b689ccbcb08cedc5d3e090c0471eb393Chris Lattnerfmul %st(1), %st
466cb296ec0b689ccbcb08cedc5d3e090c0471eb393Chris Lattner
467cb296ec0b689ccbcb08cedc5d3e090c0471eb393Chris Lattner// CHECK: fadd	%st(0), %st(1)
468cb296ec0b689ccbcb08cedc5d3e090c0471eb393Chris Lattner// CHECK: encoding: [0xdc,0xc1]
469cb296ec0b689ccbcb08cedc5d3e090c0471eb393Chris Lattner// CHECK: fadd	%st(1)
470cb296ec0b689ccbcb08cedc5d3e090c0471eb393Chris Lattner// CHECK: encoding: [0xd8,0xc1]
471cb296ec0b689ccbcb08cedc5d3e090c0471eb393Chris Lattnerfadd %st, %st(1)
472cb296ec0b689ccbcb08cedc5d3e090c0471eb393Chris Lattnerfadd %st(1), %st
473cb296ec0b689ccbcb08cedc5d3e090c0471eb393Chris Lattner
474cb296ec0b689ccbcb08cedc5d3e090c0471eb393Chris Lattner
475fd8fddd830ad8322d04161f2f6bad6269a451ab2Chris Lattner// rdar://8416805
476fd8fddd830ad8322d04161f2f6bad6269a451ab2Chris Lattner// CHECK: xorb	%al, %al
477fd8fddd830ad8322d04161f2f6bad6269a451ab2Chris Lattner// CHECK: encoding: [0x30,0xc0]
478fd8fddd830ad8322d04161f2f6bad6269a451ab2Chris Lattner// CHECK: xorw	%di, %di
479fd8fddd830ad8322d04161f2f6bad6269a451ab2Chris Lattner// CHECK: encoding: [0x66,0x31,0xff]
480fd8fddd830ad8322d04161f2f6bad6269a451ab2Chris Lattner// CHECK: xorl	%esi, %esi
481fd8fddd830ad8322d04161f2f6bad6269a451ab2Chris Lattner// CHECK: encoding: [0x31,0xf6]
482fd8fddd830ad8322d04161f2f6bad6269a451ab2Chris Lattner// CHECK: xorq	%rsi, %rsi
483fd8fddd830ad8322d04161f2f6bad6269a451ab2Chris Lattner// CHECK: encoding: [0x48,0x31,0xf6]
484fd8fddd830ad8322d04161f2f6bad6269a451ab2Chris Lattnerclrb    %al
485fd8fddd830ad8322d04161f2f6bad6269a451ab2Chris Lattnerclr    %di
486fd8fddd830ad8322d04161f2f6bad6269a451ab2Chris Lattnerclr    %esi
487fd8fddd830ad8322d04161f2f6bad6269a451ab2Chris Lattnerclr    %rsi
488fd8fddd830ad8322d04161f2f6bad6269a451ab2Chris Lattner
489b1162fc05e09c7247be1896fd4aa4ca7e76c938cChris Lattner// rdar://8456378
490b1162fc05e09c7247be1896fd4aa4ca7e76c938cChris Lattnercltq  // CHECK: cltq
491b1162fc05e09c7247be1896fd4aa4ca7e76c938cChris Lattnercdqe  // CHECK: cltq
492b1162fc05e09c7247be1896fd4aa4ca7e76c938cChris Lattnercwde  // CHECK: cwtl
493b1162fc05e09c7247be1896fd4aa4ca7e76c938cChris Lattnercwtl  // CHECK: cwtl
4942c5291b56358bf239bdfc675ed681c2da3eb4901Chris Lattner
495295646274276c6814d970bed86d3b4ff76ba3ee3Chris Lattner// rdar://8416805
496295646274276c6814d970bed86d3b4ff76ba3ee3Chris Lattnercbw   // CHECK: cbtw
497295646274276c6814d970bed86d3b4ff76ba3ee3Chris Lattnercwd   // CHECK: cwtd
498295646274276c6814d970bed86d3b4ff76ba3ee3Chris Lattnercdq   // CHECK: cltd
4999d399b1fc2f7dfad72f5ff3328983acb805eaf10Benjamin Kramercqo   // CHECK: cqto
5007c51a3172cf5104ebeaef22f1366fa634ca00d85Chris Lattner
5017c51a3172cf5104ebeaef22f1366fa634ca00d85Chris Lattner// rdar://8456378 and PR7557 - fstsw
5027c51a3172cf5104ebeaef22f1366fa634ca00d85Chris Lattnerfstsw %ax
5037c51a3172cf5104ebeaef22f1366fa634ca00d85Chris Lattner// CHECK: wait
504740e5b3586a474f1cea371cf6f652850e5420b90Bill Wendling// CHECK: fnstsw
5057c51a3172cf5104ebeaef22f1366fa634ca00d85Chris Lattnerfstsw (%rax)
5067c51a3172cf5104ebeaef22f1366fa634ca00d85Chris Lattner// CHECK: wait
5070966ec08610c02c8556105f2fff88a7e7247a549Andrew Trick// CHECK: fnstsw (%rax)
5080c04e4f58f8d1ad4604de17324170fa1f4e43418Chris Lattner
5090bb83a84d4319030c0c9260dbfea461c40eea1b2Chris Lattner// PR8259
5100bb83a84d4319030c0c9260dbfea461c40eea1b2Chris Lattnerfstcw (%rsp)
5110bb83a84d4319030c0c9260dbfea461c40eea1b2Chris Lattner// CHECK: wait
5120966ec08610c02c8556105f2fff88a7e7247a549Andrew Trick// CHECK: fnstcw (%rsp)
5130bb83a84d4319030c0c9260dbfea461c40eea1b2Chris Lattner
5149ee4aed3b652ea4a4327af2cb1c614dd10cd8b47Chris Lattner// PR8259
5159ee4aed3b652ea4a4327af2cb1c614dd10cd8b47Chris Lattnerfstcw (%rsp)
5169ee4aed3b652ea4a4327af2cb1c614dd10cd8b47Chris Lattner// CHECK: wait
5170966ec08610c02c8556105f2fff88a7e7247a549Andrew Trick// CHECK: fnstcw (%rsp)
5189ee4aed3b652ea4a4327af2cb1c614dd10cd8b47Chris Lattner
5199ee4aed3b652ea4a4327af2cb1c614dd10cd8b47Chris Lattner// PR8258
5209ee4aed3b652ea4a4327af2cb1c614dd10cd8b47Chris Lattnerfinit
5219ee4aed3b652ea4a4327af2cb1c614dd10cd8b47Chris Lattner// CHECK: wait
5229ee4aed3b652ea4a4327af2cb1c614dd10cd8b47Chris Lattner// CHECK: fninit
5239ee4aed3b652ea4a4327af2cb1c614dd10cd8b47Chris Lattner
524905f2e06691672c236ae864faf0ad7220afc2844Chris Lattnerfsave	32493
525905f2e06691672c236ae864faf0ad7220afc2844Chris Lattner// CHECK: wait
526905f2e06691672c236ae864faf0ad7220afc2844Chris Lattner// CHECK: fnsave 32493
527905f2e06691672c236ae864faf0ad7220afc2844Chris Lattner
5280c04e4f58f8d1ad4604de17324170fa1f4e43418Chris Lattner
5290c04e4f58f8d1ad4604de17324170fa1f4e43418Chris Lattner// rdar://8456382 - cvtsd2si support.
5300c04e4f58f8d1ad4604de17324170fa1f4e43418Chris Lattnercvtsd2si	%xmm1, %rax
531f564a9389da68266f44314fe38ab399fd2211134Craig Topper// CHECK: cvtsd2si	%xmm1, %rax
5320c04e4f58f8d1ad4604de17324170fa1f4e43418Chris Lattner// CHECK: encoding: [0xf2,0x48,0x0f,0x2d,0xc1]
5330c04e4f58f8d1ad4604de17324170fa1f4e43418Chris Lattnercvtsd2si	%xmm1, %eax
534f564a9389da68266f44314fe38ab399fd2211134Craig Topper// CHECK: cvtsd2si	%xmm1, %eax
5350c04e4f58f8d1ad4604de17324170fa1f4e43418Chris Lattner// CHECK: encoding: [0xf2,0x0f,0x2d,0xc1]
5360c04e4f58f8d1ad4604de17324170fa1f4e43418Chris Lattner
537f564a9389da68266f44314fe38ab399fd2211134Craig Toppercvtsd2siq %xmm0, %rax // CHECK: cvtsd2si	%xmm0, %rax
538f564a9389da68266f44314fe38ab399fd2211134Craig Toppercvtsd2sil %xmm0, %eax // CHECK: cvtsd2si	%xmm0, %eax
539f564a9389da68266f44314fe38ab399fd2211134Craig Toppercvtsd2si %xmm0, %rax  // CHECK: cvtsd2si	%xmm0, %rax
540f3654db4588884edbf52f139a2f713e45a8ed9b4Chris Lattner
541f3654db4588884edbf52f139a2f713e45a8ed9b4Chris Lattner
542bf6018ac5a4ce8db0f0719aa666cd81f0904431aChris Lattnercvttpd2dq %xmm1, %xmm0  // CHECK: cvttpd2dq %xmm1, %xmm0
543bf6018ac5a4ce8db0f0719aa666cd81f0904431aChris Lattnercvttpd2dq (%rax), %xmm0 // CHECK: cvttpd2dq (%rax), %xmm0
544bf6018ac5a4ce8db0f0719aa666cd81f0904431aChris Lattner
545bf6018ac5a4ce8db0f0719aa666cd81f0904431aChris Lattnercvttps2dq %xmm1, %xmm0  // CHECK: cvttps2dq %xmm1, %xmm0
546bf6018ac5a4ce8db0f0719aa666cd81f0904431aChris Lattnercvttps2dq (%rax), %xmm0 // CHECK: cvttps2dq (%rax), %xmm0
547b2ef4c1235c846c2503d0796541f4255ef1e13f5Chris Lattner
548b2ef4c1235c846c2503d0796541f4255ef1e13f5Chris Lattner// rdar://8456376 - llvm-mc rejects 'roundss'
549b2ef4c1235c846c2503d0796541f4255ef1e13f5Chris Lattnerroundss $0xE, %xmm0, %xmm0 // CHECK: encoding: [0x66,0x0f,0x3a,0x0a,0xc0,0x0e]
550b2ef4c1235c846c2503d0796541f4255ef1e13f5Chris Lattnerroundps $0xE, %xmm0, %xmm0 // CHECK: encoding: [0x66,0x0f,0x3a,0x08,0xc0,0x0e]
551b2ef4c1235c846c2503d0796541f4255ef1e13f5Chris Lattnerroundsd $0xE, %xmm0, %xmm0 // CHECK: encoding: [0x66,0x0f,0x3a,0x0b,0xc0,0x0e]
552b2ef4c1235c846c2503d0796541f4255ef1e13f5Chris Lattnerroundpd $0xE, %xmm0, %xmm0 // CHECK: encoding: [0x66,0x0f,0x3a,0x09,0xc0,0x0e]
5538a5072903e2037da1cfdaffa5a26be00f3d76a22Chris Lattner
5548a5072903e2037da1cfdaffa5a26be00f3d76a22Chris Lattner
5558a5072903e2037da1cfdaffa5a26be00f3d76a22Chris Lattner// rdar://8482675 - 32-bit mem operand support in 64-bit mode (0x67 prefix)
5568a5072903e2037da1cfdaffa5a26be00f3d76a22Chris Lattnerleal	8(%eax), %esi
5578a5072903e2037da1cfdaffa5a26be00f3d76a22Chris Lattner// CHECK: leal	8(%eax), %esi
5588a5072903e2037da1cfdaffa5a26be00f3d76a22Chris Lattner// CHECK: encoding: [0x67,0x8d,0x70,0x08]
5598a5072903e2037da1cfdaffa5a26be00f3d76a22Chris Lattnerleaq	8(%eax), %rsi
5608a5072903e2037da1cfdaffa5a26be00f3d76a22Chris Lattner// CHECK: leaq	8(%eax), %rsi
5618a5072903e2037da1cfdaffa5a26be00f3d76a22Chris Lattner// CHECK: encoding: [0x67,0x48,0x8d,0x70,0x08]
5628a5072903e2037da1cfdaffa5a26be00f3d76a22Chris Lattnerleaq	8(%rax), %rsi
5638a5072903e2037da1cfdaffa5a26be00f3d76a22Chris Lattner// CHECK: leaq	8(%rax), %rsi
5648a5072903e2037da1cfdaffa5a26be00f3d76a22Chris Lattner// CHECK: encoding: [0x48,0x8d,0x70,0x08]
5658a5072903e2037da1cfdaffa5a26be00f3d76a22Chris Lattner
56678a194693bb9bbfa1080454cded0166265b803e5Chris Lattner
56778a194693bb9bbfa1080454cded0166265b803e5Chris Lattnercvttpd2dq	0xdeadbeef(%ebx,%ecx,8),%xmm5
56878a194693bb9bbfa1080454cded0166265b803e5Chris Lattner// CHECK: cvttpd2dq	3735928559(%ebx,%ecx,8), %xmm5
56978a194693bb9bbfa1080454cded0166265b803e5Chris Lattner// CHECK: encoding: [0x67,0x66,0x0f,0xe6,0xac,0xcb,0xef,0xbe,0xad,0xde]
57078a194693bb9bbfa1080454cded0166265b803e5Chris Lattner
5716f4202726339815c7167ef2f00858c766c9ffea9Chris Lattner// rdar://8490728 - llvm-mc rejects 'movmskpd'
5726f4202726339815c7167ef2f00858c766c9ffea9Chris Lattnermovmskpd	%xmm6, %rax
573c6f7c99809cece8c85e180c1b95e6159d8ea9613Craig Topper// CHECK: movmskpd	%xmm6, %eax
574c6f7c99809cece8c85e180c1b95e6159d8ea9613Craig Topper// CHECK: encoding: [0x66,0x0f,0x50,0xc6]
5756f4202726339815c7167ef2f00858c766c9ffea9Chris Lattnermovmskpd	%xmm6, %eax
5766f4202726339815c7167ef2f00858c766c9ffea9Chris Lattner// CHECK: movmskpd	%xmm6, %eax
5776f4202726339815c7167ef2f00858c766c9ffea9Chris Lattner// CHECK: encoding: [0x66,0x0f,0x50,0xc6]
578a25f933396b8408ad89218bc60b0a93f130a3ea9Chris Lattner
579a25f933396b8408ad89218bc60b0a93f130a3ea9Chris Lattner// rdar://8491845 - Gas supports commuted forms of non-commutable instructions.
580a25f933396b8408ad89218bc60b0a93f130a3ea9Chris Lattnerfdivrp %st(0), %st(1) // CHECK: encoding: [0xde,0xf9]
581a25f933396b8408ad89218bc60b0a93f130a3ea9Chris Lattnerfdivrp %st(1), %st(0) // CHECK: encoding: [0xde,0xf9]
582a25f933396b8408ad89218bc60b0a93f130a3ea9Chris Lattner
583a25f933396b8408ad89218bc60b0a93f130a3ea9Chris Lattnerfsubrp %ST(0), %ST(1) // CHECK: encoding: [0xde,0xe9]
584a25f933396b8408ad89218bc60b0a93f130a3ea9Chris Lattnerfsubrp %ST(1), %ST(0) // CHECK: encoding: [0xde,0xe9]
585a25f933396b8408ad89218bc60b0a93f130a3ea9Chris Lattner
586c00210cef28b48b17408eb79e94691779da9d474Nick Lewycky// also PR8861
587c00210cef28b48b17408eb79e94691779da9d474Nick Lewyckyfdivp %st(0), %st(1) // CHECK: encoding: [0xde,0xf1]
588c00210cef28b48b17408eb79e94691779da9d474Nick Lewyckyfdivp %st(1), %st(0) // CHECK: encoding: [0xde,0xf1]
589c00210cef28b48b17408eb79e94691779da9d474Nick Lewycky
5900bb83a84d4319030c0c9260dbfea461c40eea1b2Chris Lattner
591ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattnermovl	foo(%rip), %eax
592ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// CHECK: movl	foo(%rip), %eax
593ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// CHECK: encoding: [0x8b,0x05,A,A,A,A]
594ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// CHECK: fixup A - offset: 2, value: foo-4, kind: reloc_riprel_4byte
595ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner
596ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattnermovb	$12, foo(%rip)
597ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// CHECK: movb	$12, foo(%rip)
598ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// CHECK: encoding: [0xc6,0x05,A,A,A,A,0x0c]
599ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// CHECK:    fixup A - offset: 2, value: foo-5, kind: reloc_riprel_4byte
600ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner
601ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattnermovw	$12, foo(%rip)
602ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// CHECK: movw	$12, foo(%rip)
603ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// CHECK: encoding: [0x66,0xc7,0x05,A,A,A,A,0x0c,0x00]
604ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// CHECK:    fixup A - offset: 3, value: foo-6, kind: reloc_riprel_4byte
605ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner
606ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattnermovl	$12, foo(%rip)
607ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// CHECK: movl	$12, foo(%rip)
608ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// CHECK: encoding: [0xc7,0x05,A,A,A,A,0x0c,0x00,0x00,0x00]
609ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// CHECK:    fixup A - offset: 2, value: foo-8, kind: reloc_riprel_4byte
610ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner
611ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattnermovq	$12, foo(%rip)
612ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// CHECK:  movq	$12, foo(%rip)
613ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// CHECK: encoding: [0x48,0xc7,0x05,A,A,A,A,0x0c,0x00,0x00,0x00]
614ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// CHECK:    fixup A - offset: 3, value: foo-8, kind: reloc_riprel_4byte
615ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner
616de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainarmovl	foo(%eip), %eax
617de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar// CHECK: movl	foo(%eip), %eax
618de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar// CHECK: encoding: [0x67,0x8b,0x05,A,A,A,A]
619de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar// CHECK: fixup A - offset: 3, value: foo-4, kind: reloc_riprel_4byte
620de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar
621de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainarmovb	$12, foo(%eip)
622de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar// CHECK: movb	$12, foo(%eip)
623de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar// CHECK: encoding: [0x67,0xc6,0x05,A,A,A,A,0x0c]
624de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar// CHECK:    fixup A - offset: 3, value: foo-5, kind: reloc_riprel_4byte
625de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar
626de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainarmovw	$12, foo(%eip)
627de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar// CHECK: movw	$12, foo(%eip)
628de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar// CHECK: encoding: [0x67,0x66,0xc7,0x05,A,A,A,A,0x0c,0x00]
629de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar// CHECK:    fixup A - offset: 4, value: foo-6, kind: reloc_riprel_4byte
630de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar
631de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainarmovl	$12, foo(%eip)
632de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar// CHECK: movl	$12, foo(%eip)
633de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar// CHECK: encoding: [0x67,0xc7,0x05,A,A,A,A,0x0c,0x00,0x00,0x00]
634de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar// CHECK:    fixup A - offset: 3, value: foo-8, kind: reloc_riprel_4byte
635de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar
636de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainarmovq	$12, foo(%eip)
637de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar// CHECK:  movq	$12, foo(%eip)
638de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar// CHECK: encoding: [0x67,0x48,0xc7,0x05,A,A,A,A,0x0c,0x00,0x00,0x00]
639de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar// CHECK:    fixup A - offset: 4, value: foo-8, kind: reloc_riprel_4byte
640de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar
641ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// CHECK: addq	$-424, %rax
642ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// CHECK: encoding: [0x48,0x05,0x58,0xfe,0xff,0xff]
643ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattneraddq $-424, %rax
644ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner
645ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner
646ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// CHECK: movq	_foo@GOTPCREL(%rip), %rax
647ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// CHECK:  encoding: [0x48,0x8b,0x05,A,A,A,A]
648ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// CHECK:  fixup A - offset: 3, value: _foo@GOTPCREL-4, kind: reloc_riprel_4byte_movq_load
649ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattnermovq _foo@GOTPCREL(%rip), %rax
650ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner
651ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// CHECK: movq	_foo@GOTPCREL(%rip), %r14
652ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// CHECK:  encoding: [0x4c,0x8b,0x35,A,A,A,A]
653ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// CHECK:  fixup A - offset: 3, value: _foo@GOTPCREL-4, kind: reloc_riprel_4byte_movq_load
654ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattnermovq _foo@GOTPCREL(%rip), %r14
655ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner
656de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar// CHECK: movq	_foo@GOTPCREL(%eip), %rax
657de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar// CHECK:  encoding: [0x67,0x48,0x8b,0x05,A,A,A,A]
658de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar// CHECK:  fixup A - offset: 4, value: _foo@GOTPCREL-4, kind: reloc_riprel_4byte_movq_load
659de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainarmovq _foo@GOTPCREL(%eip), %rax
660de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar
661de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar// CHECK: movq	_foo@GOTPCREL(%eip), %r14
662de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar// CHECK:  encoding: [0x67,0x4c,0x8b,0x35,A,A,A,A]
663de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar// CHECK:  fixup A - offset: 4, value: _foo@GOTPCREL-4, kind: reloc_riprel_4byte_movq_load
664de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainarmovq _foo@GOTPCREL(%eip), %r14
665ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner
666ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// CHECK: movq	(%r13,%rax,8), %r13
667ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// CHECK:  encoding: [0x4d,0x8b,0x6c,0xc5,0x00]
668ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattnermovq 0x00(%r13,%rax,8),%r13
669ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner
670ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// CHECK: testq	%rax, %rbx
6710c7f116bb6950ef819323d855415b2f2b0aad987Pirama Arumuga Nainar// CHECK:  encoding: [0x48,0x85,0xc3]
672ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattnertestq %rax, %rbx
673ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner
674ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// CHECK: cmpq	%rbx, %r14
675ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// CHECK:   encoding: [0x49,0x39,0xde]
676ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner        cmpq %rbx, %r14
677ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner
678ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// rdar://7947167
679ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner
680ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattnermovsq
681ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// CHECK: movsq
682ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// CHECK:   encoding: [0x48,0xa5]
683ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner
684ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattnermovsl
6859b8b830f3fa6dca2275dcd86bdaf0d78ab1651a1Craig Topper// CHECK: movsl
686ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// CHECK:   encoding: [0xa5]
687ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner
688ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattnerstosq
689ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// CHECK: stosq
690ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// CHECK:   encoding: [0x48,0xab]
691ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattnerstosl
692ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// CHECK: stosl
693ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// CHECK:   encoding: [0xab]
694ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner
695ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner
696ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// Not moffset forms of moves, they are x86-32 only! rdar://7947184
697ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattnermovb	0, %al    // CHECK: movb 0, %al # encoding: [0x8a,0x04,0x25,0x00,0x00,0x00,0x00]
698ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattnermovw	0, %ax    // CHECK: movw 0, %ax # encoding: [0x66,0x8b,0x04,0x25,0x00,0x00,0x00,0x00]
699ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattnermovl	0, %eax   // CHECK: movl 0, %eax # encoding: [0x8b,0x04,0x25,0x00,0x00,0x00,0x00]
700ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner
701ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// CHECK: pushfq	# encoding: [0x9c]
702ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner        pushf
703ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// CHECK: pushfq	# encoding: [0x9c]
704ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner        pushfq
705ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// CHECK: popfq	        # encoding: [0x9d]
706ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner        popf
707ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// CHECK: popfq	        # encoding: [0x9d]
708ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner        popfq
709ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner
710ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// CHECK: movabsq $-281474976710654, %rax
711ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// CHECK: encoding: [0x48,0xb8,0x02,0x00,0x00,0x00,0x00,0x00,0xff,0xff]
712ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner        movabsq $0xFFFF000000000002, %rax
713ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner
714508fc4708bb859391af8969614e67c84ab56c38cChris Lattner// CHECK: movabsq $-281474976710654, %rax
715ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// CHECK: encoding: [0x48,0xb8,0x02,0x00,0x00,0x00,0x00,0x00,0xff,0xff]
716ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner        movq $0xFFFF000000000002, %rax
717ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner
718ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// CHECK: movq $-65536, %rax
719ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// CHECK: encoding: [0x48,0xc7,0xc0,0x00,0x00,0xff,0xff]
720ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner        movq $0xFFFFFFFFFFFF0000, %rax
721ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner
722ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// CHECK: movq $-256, %rax
723ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// CHECK: encoding: [0x48,0xc7,0xc0,0x00,0xff,0xff,0xff]
724ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner        movq $0xFFFFFFFFFFFFFF00, %rax
725ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner
726ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// CHECK: movq $10, %rax
727ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// CHECK: encoding: [0x48,0xc7,0xc0,0x0a,0x00,0x00,0x00]
728ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner        movq $10, %rax
729ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner
730877d123bdb0198705884e4ca7980d2ab845d9888Kevin Enderby// CHECK: movabsb -6066930261531658096, %al
731877d123bdb0198705884e4ca7980d2ab845d9888Kevin Enderby// CHECK: encoding: [0xa0,0x90,0x78,0x56,0x34,0x12,0xef,0xcd,0xab]
732877d123bdb0198705884e4ca7980d2ab845d9888Kevin Enderby        movabsb 0xabcdef1234567890,%al
733877d123bdb0198705884e4ca7980d2ab845d9888Kevin Enderby
734877d123bdb0198705884e4ca7980d2ab845d9888Kevin Enderby// CHECK: movabsw -6066930261531658096, %ax
735877d123bdb0198705884e4ca7980d2ab845d9888Kevin Enderby// CHECK: encoding: [0x66,0xa1,0x90,0x78,0x56,0x34,0x12,0xef,0xcd,0xab]
736877d123bdb0198705884e4ca7980d2ab845d9888Kevin Enderby        movabsw 0xabcdef1234567890,%ax
737877d123bdb0198705884e4ca7980d2ab845d9888Kevin Enderby
738877d123bdb0198705884e4ca7980d2ab845d9888Kevin Enderby// CHECK: movabsl -6066930261531658096, %eax
739877d123bdb0198705884e4ca7980d2ab845d9888Kevin Enderby// CHECK: encoding: [0xa1,0x90,0x78,0x56,0x34,0x12,0xef,0xcd,0xab]
740877d123bdb0198705884e4ca7980d2ab845d9888Kevin Enderby        movabsl 0xabcdef1234567890,%eax
741877d123bdb0198705884e4ca7980d2ab845d9888Kevin Enderby
742877d123bdb0198705884e4ca7980d2ab845d9888Kevin Enderby// CHECK: movabsq -6066930261531658096, %rax
743877d123bdb0198705884e4ca7980d2ab845d9888Kevin Enderby// CHECK: encoding: [0x48,0xa1,0x90,0x78,0x56,0x34,0x12,0xef,0xcd,0xab]
744877d123bdb0198705884e4ca7980d2ab845d9888Kevin Enderby        movabsq 0xabcdef1234567890, %rax
745877d123bdb0198705884e4ca7980d2ab845d9888Kevin Enderby
746877d123bdb0198705884e4ca7980d2ab845d9888Kevin Enderby// CHECK: movabsb %al, -6066930261531658096
747877d123bdb0198705884e4ca7980d2ab845d9888Kevin Enderby// CHECK: encoding: [0xa2,0x90,0x78,0x56,0x34,0x12,0xef,0xcd,0xab]
748877d123bdb0198705884e4ca7980d2ab845d9888Kevin Enderby        movabsb %al,0xabcdef1234567890
749877d123bdb0198705884e4ca7980d2ab845d9888Kevin Enderby
750877d123bdb0198705884e4ca7980d2ab845d9888Kevin Enderby// CHECK: movabsw %ax, -6066930261531658096
751877d123bdb0198705884e4ca7980d2ab845d9888Kevin Enderby// CHECK: encoding: [0x66,0xa3,0x90,0x78,0x56,0x34,0x12,0xef,0xcd,0xab]
752877d123bdb0198705884e4ca7980d2ab845d9888Kevin Enderby        movabsw %ax,0xabcdef1234567890
753877d123bdb0198705884e4ca7980d2ab845d9888Kevin Enderby
754877d123bdb0198705884e4ca7980d2ab845d9888Kevin Enderby// CHECK: movabsl %eax, -6066930261531658096
755877d123bdb0198705884e4ca7980d2ab845d9888Kevin Enderby// CHECK: encoding: [0xa3,0x90,0x78,0x56,0x34,0x12,0xef,0xcd,0xab]
756877d123bdb0198705884e4ca7980d2ab845d9888Kevin Enderby        movabsl %eax,0xabcdef1234567890
757877d123bdb0198705884e4ca7980d2ab845d9888Kevin Enderby
758877d123bdb0198705884e4ca7980d2ab845d9888Kevin Enderby// CHECK: movabsq %rax, -6066930261531658096
759877d123bdb0198705884e4ca7980d2ab845d9888Kevin Enderby// CHECK: encoding: [0x48,0xa3,0x90,0x78,0x56,0x34,0x12,0xef,0xcd,0xab]
760877d123bdb0198705884e4ca7980d2ab845d9888Kevin Enderby        movabsq %rax,0xabcdef1234567890
761877d123bdb0198705884e4ca7980d2ab845d9888Kevin Enderby
762ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// rdar://8014869
763ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner//
764ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// CHECK: ret
765ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// CHECK:  encoding: [0xc3]
766ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner        retq
767ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner
768ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// CHECK: sete %al
769ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// CHECK: encoding: [0x0f,0x94,0xc0]
770ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner        setz %al
771ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner
772ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// CHECK: setne %al
773ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// CHECK: encoding: [0x0f,0x95,0xc0]
774ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner        setnz %al
775ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner
776ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// CHECK: je 0
777ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// CHECK: encoding: [0x74,A]
778ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner        jz 0
779ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner
780ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// CHECK: jne
781ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// CHECK: encoding: [0x75,A]
782ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner        jnz 0
783ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner
784824a9076eaf8d109bc79f53e51b7d7a045f42552Chris Lattner// PR9264
785824a9076eaf8d109bc79f53e51b7d7a045f42552Chris Lattnerbtl	$1, 0 // CHECK: btl $1, 0 # encoding: [0x0f,0xba,0x24,0x25,0x00,0x00,0x00,0x00,0x01]
786824a9076eaf8d109bc79f53e51b7d7a045f42552Chris Lattnerbt	$1, 0 // CHECK: btl $1, 0 # encoding: [0x0f,0xba,0x24,0x25,0x00,0x00,0x00,0x00,0x01]
787824a9076eaf8d109bc79f53e51b7d7a045f42552Chris Lattner
788ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// rdar://8017515
789ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattnerbtq $0x01,%rdx
790ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// CHECK: btq	$1, %rdx
791ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// CHECK:  encoding: [0x48,0x0f,0xba,0xe2,0x01]
792ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner
793ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner//rdar://8017633
794d336de318eafd7643f65a901315920ec10ce05cdBill Wendling// CHECK: movzbl	%al, %esi
795ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// CHECK:  encoding: [0x0f,0xb6,0xf0]
796ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner        movzx %al, %esi
797ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner
798d336de318eafd7643f65a901315920ec10ce05cdBill Wendling// CHECK: movzbq	%al, %rsi
799ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// CHECK:  encoding: [0x48,0x0f,0xb6,0xf0]
800ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner        movzx %al, %rsi
801ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner
802d336de318eafd7643f65a901315920ec10ce05cdBill Wendling// CHECK: movsbw	%al, %ax
803b501d4f673c0db267a76800339f9943f2ce6fe33Chris Lattner// CHECK: encoding: [0x66,0x0f,0xbe,0xc0]
804d336de318eafd7643f65a901315920ec10ce05cdBill Wendlingmovsx %al, %ax
805b501d4f673c0db267a76800339f9943f2ce6fe33Chris Lattner
806d336de318eafd7643f65a901315920ec10ce05cdBill Wendling// CHECK: movsbl	%al, %eax
807b501d4f673c0db267a76800339f9943f2ce6fe33Chris Lattner// CHECK: encoding: [0x0f,0xbe,0xc0]
808d336de318eafd7643f65a901315920ec10ce05cdBill Wendlingmovsx %al, %eax
809b501d4f673c0db267a76800339f9943f2ce6fe33Chris Lattner
810d336de318eafd7643f65a901315920ec10ce05cdBill Wendling// CHECK: movswl	%ax, %eax
811b501d4f673c0db267a76800339f9943f2ce6fe33Chris Lattner// CHECK: encoding: [0x0f,0xbf,0xc0]
812d336de318eafd7643f65a901315920ec10ce05cdBill Wendlingmovsx %ax, %eax
813b501d4f673c0db267a76800339f9943f2ce6fe33Chris Lattner
814d336de318eafd7643f65a901315920ec10ce05cdBill Wendling// CHECK: movsbq	%bl, %rax
815b501d4f673c0db267a76800339f9943f2ce6fe33Chris Lattner// CHECK: encoding: [0x48,0x0f,0xbe,0xc3]
816d336de318eafd7643f65a901315920ec10ce05cdBill Wendlingmovsx %bl, %rax
817b501d4f673c0db267a76800339f9943f2ce6fe33Chris Lattner
818d336de318eafd7643f65a901315920ec10ce05cdBill Wendling// CHECK: movswq %cx, %rax
819b501d4f673c0db267a76800339f9943f2ce6fe33Chris Lattner// CHECK: encoding: [0x48,0x0f,0xbf,0xc1]
820d336de318eafd7643f65a901315920ec10ce05cdBill Wendlingmovsx %cx, %rax
821b501d4f673c0db267a76800339f9943f2ce6fe33Chris Lattner
822d336de318eafd7643f65a901315920ec10ce05cdBill Wendling// CHECK: movslq	%edi, %rax
823b501d4f673c0db267a76800339f9943f2ce6fe33Chris Lattner// CHECK: encoding: [0x48,0x63,0xc7]
824d336de318eafd7643f65a901315920ec10ce05cdBill Wendlingmovsx %edi, %rax
825b501d4f673c0db267a76800339f9943f2ce6fe33Chris Lattner
826d336de318eafd7643f65a901315920ec10ce05cdBill Wendling// CHECK: movzbw	%al, %ax
827b501d4f673c0db267a76800339f9943f2ce6fe33Chris Lattner// CHECK: encoding: [0x66,0x0f,0xb6,0xc0]
828d336de318eafd7643f65a901315920ec10ce05cdBill Wendlingmovzx %al, %ax
829b501d4f673c0db267a76800339f9943f2ce6fe33Chris Lattner
830d336de318eafd7643f65a901315920ec10ce05cdBill Wendling// CHECK: movzbl	%al, %eax
831b501d4f673c0db267a76800339f9943f2ce6fe33Chris Lattner// CHECK: encoding: [0x0f,0xb6,0xc0]
832d336de318eafd7643f65a901315920ec10ce05cdBill Wendlingmovzx %al, %eax
833b501d4f673c0db267a76800339f9943f2ce6fe33Chris Lattner
834d336de318eafd7643f65a901315920ec10ce05cdBill Wendling// CHECK: movzwl	%ax, %eax
835b501d4f673c0db267a76800339f9943f2ce6fe33Chris Lattner// CHECK: encoding: [0x0f,0xb7,0xc0]
836d336de318eafd7643f65a901315920ec10ce05cdBill Wendlingmovzx %ax, %eax
837b501d4f673c0db267a76800339f9943f2ce6fe33Chris Lattner
838d336de318eafd7643f65a901315920ec10ce05cdBill Wendling// CHECK: movzbq	%bl, %rax
839b501d4f673c0db267a76800339f9943f2ce6fe33Chris Lattner// CHECK: encoding: [0x48,0x0f,0xb6,0xc3]
840d336de318eafd7643f65a901315920ec10ce05cdBill Wendlingmovzx %bl, %rax
841b501d4f673c0db267a76800339f9943f2ce6fe33Chris Lattner
842d336de318eafd7643f65a901315920ec10ce05cdBill Wendling// CHECK: movzwq	%cx, %rax
843b501d4f673c0db267a76800339f9943f2ce6fe33Chris Lattner// CHECK: encoding: [0x48,0x0f,0xb7,0xc1]
844d336de318eafd7643f65a901315920ec10ce05cdBill Wendlingmovzx %cx, %rax
845b501d4f673c0db267a76800339f9943f2ce6fe33Chris Lattner
846acc473fcf9860567d4da60625944d48b075d28f8Chris Lattner// CHECK: movsbw	(%rax), %ax
847acc473fcf9860567d4da60625944d48b075d28f8Chris Lattner// CHECK: encoding: [0x66,0x0f,0xbe,0x00]
848d336de318eafd7643f65a901315920ec10ce05cdBill Wendlingmovsx (%rax), %ax
849b501d4f673c0db267a76800339f9943f2ce6fe33Chris Lattner
850acc473fcf9860567d4da60625944d48b075d28f8Chris Lattner// CHECK: movzbw	(%rax), %ax
851acc473fcf9860567d4da60625944d48b075d28f8Chris Lattner// CHECK: encoding: [0x66,0x0f,0xb6,0x00]
852d336de318eafd7643f65a901315920ec10ce05cdBill Wendlingmovzx (%rax), %ax
853ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner
854ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner
855ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// rdar://7873482
856ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// CHECK: [0x65,0x8b,0x04,0x25,0x7c,0x00,0x00,0x00]
857ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner        movl	%gs:124, %eax
858ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner
859ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// CHECK: jmpq *8(%rax)
860ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// CHECK:   encoding: [0xff,0x60,0x08]
861ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner	jmp	*8(%rax)
862ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner
863ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// CHECK: btq $61, -216(%rbp)
864ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// CHECK:   encoding: [0x48,0x0f,0xba,0xa5,0x28,0xff,0xff,0xff,0x3d]
865ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner	btq	$61, -216(%rbp)
866ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner
867ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner
868ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// rdar://8061602
869ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris LattnerL1:
870ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner  jecxz L1
871ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// CHECK: jecxz L1
872ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// CHECK:   encoding: [0x67,0xe3,A]
873ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner  jrcxz L1
874ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// CHECK: jrcxz L1
875ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// CHECK:   encoding: [0xe3,A]
876ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner
877ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// PR8061
878ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattnerxchgl   368(%rax),%ecx
879ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// CHECK: xchgl	%ecx, 368(%rax)
880ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattnerxchgl   %ecx, 368(%rax)
881ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// CHECK: xchgl	%ecx, 368(%rax)
882ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner
883ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// rdar://8407548
884ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattnerxchg	0xdeadbeef(%rbx,%rcx,8),%bl
885ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// CHECK: xchgb	%bl, 3735928559(%rbx,%rcx,8)
886ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner
887ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner
888ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner
889ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// PR7254
890ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattnerlock  incl 1(%rsp)
891ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// CHECK: lock
892ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// CHECK: incl 1(%rsp)
893ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner
89476331754d4a06e2394c15ae8f4870f4aeaf5ca1fKevin Enderby// rdar://8741045
89576331754d4a06e2394c15ae8f4870f4aeaf5ca1fKevin Enderbylock/incl 1(%rsp)
89676331754d4a06e2394c15ae8f4870f4aeaf5ca1fKevin Enderby// CHECK: lock
89776331754d4a06e2394c15ae8f4870f4aeaf5ca1fKevin Enderby// CHECK: incl 1(%rsp)
89876331754d4a06e2394c15ae8f4870f4aeaf5ca1fKevin Enderby
899de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar
900de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainarlock addq %rsi, (%rdi)
901de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar// CHECK: lock
902de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar// CHECK: encoding: [0xf0]
903de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar// CHECK: addq %rsi, (%rdi)
904de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar// CHECK: encoding: [0x48,0x01,0x37]
905de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar
906de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainarlock subq %rsi, (%rdi)
907de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar// CHECK: lock
908de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar// CHECK: encoding: [0xf0]
909de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar// CHECK: subq %rsi, (%rdi)
910de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar// CHECK: encoding: [0x48,0x29,0x37]
911de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar
912de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainarlock andq %rsi, (%rdi)
913de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar// CHECK: lock
914de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar// CHECK: encoding: [0xf0]
915de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar// CHECK: andq %rsi, (%rdi)
916de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar// CHECK: encoding: [0x48,0x21,0x37]
917de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar
918de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainarlock orq %rsi, (%rdi)
919de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar// CHECK: lock
920de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar// CHECK: encoding: [0xf0]
921de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar// CHECK: orq %rsi, (%rdi)
922de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar// CHECK: encoding: [0x48,0x09,0x37]
923de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar
924de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainarlock xorq %rsi, (%rdi)
925de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar// CHECK: lock
926de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar// CHECK: encoding: [0xf0]
927de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar// CHECK: xorq %rsi, (%rdi)
928de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar// CHECK: encoding: [0x48,0x31,0x37]
929de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar
930de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar
931ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// rdar://8033482
932ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattnerrep movsl
933ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// CHECK: rep
934ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// CHECK: encoding: [0xf3]
9359b8b830f3fa6dca2275dcd86bdaf0d78ab1651a1Craig Topper// CHECK: movsl
936ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// CHECK: encoding: [0xa5]
937ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner
938ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner
939ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// rdar://8403974
940ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattneriret
941ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// CHECK: iretl
942ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// CHECK: encoding: [0xcf]
943ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattneriretw
944ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// CHECK: iretw
945ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// CHECK: encoding: [0x66,0xcf]
946ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattneriretl
947ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// CHECK: iretl
948ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// CHECK: encoding: [0xcf]
949ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattneriretq
950ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// CHECK: iretq
951ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// CHECK: encoding: [0x48,0xcf]
952ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner
9537aef62ff8c72506cc9b77333d25f4aa8aa9cf9feKevin Enderby// rdar://8416805
9547aef62ff8c72506cc9b77333d25f4aa8aa9cf9feKevin Enderby// CHECK: retw	$31438
9557aef62ff8c72506cc9b77333d25f4aa8aa9cf9feKevin Enderby// CHECK:  encoding: [0x66,0xc2,0xce,0x7a]
9567aef62ff8c72506cc9b77333d25f4aa8aa9cf9feKevin Enderby        	retw	$0x7ace
9577aef62ff8c72506cc9b77333d25f4aa8aa9cf9feKevin Enderby
9587aef62ff8c72506cc9b77333d25f4aa8aa9cf9feKevin Enderby// CHECK: lretw	$31438
9597aef62ff8c72506cc9b77333d25f4aa8aa9cf9feKevin Enderby// CHECK:  encoding: [0x66,0xca,0xce,0x7a]
9607aef62ff8c72506cc9b77333d25f4aa8aa9cf9feKevin Enderby        	lretw	$0x7ace
9617aef62ff8c72506cc9b77333d25f4aa8aa9cf9feKevin Enderby
9626b5e3978e3f720f6d2828068157b9d9687aee711Chris Lattner// PR8592
9636b5e3978e3f720f6d2828068157b9d9687aee711Chris Lattnerlretq  // CHECK: lretq # encoding: [0x48,0xcb]
964269f10b316b41fde5c9bf3f6e5c471f371862834Chris Lattnerlretl  // CHECK: lretl # encoding: [0xcb]
965269f10b316b41fde5c9bf3f6e5c471f371862834Chris Lattnerlret   // CHECK: lretl # encoding: [0xcb]
9660d82fe77f2b6f48b5fab131c1671169d154f8c69Charles Davislretw  // CHECK: lretw # encoding: [0x66,0xcb]
9676b5e3978e3f720f6d2828068157b9d9687aee711Chris Lattner
968ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// rdar://8403907
969ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattnersysret
970ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// CHECK: sysretl
971ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// CHECK: encoding: [0x0f,0x07]
972ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattnersysretl
973ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// CHECK: sysretl
974ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// CHECK: encoding: [0x0f,0x07]
975ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattnersysretq
976ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// CHECK: sysretq
977ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// CHECK: encoding: [0x48,0x0f,0x07]
978ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner
979ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// rdar://8407242
980ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattnerpush %fs
981ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// CHECK: pushq	%fs
982ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// CHECK: encoding: [0x0f,0xa0]
983ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattnerpush %gs
984ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// CHECK: pushq	%gs
985ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// CHECK: encoding: [0x0f,0xa8]
986ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner
987ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattnerpushw %fs
988ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// CHECK: pushw	%fs
989ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// CHECK: encoding: [0x66,0x0f,0xa0]
990ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattnerpushw %gs
991ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// CHECK: pushw	%gs
992ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// CHECK: encoding: [0x66,0x0f,0xa8]
993ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner
994ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner
995ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattnerpop %fs
996ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// CHECK: popq	%fs
997ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// CHECK: encoding: [0x0f,0xa1]
998ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattnerpop %gs
999ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// CHECK: popq	%gs
1000ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// CHECK: encoding: [0x0f,0xa9]
1001ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner
1002ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattnerpopw %fs
1003ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// CHECK: popw	%fs
1004ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// CHECK: encoding: [0x66,0x0f,0xa1]
1005ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattnerpopw %gs
1006ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// CHECK: popw	%gs
1007ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// CHECK: encoding: [0x66,0x0f,0xa9]
1008ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner
1009ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// rdar://8438816
1010ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattnerfildq -8(%rsp)
1011ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattnerfildll -8(%rsp)
1012ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// CHECK: fildll	-8(%rsp)
1013ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// CHECK: encoding: [0xdf,0x6c,0x24,0xf8]
1014ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// CHECK: fildll	-8(%rsp)
1015ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner// CHECK: encoding: [0xdf,0x6c,0x24,0xf8]
1016ebfa86b4349bb38732f0b927ed2589b176e69cb5Chris Lattner
101727c5215fbd59c2e8262dd14d63ada96ce3cfd351Chris Lattner// CHECK: callq a
101827c5215fbd59c2e8262dd14d63ada96ce3cfd351Chris Lattner        callq a
101927c5215fbd59c2e8262dd14d63ada96ce3cfd351Chris Lattner
102027c5215fbd59c2e8262dd14d63ada96ce3cfd351Chris Lattner// CHECK: leaq	-40(%rbp), %r15
102127c5215fbd59c2e8262dd14d63ada96ce3cfd351Chris Lattner	leaq	-40(%rbp), %r15
102227c5215fbd59c2e8262dd14d63ada96ce3cfd351Chris Lattner
102327c5215fbd59c2e8262dd14d63ada96ce3cfd351Chris Lattner
102427c5215fbd59c2e8262dd14d63ada96ce3cfd351Chris Lattner
102527c5215fbd59c2e8262dd14d63ada96ce3cfd351Chris Lattner// rdar://8013734 - Alias dr6=db6
102627c5215fbd59c2e8262dd14d63ada96ce3cfd351Chris Lattnermov %dr6, %rax
102727c5215fbd59c2e8262dd14d63ada96ce3cfd351Chris Lattnermov %db6, %rax
102827c5215fbd59c2e8262dd14d63ada96ce3cfd351Chris Lattner// CHECK: movq	%dr6, %rax
102927c5215fbd59c2e8262dd14d63ada96ce3cfd351Chris Lattner// CHECK: movq	%dr6, %rax
103027c5215fbd59c2e8262dd14d63ada96ce3cfd351Chris Lattner
103127c5215fbd59c2e8262dd14d63ada96ce3cfd351Chris Lattner
103227c5215fbd59c2e8262dd14d63ada96ce3cfd351Chris Lattner// INC/DEC encodings.
103327c5215fbd59c2e8262dd14d63ada96ce3cfd351Chris Lattnerincb %al  // CHECK:	incb	%al # encoding: [0xfe,0xc0]
103427c5215fbd59c2e8262dd14d63ada96ce3cfd351Chris Lattnerincw %ax  // CHECK:	incw	%ax # encoding: [0x66,0xff,0xc0]
103527c5215fbd59c2e8262dd14d63ada96ce3cfd351Chris Lattnerincl %eax // CHECK:	incl	%eax # encoding: [0xff,0xc0]
103627c5215fbd59c2e8262dd14d63ada96ce3cfd351Chris Lattnerdecb %al  // CHECK:	decb	%al # encoding: [0xfe,0xc8]
103727c5215fbd59c2e8262dd14d63ada96ce3cfd351Chris Lattnerdecw %ax  // CHECK:	decw	%ax # encoding: [0x66,0xff,0xc8]
103827c5215fbd59c2e8262dd14d63ada96ce3cfd351Chris Lattnerdecl %eax // CHECK:	decl	%eax # encoding: [0xff,0xc8]
103927c5215fbd59c2e8262dd14d63ada96ce3cfd351Chris Lattner
104087f4a1a4331e40cbba28e829561759d146273840Kevin Enderby// rdar://8416805
104136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines// CHECK: lgdtq	4(%rax)
104287f4a1a4331e40cbba28e829561759d146273840Kevin Enderby// CHECK:  encoding: [0x0f,0x01,0x50,0x04]
104387f4a1a4331e40cbba28e829561759d146273840Kevin Enderby        	lgdt	4(%rax)
104487f4a1a4331e40cbba28e829561759d146273840Kevin Enderby
104536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines// CHECK: lgdtq	4(%rax)
104687f4a1a4331e40cbba28e829561759d146273840Kevin Enderby// CHECK:  encoding: [0x0f,0x01,0x50,0x04]
104787f4a1a4331e40cbba28e829561759d146273840Kevin Enderby        	lgdtq	4(%rax)
104887f4a1a4331e40cbba28e829561759d146273840Kevin Enderby
104936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines// CHECK: lidtq	4(%rax)
105087f4a1a4331e40cbba28e829561759d146273840Kevin Enderby// CHECK:  encoding: [0x0f,0x01,0x58,0x04]
105187f4a1a4331e40cbba28e829561759d146273840Kevin Enderby        	lidt	4(%rax)
105287f4a1a4331e40cbba28e829561759d146273840Kevin Enderby
105336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines// CHECK: lidtq	4(%rax)
105487f4a1a4331e40cbba28e829561759d146273840Kevin Enderby// CHECK:  encoding: [0x0f,0x01,0x58,0x04]
105587f4a1a4331e40cbba28e829561759d146273840Kevin Enderby        	lidtq	4(%rax)
105687f4a1a4331e40cbba28e829561759d146273840Kevin Enderby
105736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines// CHECK: sgdtq	4(%rax)
105887f4a1a4331e40cbba28e829561759d146273840Kevin Enderby// CHECK:  encoding: [0x0f,0x01,0x40,0x04]
105987f4a1a4331e40cbba28e829561759d146273840Kevin Enderby        	sgdt	4(%rax)
106087f4a1a4331e40cbba28e829561759d146273840Kevin Enderby
106136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines// CHECK: sgdtq	4(%rax)
106287f4a1a4331e40cbba28e829561759d146273840Kevin Enderby// CHECK:  encoding: [0x0f,0x01,0x40,0x04]
106387f4a1a4331e40cbba28e829561759d146273840Kevin Enderby        	sgdtq	4(%rax)
106487f4a1a4331e40cbba28e829561759d146273840Kevin Enderby
106536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines// CHECK: sidtq	4(%rax)
106687f4a1a4331e40cbba28e829561759d146273840Kevin Enderby// CHECK:  encoding: [0x0f,0x01,0x48,0x04]
106787f4a1a4331e40cbba28e829561759d146273840Kevin Enderby        	sidt	4(%rax)
106887f4a1a4331e40cbba28e829561759d146273840Kevin Enderby
106936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines// CHECK: sidtq	4(%rax)
107087f4a1a4331e40cbba28e829561759d146273840Kevin Enderby// CHECK:  encoding: [0x0f,0x01,0x48,0x04]
107187f4a1a4331e40cbba28e829561759d146273840Kevin Enderby        	sidtq	4(%rax)
107204a75abe234f1093f69a065d799b3271ccd09f99Chris Lattner
107304a75abe234f1093f69a065d799b3271ccd09f99Chris Lattner
107404a75abe234f1093f69a065d799b3271ccd09f99Chris Lattner// rdar://8208615
107504a75abe234f1093f69a065d799b3271ccd09f99Chris Lattnermov (%rsi), %gs  // CHECK: movl	(%rsi), %gs # encoding: [0x8e,0x2e]
107604a75abe234f1093f69a065d799b3271ccd09f99Chris Lattnermov %gs, (%rsi)  // CHECK: movl	%gs, (%rsi) # encoding: [0x8c,0x2e]
107704a75abe234f1093f69a065d799b3271ccd09f99Chris Lattner
107804a75abe234f1093f69a065d799b3271ccd09f99Chris Lattner
1079689cf3cb6222652b92fdbd52e96c1d2f421ac44eChris Lattner// rdar://8431864
10806ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topper//CHECK: divb	%bl
10816ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topper//CHECK: divw	%bx
10826ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topper//CHECK: divl	%ecx
10836ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topper//CHECK: divl	3735928559(%ebx,%ecx,8)
10846ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topper//CHECK: divl	69
10856ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topper//CHECK: divl	32493
10866ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topper//CHECK: divl	3133065982
10876ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topper//CHECK: divl	305419896
10886ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topper//CHECK: idivb	%bl
10896ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topper//CHECK: idivw	%bx
10906ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topper//CHECK: idivl	%ecx
10916ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topper//CHECK: idivl	3735928559(%ebx,%ecx,8)
10926ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topper//CHECK: idivl	69
10936ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topper//CHECK: idivl	32493
10946ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topper//CHECK: idivl	3133065982
10956ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topper//CHECK: idivl	305419896
1096689cf3cb6222652b92fdbd52e96c1d2f421ac44eChris Lattner	div	%bl,%al
1097689cf3cb6222652b92fdbd52e96c1d2f421ac44eChris Lattner	div	%bx,%ax
1098689cf3cb6222652b92fdbd52e96c1d2f421ac44eChris Lattner	div	%ecx,%eax
1099689cf3cb6222652b92fdbd52e96c1d2f421ac44eChris Lattner	div	0xdeadbeef(%ebx,%ecx,8),%eax
1100689cf3cb6222652b92fdbd52e96c1d2f421ac44eChris Lattner	div	0x45,%eax
1101689cf3cb6222652b92fdbd52e96c1d2f421ac44eChris Lattner	div	0x7eed,%eax
1102689cf3cb6222652b92fdbd52e96c1d2f421ac44eChris Lattner	div	0xbabecafe,%eax
1103689cf3cb6222652b92fdbd52e96c1d2f421ac44eChris Lattner	div	0x12345678,%eax
1104689cf3cb6222652b92fdbd52e96c1d2f421ac44eChris Lattner	idiv	%bl,%al
1105689cf3cb6222652b92fdbd52e96c1d2f421ac44eChris Lattner	idiv	%bx,%ax
1106689cf3cb6222652b92fdbd52e96c1d2f421ac44eChris Lattner	idiv	%ecx,%eax
1107689cf3cb6222652b92fdbd52e96c1d2f421ac44eChris Lattner	idiv	0xdeadbeef(%ebx,%ecx,8),%eax
1108689cf3cb6222652b92fdbd52e96c1d2f421ac44eChris Lattner	idiv	0x45,%eax
1109689cf3cb6222652b92fdbd52e96c1d2f421ac44eChris Lattner	idiv	0x7eed,%eax
1110689cf3cb6222652b92fdbd52e96c1d2f421ac44eChris Lattner	idiv	0xbabecafe,%eax
1111689cf3cb6222652b92fdbd52e96c1d2f421ac44eChris Lattner	idiv	0x12345678,%eax
1112cbf5d74e6a99b6e38c9c05e08b6319ed0ce49650Chris Lattner
1113cbf5d74e6a99b6e38c9c05e08b6319ed0ce49650Chris Lattner// PR8524
1114cbf5d74e6a99b6e38c9c05e08b6319ed0ce49650Chris Lattnermovd	%rax, %mm5 // CHECK: movd %rax, %mm5 # encoding: [0x48,0x0f,0x6e,0xe8]
1115cbf5d74e6a99b6e38c9c05e08b6319ed0ce49650Chris Lattnermovd	%mm5, %rbx // CHECK: movd %mm5, %rbx # encoding: [0x48,0x0f,0x7e,0xeb]
1116cbf5d74e6a99b6e38c9c05e08b6319ed0ce49650Chris Lattnermovq	%rax, %mm5 // CHECK: movd %rax, %mm5 # encoding: [0x48,0x0f,0x6e,0xe8]
1117cbf5d74e6a99b6e38c9c05e08b6319ed0ce49650Chris Lattnermovq	%mm5, %rbx // CHECK: movd %mm5, %rbx # encoding: [0x48,0x0f,0x7e,0xeb]
1118cbf5d74e6a99b6e38c9c05e08b6319ed0ce49650Chris Lattner
11195c7106b2e375edca4b63ab48b218654f978698a4Rafael Espindolarex64 // CHECK: rex64 # encoding: [0x48]
1120bfd2d26159c87262fcf462ea442f99478a2093c9Rafael Espindoladata16 // CHECK: data16 # encoding: [0x66]
11217ab3cc32d6bd3c3166184e27713c91f5317c7f85Chris Lattner
11227ab3cc32d6bd3c3166184e27713c91f5317c7f85Chris Lattner// PR8855
11237ab3cc32d6bd3c3166184e27713c91f5317c7f85Chris Lattnermovq 18446744073709551615,%rbx   // CHECK: movq	-1, %rbx
11247ab3cc32d6bd3c3166184e27713c91f5317c7f85Chris Lattner
11253a5004dc3ee789bcbafd5b9733d3302e73e1187dChris Lattner// PR8946
11263a5004dc3ee789bcbafd5b9733d3302e73e1187dChris Lattnermovdqu	%xmm0, %xmm1 // CHECK: movdqu	%xmm0, %xmm1 # encoding: [0xf3,0x0f,0x6f,0xc8]
112787ca0e077d91b96a765b3b24cadfa8891026a33aRafael Espindola
112887ca0e077d91b96a765b3b24cadfa8891026a33aRafael Espindola// PR8935
112987ca0e077d91b96a765b3b24cadfa8891026a33aRafael Espindolaxgetbv // CHECK: xgetbv # encoding: [0x0f,0x01,0xd0]
113087ca0e077d91b96a765b3b24cadfa8891026a33aRafael Espindolaxsetbv // CHECK: xsetbv # encoding: [0x0f,0x01,0xd1]
1131d86f482e4a9d71596e4f81afb0f7912ab3e40a7fJoerg Sonnenberger
1132d86f482e4a9d71596e4f81afb0f7912ab3e40a7fJoerg Sonnenberger// CHECK: loope 0
1133d86f482e4a9d71596e4f81afb0f7912ab3e40a7fJoerg Sonnenberger// CHECK: encoding: [0xe1,A]
1134d86f482e4a9d71596e4f81afb0f7912ab3e40a7fJoerg Sonnenberger	loopz 0
1135d86f482e4a9d71596e4f81afb0f7912ab3e40a7fJoerg Sonnenberger
1136d86f482e4a9d71596e4f81afb0f7912ab3e40a7fJoerg Sonnenberger// CHECK: loopne 0
1137d86f482e4a9d71596e4f81afb0f7912ab3e40a7fJoerg Sonnenberger// CHECK: encoding: [0xe0,A]
1138d86f482e4a9d71596e4f81afb0f7912ab3e40a7fJoerg Sonnenberger	loopnz 0
113986d822df6d9a484b3672b2a909641262663a45dcEli Friedman
114036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines// CHECK: outsb (%rsi), %dx # encoding: [0x6e]
114196622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger// CHECK: outsb
114296622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger// CHECK: outsb
114396622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger	outsb
114496622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger	outsb	%ds:(%rsi), %dx
114596622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger	outsb	(%rsi), %dx
114696622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger
114736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines// CHECK: outsw (%rsi), %dx # encoding: [0x66,0x6f]
114896622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger// CHECK: outsw
114996622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger// CHECK: outsw
115096622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger	outsw
115196622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger	outsw	%ds:(%rsi), %dx
115296622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger	outsw	(%rsi), %dx
115396622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger
115436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines// CHECK: outsl (%rsi), %dx # encoding: [0x6f]
115596622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger// CHECK: outsl
115696622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger	outsl
115796622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger	outsl	%ds:(%rsi), %dx
115896622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger	outsl	(%rsi), %dx
115996622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger
116036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines// CHECK: insb  %dx, %es:(%rdi) # encoding: [0x6c]
116196622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger// CHECK: insb
116296622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger	insb
116396622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger	insb	%dx, %es:(%rdi)
116496622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger
116536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines// CHECK: insw  %dx, %es:(%rdi) # encoding: [0x66,0x6d]
116696622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger// CHECK: insw
116796622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger	insw
116896622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger	insw	%dx, %es:(%rdi)
116996622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger
117036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines// CHECK: insl %dx, %es:(%rdi) # encoding: [0x6d]
117196622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger// CHECK: insl
117296622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger	insl
117396622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger	insl	%dx, %es:(%rdi)
117496622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger
117536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines// CHECK: movsb (%rsi), %es:(%rdi) # encoding: [0xa4]
117696622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger// CHECK: movsb
117796622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger// CHECK: movsb
117896622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger	movsb
117996622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger	movsb	%ds:(%rsi), %es:(%rdi)
118096622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger	movsb	(%rsi), %es:(%rdi)
118196622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger
118236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines// CHECK: movsw (%rsi), %es:(%rdi) # encoding: [0x66,0xa5]
118396622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger// CHECK: movsw
118496622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger// CHECK: movsw
118596622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger	movsw
118696622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger	movsw	%ds:(%rsi), %es:(%rdi)
118796622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger	movsw	(%rsi), %es:(%rdi)
118896622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger
118936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines// CHECK: movsl (%rsi), %es:(%rdi) # encoding: [0xa5]
11909b8b830f3fa6dca2275dcd86bdaf0d78ab1651a1Craig Topper// CHECK: movsl
11919b8b830f3fa6dca2275dcd86bdaf0d78ab1651a1Craig Topper// CHECK: movsl
119296622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger	movsl
119396622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger	movsl	%ds:(%rsi), %es:(%rdi)
119496622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger	movsl	(%rsi), %es:(%rdi)
11950f5ab7c5f392d8207a4b0c5bf1f8b274a9f410dfKevin Enderby// rdar://10883092
11969b8b830f3fa6dca2275dcd86bdaf0d78ab1651a1Craig Topper// CHECK: movsl
11970f5ab7c5f392d8207a4b0c5bf1f8b274a9f410dfKevin Enderby	movsl	(%rsi), (%rdi)
119896622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger
119936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines// CHECK: movsq (%rsi), %es:(%rdi) # encoding: [0x48,0xa5]
120096622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger// CHECK: movsq
120196622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger// CHECK: movsq
120296622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger	movsq
120396622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger	movsq	%ds:(%rsi), %es:(%rdi)
120496622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger	movsq	(%rsi), %es:(%rdi)
120596622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger
120636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines// CHECK: lodsb (%rsi), %al # encoding: [0xac]
120796622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger// CHECK: lodsb
120896622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger// CHECK: lodsb
120996622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger// CHECK: lodsb
121096622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger// CHECK: lodsb
121196622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger	lodsb
121296622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger	lodsb	%ds:(%rsi), %al
121396622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger	lodsb	(%rsi), %al
121496622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger	lods	%ds:(%rsi), %al
121596622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger	lods	(%rsi), %al
121696622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger
121736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines// CHECK: lodsw (%rsi), %ax # encoding: [0x66,0xad]
121896622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger// CHECK: lodsw
121996622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger// CHECK: lodsw
122096622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger// CHECK: lodsw
122196622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger// CHECK: lodsw
122296622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger	lodsw
122396622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger	lodsw	%ds:(%rsi), %ax
122496622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger	lodsw	(%rsi), %ax
122596622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger	lods	%ds:(%rsi), %ax
122696622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger	lods	(%rsi), %ax
122796622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger
122836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines// CHECK: lodsl (%rsi), %eax # encoding: [0xad]
122996622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger// CHECK: lodsl
123096622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger// CHECK: lodsl
123196622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger// CHECK: lodsl
123296622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger// CHECK: lodsl
123396622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger	lodsl
123496622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger	lodsl	%ds:(%rsi), %eax
123596622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger	lodsl	(%rsi), %eax
123696622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger	lods	%ds:(%rsi), %eax
123796622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger	lods	(%rsi), %eax
123896622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger
123936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines// CHECK: lodsq (%rsi), %rax # encoding: [0x48,0xad]
124096622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger// CHECK: lodsq
124196622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger// CHECK: lodsq
124296622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger// CHECK: lodsq
124396622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger// CHECK: lodsq
124496622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger	lodsq
124596622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger	lodsq	%ds:(%rsi), %rax
124696622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger	lodsq	(%rsi), %rax
124796622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger	lods	%ds:(%rsi), %rax
124896622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger	lods	(%rsi), %rax
124996622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger
125036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines// CHECK: stosb %al, %es:(%rdi) # encoding: [0xaa]
125196622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger// CHECK: stosb
125296622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger// CHECK: stosb
125396622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger	stosb
125496622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger	stosb	%al, %es:(%rdi)
125596622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger	stos	%al, %es:(%rdi)
125696622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger
125736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines// CHECK: stosw %ax, %es:(%rdi) # encoding: [0x66,0xab]
125896622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger// CHECK: stosw
125996622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger// CHECK: stosw
126096622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger	stosw
126196622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger	stosw	%ax, %es:(%rdi)
126296622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger	stos	%ax, %es:(%rdi)
126396622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger
126436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines// CHECK: stosl %eax, %es:(%rdi) # encoding: [0xab]
126596622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger// CHECK: stosl
126696622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger// CHECK: stosl
126796622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger	stosl
126896622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger	stosl	%eax, %es:(%rdi)
126996622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger	stos	%eax, %es:(%rdi)
127096622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger
127136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines// CHECK: stosq %rax, %es:(%rdi) # encoding: [0x48,0xab]
127296622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger// CHECK: stosq
127396622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger// CHECK: stosq
127496622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger	stosq
127596622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger	stosq	%rax, %es:(%rdi)
127696622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger	stos	%rax, %es:(%rdi)
127796622aa063435b1de085489f0e3e49b5912c22daJoerg Sonnenberger
127886d822df6d9a484b3672b2a909641262663a45dcEli Friedman// CHECK: strw
127986d822df6d9a484b3672b2a909641262663a45dcEli Friedman// CHECK: encoding: [0x66,0x0f,0x00,0xc8]
128086d822df6d9a484b3672b2a909641262663a45dcEli Friedman	str %ax
128186d822df6d9a484b3672b2a909641262663a45dcEli Friedman
128286d822df6d9a484b3672b2a909641262663a45dcEli Friedman// CHECK: strl
128386d822df6d9a484b3672b2a909641262663a45dcEli Friedman// CHECK: encoding: [0x0f,0x00,0xc8]
128486d822df6d9a484b3672b2a909641262663a45dcEli Friedman	str %eax
128586d822df6d9a484b3672b2a909641262663a45dcEli Friedman
128686d822df6d9a484b3672b2a909641262663a45dcEli Friedman// CHECK: strw
128786d822df6d9a484b3672b2a909641262663a45dcEli Friedman// CHECK: encoding: [0x66,0x0f,0x00,0xc8]
128886d822df6d9a484b3672b2a909641262663a45dcEli Friedman	str %ax
128986d822df6d9a484b3672b2a909641262663a45dcEli Friedman
129086d822df6d9a484b3672b2a909641262663a45dcEli Friedman// CHECK: strq
129186d822df6d9a484b3672b2a909641262663a45dcEli Friedman// CHECK: encoding: [0x48,0x0f,0x00,0xc8]
129286d822df6d9a484b3672b2a909641262663a45dcEli Friedman	str %rax
129394d4c91bc5b2a84e6b93250599b6742777dbd35eNick Lewycky
129494d4c91bc5b2a84e6b93250599b6742777dbd35eNick Lewycky// CHECK: movd %rdi, %xmm0
129594d4c91bc5b2a84e6b93250599b6742777dbd35eNick Lewycky// CHECK: encoding: [0x66,0x48,0x0f,0x6e,0xc7]
129694d4c91bc5b2a84e6b93250599b6742777dbd35eNick Lewycky	movq %rdi,%xmm0
129794d4c91bc5b2a84e6b93250599b6742777dbd35eNick Lewycky
129894d4c91bc5b2a84e6b93250599b6742777dbd35eNick Lewycky// CHECK: movd %rdi, %xmm0
129994d4c91bc5b2a84e6b93250599b6742777dbd35eNick Lewycky// CHECK: encoding: [0x66,0x48,0x0f,0x6e,0xc7]
130094d4c91bc5b2a84e6b93250599b6742777dbd35eNick Lewycky	movd %rdi,%xmm0
1301a390a1aa48d8fa5085aa51b950f00d79dbb0c646Eli Friedman
13029765c6ecde9ca96c37fe3e27d360aadc387b6942Jim Grosbach// CHECK: movd  %xmm0, %rax
13039765c6ecde9ca96c37fe3e27d360aadc387b6942Jim Grosbach// CHECK: encoding: [0x66,0x48,0x0f,0x7e,0xc0]
13049765c6ecde9ca96c37fe3e27d360aadc387b6942Jim Grosbach        movd  %xmm0, %rax
13059765c6ecde9ca96c37fe3e27d360aadc387b6942Jim Grosbach
1306a390a1aa48d8fa5085aa51b950f00d79dbb0c646Eli Friedman// CHECK: movntil %eax, (%rdi)
1307a390a1aa48d8fa5085aa51b950f00d79dbb0c646Eli Friedman// CHECK: encoding: [0x0f,0xc3,0x07]
1308a390a1aa48d8fa5085aa51b950f00d79dbb0c646Eli Friedman// CHECK: movntil
1309a390a1aa48d8fa5085aa51b950f00d79dbb0c646Eli Friedmanmovntil %eax, (%rdi)
1310a390a1aa48d8fa5085aa51b950f00d79dbb0c646Eli Friedmanmovnti %eax, (%rdi)
1311a390a1aa48d8fa5085aa51b950f00d79dbb0c646Eli Friedman
1312a390a1aa48d8fa5085aa51b950f00d79dbb0c646Eli Friedman// CHECK: movntiq %rax, (%rdi)
1313a390a1aa48d8fa5085aa51b950f00d79dbb0c646Eli Friedman// CHECK: encoding: [0x48,0x0f,0xc3,0x07]
1314a390a1aa48d8fa5085aa51b950f00d79dbb0c646Eli Friedman// CHECK: movntiq
1315a390a1aa48d8fa5085aa51b950f00d79dbb0c646Eli Friedmanmovntiq %rax, (%rdi)
1316a390a1aa48d8fa5085aa51b950f00d79dbb0c646Eli Friedmanmovnti %rax, (%rdi)
1317af45b3d8cb1b88d3cf775542996d78d8ce009274Eli Friedman
1318af45b3d8cb1b88d3cf775542996d78d8ce009274Eli Friedman// CHECK: pclmulqdq	$17, %xmm0, %xmm1
1319af45b3d8cb1b88d3cf775542996d78d8ce009274Eli Friedman// CHECK: encoding: [0x66,0x0f,0x3a,0x44,0xc8,0x11]
1320af45b3d8cb1b88d3cf775542996d78d8ce009274Eli Friedmanpclmulhqhqdq %xmm0, %xmm1
1321af45b3d8cb1b88d3cf775542996d78d8ce009274Eli Friedman
1322af45b3d8cb1b88d3cf775542996d78d8ce009274Eli Friedman// CHECK: pclmulqdq	$1, %xmm0, %xmm1
1323af45b3d8cb1b88d3cf775542996d78d8ce009274Eli Friedman// CHECK: encoding: [0x66,0x0f,0x3a,0x44,0xc8,0x01]
1324af45b3d8cb1b88d3cf775542996d78d8ce009274Eli Friedmanpclmulqdq $1, %xmm0, %xmm1
1325af45b3d8cb1b88d3cf775542996d78d8ce009274Eli Friedman
1326af45b3d8cb1b88d3cf775542996d78d8ce009274Eli Friedman// CHECK: pclmulqdq	$16, (%rdi), %xmm1
1327af45b3d8cb1b88d3cf775542996d78d8ce009274Eli Friedman// CHECK: encoding: [0x66,0x0f,0x3a,0x44,0x0f,0x10]
1328af45b3d8cb1b88d3cf775542996d78d8ce009274Eli Friedmanpclmullqhqdq (%rdi), %xmm1
1329af45b3d8cb1b88d3cf775542996d78d8ce009274Eli Friedman
1330af45b3d8cb1b88d3cf775542996d78d8ce009274Eli Friedman// CHECK: pclmulqdq	$0, (%rdi), %xmm1
1331af45b3d8cb1b88d3cf775542996d78d8ce009274Eli Friedman// CHECK: encoding: [0x66,0x0f,0x3a,0x44,0x0f,0x00]
1332af45b3d8cb1b88d3cf775542996d78d8ce009274Eli Friedmanpclmulqdq $0, (%rdi), %xmm1
13337ea16b01fad5236cc132cb5fc3e443fcbf70d3b8Craig Topper
13347ea16b01fad5236cc132cb5fc3e443fcbf70d3b8Craig Topper// PR10345
13357ea16b01fad5236cc132cb5fc3e443fcbf70d3b8Craig Topper// CHECK: xchgq %rax, %rax
133625f6dfd108801d1dc5877c420ef0dd47131aeda7Craig Topper// CHECK: encoding: [0x48,0x90]
13377ea16b01fad5236cc132cb5fc3e443fcbf70d3b8Craig Topperxchgq %rax, %rax
13387ea16b01fad5236cc132cb5fc3e443fcbf70d3b8Craig Topper
13397ea16b01fad5236cc132cb5fc3e443fcbf70d3b8Craig Topper// CHECK: xchgl %eax, %eax
13407ea16b01fad5236cc132cb5fc3e443fcbf70d3b8Craig Topper// CHECK: encoding: [0x87,0xc0]
13417ea16b01fad5236cc132cb5fc3e443fcbf70d3b8Craig Topperxchgl %eax, %eax
13427ea16b01fad5236cc132cb5fc3e443fcbf70d3b8Craig Topper
13437ea16b01fad5236cc132cb5fc3e443fcbf70d3b8Craig Topper// CHECK: xchgw %ax, %ax
134425f6dfd108801d1dc5877c420ef0dd47131aeda7Craig Topper// CHECK: encoding: [0x66,0x90]
13457ea16b01fad5236cc132cb5fc3e443fcbf70d3b8Craig Topperxchgw %ax, %ax
13467ea16b01fad5236cc132cb5fc3e443fcbf70d3b8Craig Topper
13477ea16b01fad5236cc132cb5fc3e443fcbf70d3b8Craig Topper// CHECK: xchgl %ecx, %eax
13487ea16b01fad5236cc132cb5fc3e443fcbf70d3b8Craig Topper// CHECK: encoding: [0x91]
13497ea16b01fad5236cc132cb5fc3e443fcbf70d3b8Craig Topperxchgl %ecx, %eax
13507ea16b01fad5236cc132cb5fc3e443fcbf70d3b8Craig Topper
13517ea16b01fad5236cc132cb5fc3e443fcbf70d3b8Craig Topper// CHECK: xchgl %ecx, %eax
13527ea16b01fad5236cc132cb5fc3e443fcbf70d3b8Craig Topper// CHECK: encoding: [0x91]
13537ea16b01fad5236cc132cb5fc3e443fcbf70d3b8Craig Topperxchgl %eax, %ecx
135455c4127134d127ccd52cc2f4115af00084b28807Kevin Enderby
135555c4127134d127ccd52cc2f4115af00084b28807Kevin Enderby// CHECK: sysexit
135655c4127134d127ccd52cc2f4115af00084b28807Kevin Enderby// CHECK: encoding: [0x0f,0x35]
135755c4127134d127ccd52cc2f4115af00084b28807Kevin Enderbysysexit
135855c4127134d127ccd52cc2f4115af00084b28807Kevin Enderby
135955c4127134d127ccd52cc2f4115af00084b28807Kevin Enderby// CHECK: sysexitl
136055c4127134d127ccd52cc2f4115af00084b28807Kevin Enderby// CHECK: encoding: [0x0f,0x35]
136155c4127134d127ccd52cc2f4115af00084b28807Kevin Enderbysysexitl
136255c4127134d127ccd52cc2f4115af00084b28807Kevin Enderby
136355c4127134d127ccd52cc2f4115af00084b28807Kevin Enderby// CHECK: sysexitq
136455c4127134d127ccd52cc2f4115af00084b28807Kevin Enderby// CHECK: encoding: [0x48,0x0f,0x35]
136555c4127134d127ccd52cc2f4115af00084b28807Kevin Enderbysysexitq
136602d2e612521954b5ff7c1ba6fd53e36bc51e1c48Michael Liao
136702d2e612521954b5ff7c1ba6fd53e36bc51e1c48Michael Liao// CHECK: clac
136802d2e612521954b5ff7c1ba6fd53e36bc51e1c48Michael Liao// CHECK: encoding: [0x0f,0x01,0xca]
136902d2e612521954b5ff7c1ba6fd53e36bc51e1c48Michael Liaoclac
137002d2e612521954b5ff7c1ba6fd53e36bc51e1c48Michael Liao
137102d2e612521954b5ff7c1ba6fd53e36bc51e1c48Michael Liao// CHECK: stac
137202d2e612521954b5ff7c1ba6fd53e36bc51e1c48Michael Liao// CHECK: encoding: [0x0f,0x01,0xcb]
137302d2e612521954b5ff7c1ba6fd53e36bc51e1c48Michael Liaostac
13746ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topper
13756ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topper// CHECK: faddp %st(1)
13766ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topper// CHECK: fmulp %st(1)
13776ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topper// CHECK: fsubp %st(1)
13786ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topper// CHECK: fsubrp %st(1)
13796ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topper// CHECK: fdivp %st(1)
13806ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topper// CHECK: fdivrp %st(1)
13816ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topperfaddp %st(0), %st(1)
13826ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topperfmulp %st(0), %st(1)
13836ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topperfsubp %st(0), %st(1)
13846ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topperfsubrp %st(0), %st(1)
13856ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topperfdivp %st(0), %st(1)
13866ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topperfdivrp %st(0), %st(1)
13876ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topper
13886ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topper// CHECK: faddp %st(1)
13896ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topper// CHECK: fmulp %st(1)
13906ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topper// CHECK: fsubp %st(1)
13916ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topper// CHECK: fsubrp %st(1)
13926ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topper// CHECK: fdivp %st(1)
13936ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topper// CHECK: fdivrp %st(1)
13946ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topperfaddp %st(1), %st(0)
13956ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topperfmulp %st(1), %st(0)
13966ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topperfsubp %st(1), %st(0)
13976ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topperfsubrp %st(1), %st(0)
13986ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topperfdivp %st(1), %st(0)
13996ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topperfdivrp %st(1), %st(0)
14006ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topper
14016ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topper// CHECK: faddp %st(1)
14026ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topper// CHECK: fmulp %st(1)
14036ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topper// CHECK: fsubp %st(1)
14046ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topper// CHECK: fsubrp %st(1)
14056ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topper// CHECK: fdivp %st(1)
14066ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topper// CHECK: fdivrp %st(1)
14076ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topperfaddp %st(1)
14086ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topperfmulp %st(1)
14096ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topperfsubp %st(1)
14106ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topperfsubrp %st(1)
14116ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topperfdivp %st(1)
14126ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topperfdivrp %st(1)
14136ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topper
14146ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topper// CHECK: faddp %st(1)
14156ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topper// CHECK: fmulp %st(1)
14166ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topper// CHECK: fsubp %st(1)
14176ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topper// CHECK: fsubrp %st(1)
14186ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topper// CHECK: fdivp %st(1)
14196ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topper// CHECK: fdivrp %st(1)
14206ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topperfaddp
14216ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topperfmulp
14226ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topperfsubp
14236ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topperfsubrp
14246ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topperfdivp
14256ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topperfdivrp
14266ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topper
14276ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topper// CHECK: fadd %st(1)
14286ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topper// CHECK: fmul %st(1)
14296ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topper// CHECK: fsub %st(1)
14306ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topper// CHECK: fsubr %st(1)
14316ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topper// CHECK: fdiv %st(1)
14326ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topper// CHECK: fdivr %st(1)
14336ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topperfadd %st(1), %st(0)
14346ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topperfmul %st(1), %st(0)
14356ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topperfsub %st(1), %st(0)
14366ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topperfsubr %st(1), %st(0)
14376ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topperfdiv %st(1), %st(0)
14386ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topperfdivr %st(1), %st(0)
14396ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topper
14406ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topper// CHECK: fadd %st(0), %st(1)
14416ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topper// CHECK: fmul %st(0), %st(1)
14426ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topper// CHECK: fsub %st(0), %st(1)
14436ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topper// CHECK: fsubr %st(0), %st(1)
14446ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topper// CHECK: fdiv %st(0), %st(1)
14456ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topper// CHECK: fdivr %st(0), %st(1)
14466ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topperfadd %st(0), %st(1)
14476ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topperfmul %st(0), %st(1)
14486ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topperfsub %st(0), %st(1)
14496ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topperfsubr %st(0), %st(1)
14506ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topperfdiv %st(0), %st(1)
14516ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topperfdivr %st(0), %st(1)
14526ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topper
14536ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topper// CHECK: fadd %st(1)
14546ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topper// CHECK: fmul %st(1)
14556ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topper// CHECK: fsub %st(1)
14566ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topper// CHECK: fsubr %st(1)
14576ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topper// CHECK: fdiv %st(1)
14586ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topper// CHECK: fdivr %st(1)
14596ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topperfadd %st(1)
14606ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topperfmul %st(1)
14616ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topperfsub %st(1)
14626ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topperfsubr %st(1)
14636ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topperfdiv %st(1)
14646ee1464ba599f1afbed502fa1b3ac18c8577fd97Craig Topperfdivr %st(1)
1465b9bc43852ceb74c845d28b96594e1ef4ae41329fCraig Topper
1466b9bc43852ceb74c845d28b96594e1ef4ae41329fCraig Topper// CHECK: movd %xmm0, %eax
1467b9bc43852ceb74c845d28b96594e1ef4ae41329fCraig Topper// CHECK: movd %xmm0, %rax
1468b9bc43852ceb74c845d28b96594e1ef4ae41329fCraig Topper// CHECK: movd %xmm0, %rax
1469b9bc43852ceb74c845d28b96594e1ef4ae41329fCraig Topper// CHECK: vmovd %xmm0, %eax
1470b9bc43852ceb74c845d28b96594e1ef4ae41329fCraig Topper// CHECK: vmovq %xmm0, %rax
1471b9bc43852ceb74c845d28b96594e1ef4ae41329fCraig Topper// CHECK: vmovq %xmm0, %rax
1472b9bc43852ceb74c845d28b96594e1ef4ae41329fCraig Toppermovd %xmm0, %eax
1473b9bc43852ceb74c845d28b96594e1ef4ae41329fCraig Toppermovd %xmm0, %rax
1474b9bc43852ceb74c845d28b96594e1ef4ae41329fCraig Toppermovq %xmm0, %rax
1475b9bc43852ceb74c845d28b96594e1ef4ae41329fCraig Toppervmovd %xmm0, %eax
1476b9bc43852ceb74c845d28b96594e1ef4ae41329fCraig Toppervmovd %xmm0, %rax
1477b9bc43852ceb74c845d28b96594e1ef4ae41329fCraig Toppervmovq %xmm0, %rax
147836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines
147936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines// CHECK: seto 3735928559(%r10,%r9,8)
148036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines// CHECK:  encoding: [0x43,0x0f,0x90,0x84,0xca,0xef,0xbe,0xad,0xde]
148136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines	seto 0xdeadbeef(%r10,%r9,8)
1482f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar
1483f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar// CHECK: 	monitorx
1484f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar// CHECK:  encoding: [0x0f,0x01,0xfa]
1485f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar        	monitorx
1486f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar
1487f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar// CHECK: 	monitorx
1488f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar// CHECK:  encoding: [0x0f,0x01,0xfa]
1489f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar        	monitorx %rax, %rcx, %rdx
1490f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar
1491f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar// CHECK: 	mwaitx
1492f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar// CHECK:  encoding: [0x0f,0x01,0xfb]
1493f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar        	mwaitx
1494f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar
1495f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar// CHECK: 	mwaitx
1496f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar// CHECK:  encoding: [0x0f,0x01,0xfb]
1497f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar        	mwaitx %rax, %rcx, %rbx
1498de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar
1499de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar// CHECK: 	movl %r15d, (%r15,%r15)
1500de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainar// CHECK:  encoding: [0x47,0x89,0x3c,0x3f]
1501de2d8694e25a814696358e95141f4b1aa4d8847ePirama Arumuga Nainarmovl %r15d, (%r15,%r15)
1502