.text
.intel_syntax noprefix
# REX prefix and addressing modes.
add edx,ecx
add edx,r9d
add r10d,ecx
add rdx,rcx
add r10,r9
add r8d,eax
add r8w,ax
add r8,rax
add eax,0x44332211
add rax,0xfffffffff4332211
add ax,0x4433
add rax,0x44332211
add dl,cl
add bh,dh
add dil,sil
add r15b,sil
add dil,r14b
add r15b,r14b
PUSH RAX
PUSH R8
POP R9
ADD AL,0x11
ADD AH,0x11
ADD SPL,0x11
ADD R8B,0x11
ADD R12B,0x11
MOV RAX,CR0
MOV R8,CR0
MOV RAX,CR8
MOV CR8,RAX
REP MOVSQ #[RSI],[RDI]
REP MOVSW #[RSI,[RDI]
REP MOVSQ #[RSI],[RDI]
MOV AL, 0x11
MOV AH, 0x11
MOV SPL, 0x11
MOV R12B, 0x11
MOV EAX,0x11223344
MOV R8D,0x11223344
MOV RAX,0x1122334455667788
MOV R8,0x1122334455667788
add eax,[rax]
ADD EAX,[R8]
ADD R8D,[R8]
ADD RAX,[R8]
ADD EAX,[0x22222222+RIP]
ADD EAX,[RBP+0x00]
ADD EAX,FLAT:[0x22222222]
ADD EAX,[R13+0]
ADD EAX,[RAX+RAX*4]
ADD EAX,[R8+RAX*4]
ADD R8D,[R8+RAX*4]
ADD EAX,[R8+R8*4]
ADD [RCX+R8*4],R8D
ADD EDX,[RAX+RAX*8]
ADD EDX,[RAX+RCX*8]
ADD EDX,[RAX+RDX*8]
ADD EDX,[RAX+RBX*8]
ADD EDX,[RAX]
ADD EDX,[RAX+RBP*8]
ADD EDX,[RAX+RSI*8]
ADD EDX,[RAX+RDI*8]
ADD EDX,[RAX+R8*8]
ADD EDX,[RAX+R9*8]
ADD EDX,[RAX+R10*8]
ADD EDX,[RAX+R11*8]
ADD EDX,[RAX+R12*8]
ADD EDX,[RAX+R13*8]
ADD EDX,[RAX+R14*8]
ADD EDX,[RAX+R15*8]
ADD ECX,0x11
ADD DWORD PTR [RAX],0x11
ADD QWORD PTR [RAX],0x11
ADD DWORD PTR [R8],0x11
ADD DWORD PTR [RCX+RAX*4],0x11
ADD DWORD PTR [R9+RAX*4],0x11
ADD DWORD PTR [RCX+R8*4],0x11
ADD DWORD PTR [0x22222222+RIP],0x33
ADD QWORD PTR [RIP+0x22222222],0x33
ADD DWORD PTR [RIP+0x22222222],0x33333333
ADD QWORD PTR [RIP+0x22222222],0x33333333
ADD DWORD PTR [RAX*8+0x22222222],0x33
ADD DWORD PTR [RAX+0x22222222],0x33
ADD DWORD PTR [RAX+0x22222222],0x33
ADD DWORD PTR [R8+RBP*8],0x33
ADD DWORD PTR FLAT:[0x22222222],0x33		
#new instructions
MOVABS AL,FLAT:[0x8877665544332211]
MOVABS EAX,FLAT:[0x8877665544332211]
MOVABS FLAT:[0x8877665544332211],AL
MOVABS FLAT:[0x8877665544332211],EAX
MOVABS RAX,FLAT:[0x8877665544332211]
MOVABS FLAT:[0x8877665544332211],RAX
cqo
cdqe
movsx rax, eax
movsx rax, ax
movsx rax, al
retf
retf 16
retfw
retfw 2
retfd
retfd 4
retfq
retfq 8
bar:
.att_syntax
#testcase for symbol references.

#immediates - various sizes:

mov $symbol, %al
mov $symbol, %ax
mov $symbol, %eax
mov $symbol, %rax

#addressing modes:

#absolute 64bit addressing
movabs symbol, %eax

#absolute 32bit addressing
mov symbol, %eax

#arithmetic
mov symbol(%rax), %eax

#RIP relative
mov symbol(%rip), %eax

.intel_syntax noprefix

#immediates - various sizes:
mov al, offset flat:symbol
mov ax, offset flat:symbol
mov eax, offset flat:symbol
mov rax, offset flat:symbol

#parts aren't supported by the parser, yet (and not at all for symbol refs)
#mov eax, high part symbol
#mov eax, low part symbol

#addressing modes

#absolute 64bit addressing
movabs eax, [symbol]

#absolute 32bit addressing
mov eax, [symbol]

#arithmetic
mov eax, [rax+symbol]

#RIP relative
mov eax, [rip+symbol]

