Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(503)

Side by Side Diff: src/ia32/assembler-ia32.h

Issue 1044793002: [turbofan] Add backend support for float32 operations. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Add MachineOperator unit tests. Created 5 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 1994-2006 Sun Microsystems Inc. 1 // Copyright (c) 1994-2006 Sun Microsystems Inc.
2 // All Rights Reserved. 2 // All Rights Reserved.
3 // 3 //
4 // Redistribution and use in source and binary forms, with or without 4 // Redistribution and use in source and binary forms, with or without
5 // modification, are permitted provided that the following conditions are 5 // modification, are permitted provided that the following conditions are
6 // met: 6 // met:
7 // 7 //
8 // - Redistributions of source code must retain the above copyright notice, 8 // - Redistributions of source code must retain the above copyright notice,
9 // this list of conditions and the following disclaimer. 9 // this list of conditions and the following disclaimer.
10 // 10 //
(...skipping 936 matching lines...) Expand 10 before | Expand all | Expand 10 after
947 947
948 // SSE instructions 948 // SSE instructions
949 void addss(XMMRegister dst, XMMRegister src) { addss(dst, Operand(src)); } 949 void addss(XMMRegister dst, XMMRegister src) { addss(dst, Operand(src)); }
950 void addss(XMMRegister dst, const Operand& src); 950 void addss(XMMRegister dst, const Operand& src);
951 void subss(XMMRegister dst, XMMRegister src) { subss(dst, Operand(src)); } 951 void subss(XMMRegister dst, XMMRegister src) { subss(dst, Operand(src)); }
952 void subss(XMMRegister dst, const Operand& src); 952 void subss(XMMRegister dst, const Operand& src);
953 void mulss(XMMRegister dst, XMMRegister src) { mulss(dst, Operand(src)); } 953 void mulss(XMMRegister dst, XMMRegister src) { mulss(dst, Operand(src)); }
954 void mulss(XMMRegister dst, const Operand& src); 954 void mulss(XMMRegister dst, const Operand& src);
955 void divss(XMMRegister dst, XMMRegister src) { divss(dst, Operand(src)); } 955 void divss(XMMRegister dst, XMMRegister src) { divss(dst, Operand(src)); }
956 void divss(XMMRegister dst, const Operand& src); 956 void divss(XMMRegister dst, const Operand& src);
957 void sqrtss(XMMRegister dst, XMMRegister src) { sqrtss(dst, Operand(src)); }
958 void sqrtss(XMMRegister dst, const Operand& src);
957 959
958 void ucomiss(XMMRegister dst, XMMRegister src) { ucomiss(dst, Operand(src)); } 960 void ucomiss(XMMRegister dst, XMMRegister src) { ucomiss(dst, Operand(src)); }
959 void ucomiss(XMMRegister dst, const Operand& src); 961 void ucomiss(XMMRegister dst, const Operand& src);
960 void movaps(XMMRegister dst, XMMRegister src); 962 void movaps(XMMRegister dst, XMMRegister src);
961 void shufps(XMMRegister dst, XMMRegister src, byte imm8); 963 void shufps(XMMRegister dst, XMMRegister src, byte imm8);
962 964
965 void maxss(XMMRegister dst, XMMRegister src) { maxss(dst, Operand(src)); }
966 void maxss(XMMRegister dst, const Operand& src);
967 void minss(XMMRegister dst, XMMRegister src) { minss(dst, Operand(src)); }
968 void minss(XMMRegister dst, const Operand& src);
969
963 void andps(XMMRegister dst, const Operand& src); 970 void andps(XMMRegister dst, const Operand& src);
964 void andps(XMMRegister dst, XMMRegister src) { andps(dst, Operand(src)); } 971 void andps(XMMRegister dst, XMMRegister src) { andps(dst, Operand(src)); }
965 void xorps(XMMRegister dst, const Operand& src); 972 void xorps(XMMRegister dst, const Operand& src);
966 void xorps(XMMRegister dst, XMMRegister src) { xorps(dst, Operand(src)); } 973 void xorps(XMMRegister dst, XMMRegister src) { xorps(dst, Operand(src)); }
967 void orps(XMMRegister dst, const Operand& src); 974 void orps(XMMRegister dst, const Operand& src);
968 void orps(XMMRegister dst, XMMRegister src) { orps(dst, Operand(src)); } 975 void orps(XMMRegister dst, XMMRegister src) { orps(dst, Operand(src)); }
969 976
970 void addps(XMMRegister dst, const Operand& src); 977 void addps(XMMRegister dst, const Operand& src);
971 void addps(XMMRegister dst, XMMRegister src) { addps(dst, Operand(src)); } 978 void addps(XMMRegister dst, XMMRegister src) { addps(dst, Operand(src)); }
972 void subps(XMMRegister dst, const Operand& src); 979 void subps(XMMRegister dst, const Operand& src);
(...skipping 289 matching lines...) Expand 10 before | Expand all | Expand 10 after
1262 vsd(0x5f, dst, src1, src2); 1269 vsd(0x5f, dst, src1, src2);
1263 } 1270 }
1264 void vminsd(XMMRegister dst, XMMRegister src1, XMMRegister src2) { 1271 void vminsd(XMMRegister dst, XMMRegister src1, XMMRegister src2) {
1265 vminsd(dst, src1, Operand(src2)); 1272 vminsd(dst, src1, Operand(src2));
1266 } 1273 }
1267 void vminsd(XMMRegister dst, XMMRegister src1, const Operand& src2) { 1274 void vminsd(XMMRegister dst, XMMRegister src1, const Operand& src2) {
1268 vsd(0x5d, dst, src1, src2); 1275 vsd(0x5d, dst, src1, src2);
1269 } 1276 }
1270 void vsd(byte op, XMMRegister dst, XMMRegister src1, const Operand& src2); 1277 void vsd(byte op, XMMRegister dst, XMMRegister src1, const Operand& src2);
1271 1278
1279 void vaddss(XMMRegister dst, XMMRegister src1, XMMRegister src2) {
1280 vaddss(dst, src1, Operand(src2));
1281 }
1282 void vaddss(XMMRegister dst, XMMRegister src1, const Operand& src2) {
1283 vss(0x58, dst, src1, src2);
1284 }
1285 void vsubss(XMMRegister dst, XMMRegister src1, XMMRegister src2) {
1286 vsubss(dst, src1, Operand(src2));
1287 }
1288 void vsubss(XMMRegister dst, XMMRegister src1, const Operand& src2) {
1289 vss(0x5c, dst, src1, src2);
1290 }
1291 void vmulss(XMMRegister dst, XMMRegister src1, XMMRegister src2) {
1292 vmulss(dst, src1, Operand(src2));
1293 }
1294 void vmulss(XMMRegister dst, XMMRegister src1, const Operand& src2) {
1295 vss(0x59, dst, src1, src2);
1296 }
1297 void vdivss(XMMRegister dst, XMMRegister src1, XMMRegister src2) {
1298 vdivss(dst, src1, Operand(src2));
1299 }
1300 void vdivss(XMMRegister dst, XMMRegister src1, const Operand& src2) {
1301 vss(0x5e, dst, src1, src2);
1302 }
1303 void vmaxss(XMMRegister dst, XMMRegister src1, XMMRegister src2) {
1304 vmaxss(dst, src1, Operand(src2));
1305 }
1306 void vmaxss(XMMRegister dst, XMMRegister src1, const Operand& src2) {
1307 vss(0x5f, dst, src1, src2);
1308 }
1309 void vminss(XMMRegister dst, XMMRegister src1, XMMRegister src2) {
1310 vminss(dst, src1, Operand(src2));
1311 }
1312 void vminss(XMMRegister dst, XMMRegister src1, const Operand& src2) {
1313 vss(0x5d, dst, src1, src2);
1314 }
1315 void vss(byte op, XMMRegister dst, XMMRegister src1, const Operand& src2);
1316
1272 // Prefetch src position into cache level. 1317 // Prefetch src position into cache level.
1273 // Level 1, 2 or 3 specifies CPU cache level. Level 0 specifies a 1318 // Level 1, 2 or 3 specifies CPU cache level. Level 0 specifies a
1274 // non-temporal 1319 // non-temporal
1275 void prefetch(const Operand& src, int level); 1320 void prefetch(const Operand& src, int level);
1276 // TODO(lrn): Need SFENCE for movnt? 1321 // TODO(lrn): Need SFENCE for movnt?
1277 1322
1278 // Check the code size generated from label to here. 1323 // Check the code size generated from label to here.
1279 int SizeOfCodeGeneratedSince(Label* label) { 1324 int SizeOfCodeGeneratedSince(Label* label) {
1280 return pc_offset() - label->pos(); 1325 return pc_offset() - label->pos();
1281 } 1326 }
(...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after
1438 private: 1483 private:
1439 Assembler* assembler_; 1484 Assembler* assembler_;
1440 #ifdef DEBUG 1485 #ifdef DEBUG
1441 int space_before_; 1486 int space_before_;
1442 #endif 1487 #endif
1443 }; 1488 };
1444 1489
1445 } } // namespace v8::internal 1490 } } // namespace v8::internal
1446 1491
1447 #endif // V8_IA32_ASSEMBLER_IA32_H_ 1492 #endif // V8_IA32_ASSEMBLER_IA32_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698