14a5c0fd70e7a2001b682c8972dab6b0127313c8fDevang Patel// RUN: llvm-mc -triple x86_64-unknown-unknown -x86-asm-syntax=intel %s | FileCheck %s
24a5c0fd70e7a2001b682c8972dab6b0127313c8fDevang Patel
340bced0306e953c3d0fec19db4c4770b0e3c787eDevang Patel_test:
440bced0306e953c3d0fec19db4c4770b0e3c787eDevang Patel	xor	EAX, EAX
540bced0306e953c3d0fec19db4c4770b0e3c787eDevang Patel	ret
640bced0306e953c3d0fec19db4c4770b0e3c787eDevang Patel
740bced0306e953c3d0fec19db4c4770b0e3c787eDevang Patel_main:
84a5c0fd70e7a2001b682c8972dab6b0127313c8fDevang Patel// CHECK:	movl	$257, -4(%rsp)
94a5c0fd70e7a2001b682c8972dab6b0127313c8fDevang Patel	mov	DWORD PTR [RSP - 4], 257
109a3d293cf3f72b3c0ed5d4474fc5d4d12fd36be2Devang Patel// CHECK:	movl	$258, 4(%rsp)
119a3d293cf3f72b3c0ed5d4474fc5d4d12fd36be2Devang Patel	mov	DWORD PTR [RSP + 4], 258
124a5c0fd70e7a2001b682c8972dab6b0127313c8fDevang Patel// CHECK:	movq	$123, -16(%rsp)
134a5c0fd70e7a2001b682c8972dab6b0127313c8fDevang Patel	mov	QWORD PTR [RSP - 16], 123
144a5c0fd70e7a2001b682c8972dab6b0127313c8fDevang Patel// CHECK:	movb	$97, -17(%rsp)
154a5c0fd70e7a2001b682c8972dab6b0127313c8fDevang Patel	mov	BYTE PTR [RSP - 17], 97
164a5c0fd70e7a2001b682c8972dab6b0127313c8fDevang Patel// CHECK:	movl	-4(%rsp), %eax
174a5c0fd70e7a2001b682c8972dab6b0127313c8fDevang Patel	mov	EAX, DWORD PTR [RSP - 4]
18d37ad247cc04c2a436e537767ac1aec709901594Devang Patel// CHECK:	movq    (%rsp), %rax
19d37ad247cc04c2a436e537767ac1aec709901594Devang Patel	mov     RAX, QWORD PTR [RSP]
20d37ad247cc04c2a436e537767ac1aec709901594Devang Patel// CHECK:	movl	$-4, -4(%rsp)
21d37ad247cc04c2a436e537767ac1aec709901594Devang Patel	mov	DWORD PTR [RSP - 4], -4
22d37ad247cc04c2a436e537767ac1aec709901594Devang Patel// CHECK:	movq	0, %rcx
23d37ad247cc04c2a436e537767ac1aec709901594Devang Patel	mov	RCX, QWORD PTR [0]
24d37ad247cc04c2a436e537767ac1aec709901594Devang Patel// CHECK:	movl	-24(%rsp,%rax,4), %eax
25d37ad247cc04c2a436e537767ac1aec709901594Devang Patel	mov	EAX, DWORD PTR [RSP + 4*RAX - 24]
266220fea2a877e5cff559ed38e98c59a076ea9825Devang Patel// CHECK:	movb	%dil, (%rdx,%rcx)
276220fea2a877e5cff559ed38e98c59a076ea9825Devang Patel	mov	BYTE PTR [RDX + RCX], DIL
282f8af1d643cde711b292117e50b30452877432efDevang Patel// CHECK:	movzwl	2(%rcx), %edi
292f8af1d643cde711b292117e50b30452877432efDevang Patel	movzx	EDI, WORD PTR [RCX + 2]
3040bced0306e953c3d0fec19db4c4770b0e3c787eDevang Patel// CHECK:	callq	_test
3140bced0306e953c3d0fec19db4c4770b0e3c787eDevang Patel	call	_test
32b8ba13f0096b560ee618512019ca86969a9fa772Devang Patel// CHECK:	andw	$12,	%ax
33b8ba13f0096b560ee618512019ca86969a9fa772Devang Patel	and	ax, 12
34b8ba13f0096b560ee618512019ca86969a9fa772Devang Patel// CHECK:	andw	$-12,	%ax
35b8ba13f0096b560ee618512019ca86969a9fa772Devang Patel	and	ax, -12
36b8ba13f0096b560ee618512019ca86969a9fa772Devang Patel// CHECK:	andw	$257,	%ax
37b8ba13f0096b560ee618512019ca86969a9fa772Devang Patel	and	ax, 257
38b8ba13f0096b560ee618512019ca86969a9fa772Devang Patel// CHECK:	andw	$-257,	%ax
39b8ba13f0096b560ee618512019ca86969a9fa772Devang Patel	and	ax, -257
40b8ba13f0096b560ee618512019ca86969a9fa772Devang Patel// CHECK:	andl	$12,	%eax
41b8ba13f0096b560ee618512019ca86969a9fa772Devang Patel	and	eax, 12
42b8ba13f0096b560ee618512019ca86969a9fa772Devang Patel// CHECK:	andl	$-12,	%eax
43b8ba13f0096b560ee618512019ca86969a9fa772Devang Patel	and	eax, -12
44b8ba13f0096b560ee618512019ca86969a9fa772Devang Patel// CHECK:	andl	$257,	%eax
45b8ba13f0096b560ee618512019ca86969a9fa772Devang Patel	and	eax, 257
46b8ba13f0096b560ee618512019ca86969a9fa772Devang Patel// CHECK:	andl	$-257,	%eax
47b8ba13f0096b560ee618512019ca86969a9fa772Devang Patel	and	eax, -257
48b8ba13f0096b560ee618512019ca86969a9fa772Devang Patel// CHECK:	andq	$12,	%rax
49b8ba13f0096b560ee618512019ca86969a9fa772Devang Patel	and	rax, 12
50b8ba13f0096b560ee618512019ca86969a9fa772Devang Patel// CHECK:	andq	$-12,	%rax
51b8ba13f0096b560ee618512019ca86969a9fa772Devang Patel	and	rax, -12
52b8ba13f0096b560ee618512019ca86969a9fa772Devang Patel// CHECK:	andq	$257,	%rax
53b8ba13f0096b560ee618512019ca86969a9fa772Devang Patel	and	rax, 257
54b8ba13f0096b560ee618512019ca86969a9fa772Devang Patel// CHECK:	andq	$-257,	%rax
55b8ba13f0096b560ee618512019ca86969a9fa772Devang Patel	and	rax, -257
561aea430b8834f7bed3a14eda5027eac2133d6496Devang Patel// CHECK:	fld	%st(0)
571aea430b8834f7bed3a14eda5027eac2133d6496Devang Patel	fld	ST(0)
587c64fe651ad4581ac66b6407116144442a8a7f03Devang Patel// CHECK:	movl	%fs:(%rdi), %eax
59f2d213745e07e884c1616f2f3d0b78f9e918e5dbDevang Patel        mov     EAX, DWORD PTR FS:[RDI]
603e08131185d5b3245065eb027900aed56b607970Devang Patel// CHECK:	leal	(,%rdi,4), %r8d
61f2d213745e07e884c1616f2f3d0b78f9e918e5dbDevang Patel        lea     R8D, DWORD PTR [4*RDI]
62f2d213745e07e884c1616f2f3d0b78f9e918e5dbDevang Patel// CHECK:        movl    _fnan(,%ecx,4), %ecx
63f2d213745e07e884c1616f2f3d0b78f9e918e5dbDevang Patel        mov     ECX, DWORD PTR [4*ECX + _fnan]
64a28101e61aa3aeed5baf3d5b91d0f8bcb4e9e12aDevang Patel// CHECK:       movq    %fs:320, %rax
65a28101e61aa3aeed5baf3d5b91d0f8bcb4e9e12aDevang Patel        mov     RAX, QWORD PTR FS:[320]
6675dc33a60b65bbbf2253b0b916df1d36a4da4237Craig Topper// CHECK:       vpgatherdd %xmm8, (%r15,%xmm9,2), %xmm1
6775dc33a60b65bbbf2253b0b916df1d36a4da4237Craig Topper        vpgatherdd XMM10, DWORD PTR [R15 + 2*XMM9], XMM8
6840bced0306e953c3d0fec19db4c4770b0e3c787eDevang Patel	ret
69