foo:
.att_syntax
#absolute 64bit addressing
mov 0x8877665544332211,%al
mov 0x8877665544332211,%ax
mov 0x8877665544332211,%eax
mov 0x8877665544332211,%rax
mov %al,0x8877665544332211
mov %ax,0x8877665544332211
mov %eax,0x8877665544332211
mov %rax,0x8877665544332211
movb 0x8877665544332211,%al
movw 0x8877665544332211,%ax
movl 0x8877665544332211,%eax
movq 0x8877665544332211,%rax
movb %al,0x8877665544332211
movw %ax,0x8877665544332211
movl %eax,0x8877665544332211
movq %rax,0x8877665544332211

#absolute signed 32bit addressing
mov 0xffffffffff332211,%al
mov 0xffffffffff332211,%ax
mov 0xffffffffff332211,%eax
mov 0xffffffffff332211,%rax
mov %al,0xffffffffff332211
mov %ax,0xffffffffff332211
mov %eax,0xffffffffff332211
mov %rax,0xffffffffff332211
movb 0xffffffffff332211,%al
movw 0xffffffffff332211,%ax
movl 0xffffffffff332211,%eax
movq 0xffffffffff332211,%rax
movb %al,0xffffffffff332211
movw %ax,0xffffffffff332211
movl %eax,0xffffffffff332211
movq %rax,0xffffffffff332211

cmpxchg16b (%rax)

.intel_syntax noprefix
cmpxchg16b oword ptr [rax]

.att_syntax
	movsx	%al, %si
	movsx	%al, %esi
	movsx	%al, %rsi
	movsx	%ax, %esi
	movsx	%ax, %rsi
	movsx	%eax, %rsi
	movsx	(%rax), %dx
	movsbl	(%rax), %edx
	movsbq	(%rax), %rdx
	movsbw	(%rax), %dx
	movswl	(%rax), %edx
	movswq	(%rax), %rdx

	movzx	%al, %si
	movzx	%al, %esi
	movzx	%al, %rsi
	movzx	%ax, %esi
	movzx	%ax, %rsi
	movzx	(%rax), %dx
	movzb	(%rax), %edx
	movzb	(%rax), %rdx
	movzb	(%rax), %dx
	movzbl	(%rax), %edx
	movzbq	(%rax), %rdx
	movzbw	(%rax), %dx
	movzwl	(%rax), %edx
	movzwq	(%rax), %rdx

	.intel_syntax noprefix
	movsx	si,al
	movsx	esi,al
	movsx	rsi,al
	movsx	esi,ax
	movsx	rsi,ax
	movsx	rsi,eax
	movsx	edx,BYTE PTR [rax]
	movsx	rdx,BYTE PTR [rax]
	movsx	dx,BYTE PTR [rax]
	movsx	edx,WORD PTR [rax]
	movsx	rdx,WORD PTR [rax]

	movzx	si,al
	movzx	esi,al
	movzx	rsi,al
	movzx	esi,ax
	movzx	rsi,ax
	movzx	edx,BYTE PTR [rax]
	movzx	rdx,BYTE PTR [rax]
	movzx	dx,BYTE PTR [rax]
	movzx	edx,WORD PTR [rax]
	movzx	rdx,WORD PTR [rax]

	movq	xmm1,QWORD PTR [rsp]
	movq	xmm1,[rsp]
	movq	QWORD PTR [rsp],xmm1
	movq	[rsp],xmm1

.att_syntax
	fnstsw
	fnstsw	%ax
	fstsw
	fstsw	%ax

	.intel_syntax noprefix
	fnstsw
	fnstsw	ax
	fstsw
	fstsw	ax

.att_syntax
movsx (%rax),%ax
movsxb	(%rax), %dx
movsxb	(%rax), %edx
movsxb	(%rax), %rdx
movsxw	(%rax), %edx
movsxw	(%rax), %rdx
movsxl	(%rax), %rdx
movsxd (%rax),%rax
movzx (%rax),%ax
movzxb	(%rax), %dx
movzxb	(%rax), %edx
movzxb	(%rax), %rdx
movzxw	(%rax), %edx
movzxw	(%rax), %rdx

movnti %eax, (%rax)
movntil %eax, (%rax)
movnti %rax, (%rax)
movntiq %rax, (%rax)

.intel_syntax noprefix

movsx ax, BYTE PTR [rax]
movsx eax, BYTE PTR [rax]
movsx eax, WORD PTR [rax]
movsx rax, WORD PTR [rax]
movsx rax, DWORD PTR [rax]
movsxd rax, [rax]
movzx ax, BYTE PTR [rax]
movzx eax, BYTE PTR [rax]
movzx eax, WORD PTR [rax]
movzx rax, WORD PTR [rax]

movnti dword ptr [rax], eax
movnti qword ptr [rax], rax

mov eax, tr1
mov tr0, rcx
