Revision 4ecc3190 target-ppc/op.c
b/target-ppc/op.c | ||
---|---|---|
32 | 32 |
#define FT1 (env->ft1) |
33 | 33 |
#define FT2 (env->ft2) |
34 | 34 |
|
35 |
#define FTS0 ((float)env->ft0) |
|
36 |
#define FTS1 ((float)env->ft1) |
|
37 |
#define FTS2 ((float)env->ft2) |
|
38 |
|
|
39 | 35 |
#define PPC_OP(name) void glue(op_, name)(void) |
40 | 36 |
|
41 | 37 |
#define REG 0 |
... | ... | |
1204 | 1200 |
RETURN(); |
1205 | 1201 |
} |
1206 | 1202 |
|
1207 |
/* fadds - fadds. */ |
|
1208 |
PPC_OP(fadds) |
|
1209 |
{ |
|
1210 |
FT0 = FTS0 + FTS1; |
|
1211 |
RETURN(); |
|
1212 |
} |
|
1213 |
|
|
1214 | 1203 |
/* fsub - fsub. */ |
1215 | 1204 |
PPC_OP(fsub) |
1216 | 1205 |
{ |
... | ... | |
1218 | 1207 |
RETURN(); |
1219 | 1208 |
} |
1220 | 1209 |
|
1221 |
/* fsubs - fsubs. */ |
|
1222 |
PPC_OP(fsubs) |
|
1223 |
{ |
|
1224 |
FT0 = FTS0 - FTS1; |
|
1225 |
RETURN(); |
|
1226 |
} |
|
1227 |
|
|
1228 | 1210 |
/* fmul - fmul. */ |
1229 | 1211 |
PPC_OP(fmul) |
1230 | 1212 |
{ |
... | ... | |
1232 | 1214 |
RETURN(); |
1233 | 1215 |
} |
1234 | 1216 |
|
1235 |
/* fmuls - fmuls. */ |
|
1236 |
PPC_OP(fmuls) |
|
1237 |
{ |
|
1238 |
FT0 = FTS0 * FTS1; |
|
1239 |
RETURN(); |
|
1240 |
} |
|
1241 |
|
|
1242 | 1217 |
/* fdiv - fdiv. */ |
1218 |
void do_fdiv (void); |
|
1243 | 1219 |
PPC_OP(fdiv) |
1244 | 1220 |
{ |
1245 |
FT0 /= FT1; |
|
1246 |
RETURN(); |
|
1247 |
} |
|
1248 |
|
|
1249 |
/* fdivs - fdivs. */ |
|
1250 |
PPC_OP(fdivs) |
|
1251 |
{ |
|
1252 |
FT0 = FTS0 / FTS1; |
|
1221 |
do_fdiv(); |
|
1253 | 1222 |
RETURN(); |
1254 | 1223 |
} |
1255 | 1224 |
|
... | ... | |
1260 | 1229 |
RETURN(); |
1261 | 1230 |
} |
1262 | 1231 |
|
1263 |
/* fsqrts - fsqrts. */ |
|
1264 |
PPC_OP(fsqrts) |
|
1265 |
{ |
|
1266 |
do_fsqrts(); |
|
1267 |
RETURN(); |
|
1268 |
} |
|
1269 |
|
|
1270 | 1232 |
/* fres - fres. */ |
1271 | 1233 |
PPC_OP(fres) |
1272 | 1234 |
{ |
... | ... | |
1277 | 1239 |
/* frsqrte - frsqrte. */ |
1278 | 1240 |
PPC_OP(frsqrte) |
1279 | 1241 |
{ |
1280 |
do_fsqrte(); |
|
1242 |
do_frsqrte();
|
|
1281 | 1243 |
RETURN(); |
1282 | 1244 |
} |
1283 | 1245 |
|
... | ... | |
1296 | 1258 |
RETURN(); |
1297 | 1259 |
} |
1298 | 1260 |
|
1299 |
/* fmadds - fmadds. */ |
|
1300 |
PPC_OP(fmadds) |
|
1301 |
{ |
|
1302 |
FT0 = (FTS0 * FTS1) + FTS2; |
|
1303 |
RETURN(); |
|
1304 |
} |
|
1305 |
|
|
1306 | 1261 |
/* fmsub - fmsub. */ |
1307 | 1262 |
PPC_OP(fmsub) |
1308 | 1263 |
{ |
... | ... | |
1310 | 1265 |
RETURN(); |
1311 | 1266 |
} |
1312 | 1267 |
|
1313 |
/* fmsubs - fmsubs. */ |
|
1314 |
PPC_OP(fmsubs) |
|
1315 |
{ |
|
1316 |
FT0 = (FTS0 * FTS1) - FTS2; |
|
1317 |
RETURN(); |
|
1318 |
} |
|
1319 |
|
|
1320 | 1268 |
/* fnmadd - fnmadd. - fnmadds - fnmadds. */ |
1321 | 1269 |
PPC_OP(fnmadd) |
1322 | 1270 |
{ |
... | ... | |
1324 | 1272 |
RETURN(); |
1325 | 1273 |
} |
1326 | 1274 |
|
1327 |
/* fnmadds - fnmadds. */ |
|
1328 |
PPC_OP(fnmadds) |
|
1329 |
{ |
|
1330 |
do_fnmadds(); |
|
1331 |
RETURN(); |
|
1332 |
} |
|
1333 |
|
|
1334 | 1275 |
/* fnmsub - fnmsub. */ |
1335 | 1276 |
PPC_OP(fnmsub) |
1336 | 1277 |
{ |
... | ... | |
1338 | 1279 |
RETURN(); |
1339 | 1280 |
} |
1340 | 1281 |
|
1341 |
/* fnmsubs - fnmsubs. */ |
|
1342 |
PPC_OP(fnmsubs) |
|
1343 |
{ |
|
1344 |
do_fnmsubs(); |
|
1345 |
RETURN(); |
|
1346 |
} |
|
1347 |
|
|
1348 | 1282 |
/*** Floating-Point round & convert ***/ |
1349 | 1283 |
/* frsp - frsp. */ |
1350 | 1284 |
PPC_OP(frsp) |
... | ... | |
1385 | 1319 |
|
1386 | 1320 |
/*** Floating-point move ***/ |
1387 | 1321 |
/* fabs */ |
1322 |
void do_fabs (void); |
|
1388 | 1323 |
PPC_OP(fabs) |
1389 | 1324 |
{ |
1390 | 1325 |
do_fabs(); |
... | ... | |
1392 | 1327 |
} |
1393 | 1328 |
|
1394 | 1329 |
/* fnabs */ |
1330 |
void do_fnabs (void); |
|
1395 | 1331 |
PPC_OP(fnabs) |
1396 | 1332 |
{ |
1397 | 1333 |
do_fnabs(); |
Also available in: Unified diff