| 1 | #AMD 3DNow! instructions |
| 2 | |
| 3 | .text |
| 4 | foo: |
| 5 | prefetch (%ebx) |
| 6 | prefetchw 0x1000(,%esi,2) |
| 7 | femms |
| 8 | pavgusb (%eax),%mm0 |
| 9 | pf2id 2(%eax),%mm1 |
| 10 | pfacc 0x100(%eax),%mm2 |
| 11 | pfadd (%esi),%mm3 |
| 12 | pfcmpeq 2(%esi),%mm4 |
| 13 | pfcmpge 0x9090(%esi),%mm5 |
| 14 | pfcmpgt (%ebp,%esi,2),%mm6 |
| 15 | pfmax 2(%ebp,%esi,2),%mm7 |
| 16 | pfmin 0x90909090(%ebp,%esi,2),%mm0 |
| 17 | pfmul 4,%mm1 |
| 18 | pfrcp %cs:7(%ebx,%eax,8),%mm2 |
| 19 | pfrcpit1 %mm0,%mm3 |
| 20 | pfrcpit2 %mm1,%mm4 |
| 21 | pfrsqit1 %mm2,%mm5 |
| 22 | pfrsqrt %mm3,%mm6 |
| 23 | pfsub %mm4,%mm7 |
| 24 | pfsubr %mm5,%mm0 |
| 25 | pi2fd %mm6,%mm1 |
| 26 | pmulhrw %mm7,%mm2 |
| 27 | |
| 28 | syscall |
| 29 | sysret |
| 30 | |
| 31 | rdtscp |
| 32 | |
| 33 | # This is a 3DNow! instruction, with a prefix, that isn't quite right |
| 34 | # Everything's good bar the opcode suffix |
| 35 | .byte 0x2e, 0x0f, 0x0f, 0x54, 0xc3, 0x07, 0xc3 |