OLD | NEW |
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 1004 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1015 | 1015 |
1016 void movmskpd(Register dst, XMMRegister src); | 1016 void movmskpd(Register dst, XMMRegister src); |
1017 void movmskps(Register dst, XMMRegister src); | 1017 void movmskps(Register dst, XMMRegister src); |
1018 | 1018 |
1019 void cmpltsd(XMMRegister dst, XMMRegister src); | 1019 void cmpltsd(XMMRegister dst, XMMRegister src); |
1020 void pcmpeqd(XMMRegister dst, XMMRegister src); | 1020 void pcmpeqd(XMMRegister dst, XMMRegister src); |
1021 | 1021 |
1022 void punpckldq(XMMRegister dst, XMMRegister src); | 1022 void punpckldq(XMMRegister dst, XMMRegister src); |
1023 void punpckhdq(XMMRegister dst, XMMRegister src); | 1023 void punpckhdq(XMMRegister dst, XMMRegister src); |
1024 | 1024 |
| 1025 void maxsd(XMMRegister dst, XMMRegister src) { maxsd(dst, Operand(src)); } |
| 1026 void maxsd(XMMRegister dst, const Operand& src); |
| 1027 void minsd(XMMRegister dst, XMMRegister src) { minsd(dst, Operand(src)); } |
| 1028 void minsd(XMMRegister dst, const Operand& src); |
| 1029 |
1025 void movdqa(XMMRegister dst, const Operand& src); | 1030 void movdqa(XMMRegister dst, const Operand& src); |
1026 void movdqa(const Operand& dst, XMMRegister src); | 1031 void movdqa(const Operand& dst, XMMRegister src); |
1027 void movdqu(XMMRegister dst, const Operand& src); | 1032 void movdqu(XMMRegister dst, const Operand& src); |
1028 void movdqu(const Operand& dst, XMMRegister src); | 1033 void movdqu(const Operand& dst, XMMRegister src); |
1029 void movdq(bool aligned, XMMRegister dst, const Operand& src) { | 1034 void movdq(bool aligned, XMMRegister dst, const Operand& src) { |
1030 if (aligned) { | 1035 if (aligned) { |
1031 movdqa(dst, src); | 1036 movdqa(dst, src); |
1032 } else { | 1037 } else { |
1033 movdqu(dst, src); | 1038 movdqu(dst, src); |
1034 } | 1039 } |
(...skipping 204 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1239 } | 1244 } |
1240 void vmulsd(XMMRegister dst, XMMRegister src1, const Operand& src2) { | 1245 void vmulsd(XMMRegister dst, XMMRegister src1, const Operand& src2) { |
1241 vsd(0x59, dst, src1, src2); | 1246 vsd(0x59, dst, src1, src2); |
1242 } | 1247 } |
1243 void vdivsd(XMMRegister dst, XMMRegister src1, XMMRegister src2) { | 1248 void vdivsd(XMMRegister dst, XMMRegister src1, XMMRegister src2) { |
1244 vdivsd(dst, src1, Operand(src2)); | 1249 vdivsd(dst, src1, Operand(src2)); |
1245 } | 1250 } |
1246 void vdivsd(XMMRegister dst, XMMRegister src1, const Operand& src2) { | 1251 void vdivsd(XMMRegister dst, XMMRegister src1, const Operand& src2) { |
1247 vsd(0x5e, dst, src1, src2); | 1252 vsd(0x5e, dst, src1, src2); |
1248 } | 1253 } |
| 1254 void vmaxsd(XMMRegister dst, XMMRegister src1, XMMRegister src2) { |
| 1255 vmaxsd(dst, src1, Operand(src2)); |
| 1256 } |
| 1257 void vmaxsd(XMMRegister dst, XMMRegister src1, const Operand& src2) { |
| 1258 vsd(0x5f, dst, src1, src2); |
| 1259 } |
| 1260 void vminsd(XMMRegister dst, XMMRegister src1, XMMRegister src2) { |
| 1261 vminsd(dst, src1, Operand(src2)); |
| 1262 } |
| 1263 void vminsd(XMMRegister dst, XMMRegister src1, const Operand& src2) { |
| 1264 vsd(0x5d, dst, src1, src2); |
| 1265 } |
1249 void vsd(byte op, XMMRegister dst, XMMRegister src1, const Operand& src2); | 1266 void vsd(byte op, XMMRegister dst, XMMRegister src1, const Operand& src2); |
1250 | 1267 |
1251 // Prefetch src position into cache level. | 1268 // Prefetch src position into cache level. |
1252 // Level 1, 2 or 3 specifies CPU cache level. Level 0 specifies a | 1269 // Level 1, 2 or 3 specifies CPU cache level. Level 0 specifies a |
1253 // non-temporal | 1270 // non-temporal |
1254 void prefetch(const Operand& src, int level); | 1271 void prefetch(const Operand& src, int level); |
1255 // TODO(lrn): Need SFENCE for movnt? | 1272 // TODO(lrn): Need SFENCE for movnt? |
1256 | 1273 |
1257 // Check the code size generated from label to here. | 1274 // Check the code size generated from label to here. |
1258 int SizeOfCodeGeneratedSince(Label* label) { | 1275 int SizeOfCodeGeneratedSince(Label* label) { |
(...skipping 158 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1417 private: | 1434 private: |
1418 Assembler* assembler_; | 1435 Assembler* assembler_; |
1419 #ifdef DEBUG | 1436 #ifdef DEBUG |
1420 int space_before_; | 1437 int space_before_; |
1421 #endif | 1438 #endif |
1422 }; | 1439 }; |
1423 | 1440 |
1424 } } // namespace v8::internal | 1441 } } // namespace v8::internal |
1425 | 1442 |
1426 #endif // V8_IA32_ASSEMBLER_IA32_H_ | 1443 #endif // V8_IA32_ASSEMBLER_IA32_H_ |
OLD | NEW |