#AMD 3DNow! instructions

.text
foo:
 prefetch	(%ebx)
 prefetchw	0x1000(,%esi,2)
 femms
 pavgusb	(%eax),%mm0
 pf2id		2(%eax),%mm1
 pfacc		0x100(%eax),%mm2
 pfadd		(%esi),%mm3
 pfcmpeq	2(%esi),%mm4
 pfcmpge	0x9090(%esi),%mm5
 pfcmpgt	(%ebp,%esi,2),%mm6
 pfmax		2(%ebp,%esi,2),%mm7
 pfmin		0x90909090(%ebp,%esi,2),%mm0
 pfmul		4,%mm1
 pfrcp		%cs:7(%ebx,%eax,8),%mm2
 pfrcpit1	%mm0,%mm3
 pfrcpit2	%mm1,%mm4
 pfrsqit1	%mm2,%mm5
 pfrsqrt	%mm3,%mm6
 pfsub		%mm4,%mm7
 pfsubr		%mm5,%mm0
 pi2fd		%mm6,%mm1
 pmulhrw	%mm7,%mm2

 syscall
 sysret

 rdtscp

# This is a 3DNow! instruction, with a prefix, that isn't quite right
# Everything's good bar the opcode suffix
.byte 0x2e, 0x0f, 0x0f, 0x54, 0xc3, 0x07, 0xc3
