File: amd.s

package info (click to toggle)
binutils 2.17-3%2Betch1
  • links: PTS
  • area: main
  • in suites: etch
  • size: 113,888 kB
  • ctags: 124,514
  • sloc: ansic: 839,382; asm: 272,634; exp: 47,779; makefile: 44,950; sh: 17,107; yacc: 9,818; lisp: 8,739; lex: 2,082; perl: 1,401; cpp: 1,336; sed: 306; pascal: 175; awk: 26
file content (33 lines) | stat: -rw-r--r-- 745 bytes parent folder | download | duplicates (15)
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
#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

# 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

# Pad out to a good alignment
 .byte 0x90,0x90,0x90,0x90,0x90,0x90