Mercurial > libavcodec.hg
comparison ps2/mmi.h @ 8031:eebc7209c47f libavcodec
Convert asm keyword into __asm__.
Neither the asm() nor the __asm__() keyword is part of the C99
standard, but while GCC accepts the former in C89 syntax, it is not
accepted in C99 unless GNU extensions are turned on (with -fasm). The
latter form is accepted in any syntax as an extension (without
requiring further command-line options).
Sun Studio C99 compiler also does not accept asm() while accepting
__asm__(), albeit reporting warnings that it's not valid C99 syntax.
author | flameeyes |
---|---|
date | Thu, 16 Oct 2008 13:34:09 +0000 |
parents | c4a4495715dd |
children |
comparison
equal
deleted
inserted
replaced
8030:a512ac8fa540 | 8031:eebc7209c47f |
---|---|
58 #define r31 $ra //return addr | 58 #define r31 $ra //return addr |
59 */ | 59 */ |
60 | 60 |
61 | 61 |
62 #define lq(base, off, reg) \ | 62 #define lq(base, off, reg) \ |
63 asm volatile ("lq " #reg ", %0("#base ")" : : "i" (off) ) | 63 __asm__ volatile ("lq " #reg ", %0("#base ")" : : "i" (off) ) |
64 | 64 |
65 #define lq2(mem, reg) \ | 65 #define lq2(mem, reg) \ |
66 asm volatile ("lq " #reg ", %0" : : "r" (mem)) | 66 __asm__ volatile ("lq " #reg ", %0" : : "r" (mem)) |
67 | 67 |
68 #define sq(reg, off, base) \ | 68 #define sq(reg, off, base) \ |
69 asm volatile ("sq " #reg ", %0("#base ")" : : "i" (off) ) | 69 __asm__ volatile ("sq " #reg ", %0("#base ")" : : "i" (off) ) |
70 | 70 |
71 /* | 71 /* |
72 #define ld(base, off, reg) \ | 72 #define ld(base, off, reg) \ |
73 asm volatile ("ld " #reg ", " #off "("#base ")") | 73 __asm__ volatile ("ld " #reg ", " #off "("#base ")") |
74 */ | 74 */ |
75 | 75 |
76 #define ld3(base, off, reg) \ | 76 #define ld3(base, off, reg) \ |
77 asm volatile (".word %0" : : "i" ( 0xdc000000 | (base<<21) | (reg<<16) | (off))) | 77 __asm__ volatile (".word %0" : : "i" ( 0xdc000000 | (base<<21) | (reg<<16) | (off))) |
78 | 78 |
79 #define ldr3(base, off, reg) \ | 79 #define ldr3(base, off, reg) \ |
80 asm volatile (".word %0" : : "i" ( 0x6c000000 | (base<<21) | (reg<<16) | (off))) | 80 __asm__ volatile (".word %0" : : "i" ( 0x6c000000 | (base<<21) | (reg<<16) | (off))) |
81 | 81 |
82 #define ldl3(base, off, reg) \ | 82 #define ldl3(base, off, reg) \ |
83 asm volatile (".word %0" : : "i" ( 0x68000000 | (base<<21) | (reg<<16) | (off))) | 83 __asm__ volatile (".word %0" : : "i" ( 0x68000000 | (base<<21) | (reg<<16) | (off))) |
84 | 84 |
85 /* | 85 /* |
86 #define sd(reg, off, base) \ | 86 #define sd(reg, off, base) \ |
87 asm volatile ("sd " #reg ", " #off "("#base ")") | 87 __asm__ volatile ("sd " #reg ", " #off "("#base ")") |
88 */ | 88 */ |
89 //seems assembler has bug encoding mnemonic 'sd', so DIY | 89 //seems assembler has bug encoding mnemonic 'sd', so DIY |
90 #define sd3(reg, off, base) \ | 90 #define sd3(reg, off, base) \ |
91 asm volatile (".word %0" : : "i" ( 0xfc000000 | (base<<21) | (reg<<16) | (off))) | 91 __asm__ volatile (".word %0" : : "i" ( 0xfc000000 | (base<<21) | (reg<<16) | (off))) |
92 | 92 |
93 #define sw(reg, off, base) \ | 93 #define sw(reg, off, base) \ |
94 asm volatile ("sw " #reg ", " #off "("#base ")") | 94 __asm__ volatile ("sw " #reg ", " #off "("#base ")") |
95 | 95 |
96 #define sq2(reg, mem) \ | 96 #define sq2(reg, mem) \ |
97 asm volatile ("sq " #reg ", %0" : : "m" (*(mem))) | 97 __asm__ volatile ("sq " #reg ", %0" : : "m" (*(mem))) |
98 | 98 |
99 #define pinth(rs, rt, rd) \ | 99 #define pinth(rs, rt, rd) \ |
100 asm volatile ("pinth " #rd ", " #rs ", " #rt ) | 100 __asm__ volatile ("pinth " #rd ", " #rs ", " #rt ) |
101 | 101 |
102 #define phmadh(rs, rt, rd) \ | 102 #define phmadh(rs, rt, rd) \ |
103 asm volatile ("phmadh " #rd ", " #rs ", " #rt ) | 103 __asm__ volatile ("phmadh " #rd ", " #rs ", " #rt ) |
104 | 104 |
105 #define pcpyud(rs, rt, rd) \ | 105 #define pcpyud(rs, rt, rd) \ |
106 asm volatile ("pcpyud " #rd ", " #rs ", " #rt ) | 106 __asm__ volatile ("pcpyud " #rd ", " #rs ", " #rt ) |
107 | 107 |
108 #define pcpyld(rs, rt, rd) \ | 108 #define pcpyld(rs, rt, rd) \ |
109 asm volatile ("pcpyld " #rd ", " #rs ", " #rt ) | 109 __asm__ volatile ("pcpyld " #rd ", " #rs ", " #rt ) |
110 | 110 |
111 #define pcpyh(rt, rd) \ | 111 #define pcpyh(rt, rd) \ |
112 asm volatile ("pcpyh " #rd ", " #rt ) | 112 __asm__ volatile ("pcpyh " #rd ", " #rt ) |
113 | 113 |
114 #define paddw(rs, rt, rd) \ | 114 #define paddw(rs, rt, rd) \ |
115 asm volatile ("paddw " #rd ", " #rs ", " #rt ) | 115 __asm__ volatile ("paddw " #rd ", " #rs ", " #rt ) |
116 | 116 |
117 #define pextlw(rs, rt, rd) \ | 117 #define pextlw(rs, rt, rd) \ |
118 asm volatile ("pextlw " #rd ", " #rs ", " #rt ) | 118 __asm__ volatile ("pextlw " #rd ", " #rs ", " #rt ) |
119 | 119 |
120 #define pextuw(rs, rt, rd) \ | 120 #define pextuw(rs, rt, rd) \ |
121 asm volatile ("pextuw " #rd ", " #rs ", " #rt ) | 121 __asm__ volatile ("pextuw " #rd ", " #rs ", " #rt ) |
122 | 122 |
123 #define pextlh(rs, rt, rd) \ | 123 #define pextlh(rs, rt, rd) \ |
124 asm volatile ("pextlh " #rd ", " #rs ", " #rt ) | 124 __asm__ volatile ("pextlh " #rd ", " #rs ", " #rt ) |
125 | 125 |
126 #define pextuh(rs, rt, rd) \ | 126 #define pextuh(rs, rt, rd) \ |
127 asm volatile ("pextuh " #rd ", " #rs ", " #rt ) | 127 __asm__ volatile ("pextuh " #rd ", " #rs ", " #rt ) |
128 | 128 |
129 #define psubw(rs, rt, rd) \ | 129 #define psubw(rs, rt, rd) \ |
130 asm volatile ("psubw " #rd ", " #rs ", " #rt ) | 130 __asm__ volatile ("psubw " #rd ", " #rs ", " #rt ) |
131 | 131 |
132 #define psraw(rt, sa, rd) \ | 132 #define psraw(rt, sa, rd) \ |
133 asm volatile ("psraw " #rd ", " #rt ", %0" : : "i"(sa) ) | 133 __asm__ volatile ("psraw " #rd ", " #rt ", %0" : : "i"(sa) ) |
134 | 134 |
135 #define ppach(rs, rt, rd) \ | 135 #define ppach(rs, rt, rd) \ |
136 asm volatile ("ppach " #rd ", " #rs ", " #rt ) | 136 __asm__ volatile ("ppach " #rd ", " #rs ", " #rt ) |
137 | 137 |
138 #define ppacb(rs, rt, rd) \ | 138 #define ppacb(rs, rt, rd) \ |
139 asm volatile ("ppacb " #rd ", " #rs ", " #rt ) | 139 __asm__ volatile ("ppacb " #rd ", " #rs ", " #rt ) |
140 | 140 |
141 #define prevh(rt, rd) \ | 141 #define prevh(rt, rd) \ |
142 asm volatile ("prevh " #rd ", " #rt ) | 142 __asm__ volatile ("prevh " #rd ", " #rt ) |
143 | 143 |
144 #define pmulth(rs, rt, rd) \ | 144 #define pmulth(rs, rt, rd) \ |
145 asm volatile ("pmulth " #rd ", " #rs ", " #rt ) | 145 __asm__ volatile ("pmulth " #rd ", " #rs ", " #rt ) |
146 | 146 |
147 #define pmaxh(rs, rt, rd) \ | 147 #define pmaxh(rs, rt, rd) \ |
148 asm volatile ("pmaxh " #rd ", " #rs ", " #rt ) | 148 __asm__ volatile ("pmaxh " #rd ", " #rs ", " #rt ) |
149 | 149 |
150 #define pminh(rs, rt, rd) \ | 150 #define pminh(rs, rt, rd) \ |
151 asm volatile ("pminh " #rd ", " #rs ", " #rt ) | 151 __asm__ volatile ("pminh " #rd ", " #rs ", " #rt ) |
152 | 152 |
153 #define pinteh(rs, rt, rd) \ | 153 #define pinteh(rs, rt, rd) \ |
154 asm volatile ("pinteh " #rd ", " #rs ", " #rt ) | 154 __asm__ volatile ("pinteh " #rd ", " #rs ", " #rt ) |
155 | 155 |
156 #define paddh(rs, rt, rd) \ | 156 #define paddh(rs, rt, rd) \ |
157 asm volatile ("paddh " #rd ", " #rs ", " #rt ) | 157 __asm__ volatile ("paddh " #rd ", " #rs ", " #rt ) |
158 | 158 |
159 #define psubh(rs, rt, rd) \ | 159 #define psubh(rs, rt, rd) \ |
160 asm volatile ("psubh " #rd ", " #rs ", " #rt ) | 160 __asm__ volatile ("psubh " #rd ", " #rs ", " #rt ) |
161 | 161 |
162 #define psrah(rt, sa, rd) \ | 162 #define psrah(rt, sa, rd) \ |
163 asm volatile ("psrah " #rd ", " #rt ", %0" : : "i"(sa) ) | 163 __asm__ volatile ("psrah " #rd ", " #rt ", %0" : : "i"(sa) ) |
164 | 164 |
165 #define pmfhl_uw(rd) \ | 165 #define pmfhl_uw(rd) \ |
166 asm volatile ("pmfhl.uw " #rd) | 166 __asm__ volatile ("pmfhl.uw " #rd) |
167 | 167 |
168 #define pextlb(rs, rt, rd) \ | 168 #define pextlb(rs, rt, rd) \ |
169 asm volatile ("pextlb " #rd ", " #rs ", " #rt ) | 169 __asm__ volatile ("pextlb " #rd ", " #rs ", " #rt ) |
170 | 170 |
171 #endif /* AVCODEC_PS2_MMI_H */ | 171 #endif /* AVCODEC_PS2_MMI_H */ |