Mercurial > libavcodec.hg
comparison ps2/mmi.h @ 721:71f669e9f633 libavcodec
ps2 optimizations update patch by (Leon van Stuivenberg <leonvs at iae dot nl>)
author | michaelni |
---|---|
date | Thu, 03 Oct 2002 20:57:19 +0000 |
parents | efcbfbd18864 |
children | bfabfdf9ce55 |
comparison
equal
deleted
inserted
replaced
720:409bdaa0b964 | 721:71f669e9f633 |
---|---|
45 #define lq2(mem, reg) \ | 45 #define lq2(mem, reg) \ |
46 __asm__ __volatile__ ("lq " #reg ", %0" : : "r" (mem)) | 46 __asm__ __volatile__ ("lq " #reg ", %0" : : "r" (mem)) |
47 | 47 |
48 #define sq(reg, off, base) \ | 48 #define sq(reg, off, base) \ |
49 __asm__ __volatile__ ("sq " #reg ", %0("#base ")" : : "i" (off) ) | 49 __asm__ __volatile__ ("sq " #reg ", %0("#base ")" : : "i" (off) ) |
50 | |
51 /* | |
52 #define ld(base, off, reg) \ | |
53 __asm__ __volatile__ ("ld " #reg ", " #off "("#base ")") | |
54 */ | |
55 | |
56 #define ld3(base, off, reg) \ | |
57 __asm__ __volatile__ (".word %0" : : "i" ( 0xdc000000 | (base<<21) | (reg<<16) | (off))) | |
58 | |
59 #define ldr3(base, off, reg) \ | |
60 __asm__ __volatile__ (".word %0" : : "i" ( 0x6c000000 | (base<<21) | (reg<<16) | (off))) | |
61 | |
62 #define ldl3(base, off, reg) \ | |
63 __asm__ __volatile__ (".word %0" : : "i" ( 0x68000000 | (base<<21) | (reg<<16) | (off))) | |
50 | 64 |
51 /* | 65 /* |
52 #define sd(reg, off, base) \ | 66 #define sd(reg, off, base) \ |
53 __asm__ __volatile__ ("sd " #reg ", " #off "("#base ")") | 67 __asm__ __volatile__ ("sd " #reg ", " #off "("#base ")") |
54 */ | 68 */ |
114 __asm__ __volatile__ ("pmaxh " #rd ", " #rs ", " #rt ) | 128 __asm__ __volatile__ ("pmaxh " #rd ", " #rs ", " #rt ) |
115 | 129 |
116 #define pminh(rs, rt, rd) \ | 130 #define pminh(rs, rt, rd) \ |
117 __asm__ __volatile__ ("pminh " #rd ", " #rs ", " #rt ) | 131 __asm__ __volatile__ ("pminh " #rd ", " #rs ", " #rt ) |
118 | 132 |
133 #define pinteh(rs, rt, rd) \ | |
134 __asm__ __volatile__ ("pinteh " #rd ", " #rs ", " #rt ) | |
135 | |
136 #define paddh(rs, rt, rd) \ | |
137 __asm__ __volatile__ ("paddh " #rd ", " #rs ", " #rt ) | |
138 | |
139 #define psubh(rs, rt, rd) \ | |
140 __asm__ __volatile__ ("psubh " #rd ", " #rs ", " #rt ) | |
141 | |
142 #define psrah(rt, sa, rd) \ | |
143 __asm__ __volatile__ ("psrah " #rd ", " #rt ", %0" : : "i"(sa) ) | |
144 | |
145 #define pmfhl_uw(rd) \ | |
146 __asm__ __volatile__ ("pmfhl.uw " #rd) | |
147 | |
148 #define pextlb(rs, rt, rd) \ | |
149 __asm__ __volatile__ ("pextlb " #rd ", " #rs ", " #rt ) | |
119 | 150 |
120 #endif | 151 #endif |
152 |