File: amd.s

package info (click to toggle)
binutils 2.31.1-16
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 309,412 kB
  • sloc: ansic: 1,161,194; asm: 638,508; cpp: 128,829; exp: 68,580; makefile: 55,828; sh: 22,360; yacc: 14,238; lisp: 13,272; perl: 2,111; ada: 1,681; lex: 1,652; pascal: 1,446; cs: 879; sed: 195; python: 154; xml: 95; awk: 25
file content (35 lines) | stat: -rw-r--r-- 704 bytes parent folder | download | duplicates (24)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#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