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 1109 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1120 void psllw(XMMRegister reg, int8_t shift); | 1120 void psllw(XMMRegister reg, int8_t shift); |
1121 void pslld(XMMRegister reg, int8_t shift); | 1121 void pslld(XMMRegister reg, int8_t shift); |
1122 void psrlw(XMMRegister reg, int8_t shift); | 1122 void psrlw(XMMRegister reg, int8_t shift); |
1123 void psrld(XMMRegister reg, int8_t shift); | 1123 void psrld(XMMRegister reg, int8_t shift); |
1124 void psraw(XMMRegister reg, int8_t shift); | 1124 void psraw(XMMRegister reg, int8_t shift); |
1125 void psrad(XMMRegister reg, int8_t shift); | 1125 void psrad(XMMRegister reg, int8_t shift); |
1126 void psllq(XMMRegister reg, int8_t shift); | 1126 void psllq(XMMRegister reg, int8_t shift); |
1127 void psllq(XMMRegister dst, XMMRegister src); | 1127 void psllq(XMMRegister dst, XMMRegister src); |
1128 void psrlq(XMMRegister reg, int8_t shift); | 1128 void psrlq(XMMRegister reg, int8_t shift); |
1129 void psrlq(XMMRegister dst, XMMRegister src); | 1129 void psrlq(XMMRegister dst, XMMRegister src); |
1130 void pshufd(XMMRegister dst, XMMRegister src, uint8_t shuffle); | 1130 |
| 1131 void pshufd(XMMRegister dst, XMMRegister src, uint8_t shuffle) { |
| 1132 pshufd(dst, Operand(src), shuffle); |
| 1133 } |
| 1134 void pshufd(XMMRegister dst, const Operand& src, uint8_t shuffle); |
1131 void pextrd(Register dst, XMMRegister src, int8_t offset) { | 1135 void pextrd(Register dst, XMMRegister src, int8_t offset) { |
1132 pextrd(Operand(dst), src, offset); | 1136 pextrd(Operand(dst), src, offset); |
1133 } | 1137 } |
1134 void pextrd(const Operand& dst, XMMRegister src, int8_t offset); | 1138 void pextrd(const Operand& dst, XMMRegister src, int8_t offset); |
1135 void pinsrw(XMMRegister dst, Register src, int8_t offset) { | 1139 void pinsrw(XMMRegister dst, Register src, int8_t offset) { |
1136 pinsrw(dst, Operand(src), offset); | 1140 pinsrw(dst, Operand(src), offset); |
1137 } | 1141 } |
1138 void pinsrw(XMMRegister dst, const Operand& src, int8_t offset); | 1142 void pinsrw(XMMRegister dst, const Operand& src, int8_t offset); |
1139 void pinsrd(XMMRegister dst, Register src, int8_t offset) { | 1143 void pinsrd(XMMRegister dst, Register src, int8_t offset) { |
1140 pinsrd(dst, Operand(src), offset); | 1144 pinsrd(dst, Operand(src), offset); |
(...skipping 236 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1377 vinstr(0x52, dst, xmm0, src, kNone, k0F, kWIG); | 1381 vinstr(0x52, dst, xmm0, src, kNone, k0F, kWIG); |
1378 } | 1382 } |
1379 | 1383 |
1380 void vpsllw(XMMRegister dst, XMMRegister src, int8_t imm8); | 1384 void vpsllw(XMMRegister dst, XMMRegister src, int8_t imm8); |
1381 void vpslld(XMMRegister dst, XMMRegister src, int8_t imm8); | 1385 void vpslld(XMMRegister dst, XMMRegister src, int8_t imm8); |
1382 void vpsrlw(XMMRegister dst, XMMRegister src, int8_t imm8); | 1386 void vpsrlw(XMMRegister dst, XMMRegister src, int8_t imm8); |
1383 void vpsrld(XMMRegister dst, XMMRegister src, int8_t imm8); | 1387 void vpsrld(XMMRegister dst, XMMRegister src, int8_t imm8); |
1384 void vpsraw(XMMRegister dst, XMMRegister src, int8_t imm8); | 1388 void vpsraw(XMMRegister dst, XMMRegister src, int8_t imm8); |
1385 void vpsrad(XMMRegister dst, XMMRegister src, int8_t imm8); | 1389 void vpsrad(XMMRegister dst, XMMRegister src, int8_t imm8); |
1386 | 1390 |
| 1391 void vpshufd(XMMRegister dst, XMMRegister src, uint8_t shuffle) { |
| 1392 vpshufd(dst, Operand(src), shuffle); |
| 1393 } |
| 1394 void vpshufd(XMMRegister dst, const Operand& src, uint8_t shuffle); |
| 1395 void vpextrd(Register dst, XMMRegister src, int8_t offset) { |
| 1396 vpextrd(Operand(dst), src, offset); |
| 1397 } |
| 1398 void vpextrd(const Operand& dst, XMMRegister src, int8_t offset); |
| 1399 void vpinsrd(XMMRegister dst, XMMRegister src1, Register src2, |
| 1400 int8_t offset) { |
| 1401 vpinsrd(dst, src1, Operand(src2), offset); |
| 1402 } |
| 1403 void vpinsrd(XMMRegister dst, XMMRegister src1, const Operand& src2, |
| 1404 int8_t offset); |
| 1405 |
1387 void vcvtdq2ps(XMMRegister dst, XMMRegister src) { | 1406 void vcvtdq2ps(XMMRegister dst, XMMRegister src) { |
1388 vcvtdq2ps(dst, Operand(src)); | 1407 vcvtdq2ps(dst, Operand(src)); |
1389 } | 1408 } |
1390 void vcvtdq2ps(XMMRegister dst, const Operand& src) { | 1409 void vcvtdq2ps(XMMRegister dst, const Operand& src) { |
1391 vinstr(0x5B, dst, xmm0, src, kNone, k0F, kWIG); | 1410 vinstr(0x5B, dst, xmm0, src, kNone, k0F, kWIG); |
1392 } | 1411 } |
1393 void vcvttps2dq(XMMRegister dst, XMMRegister src) { | 1412 void vcvttps2dq(XMMRegister dst, XMMRegister src) { |
1394 vcvttps2dq(dst, Operand(src)); | 1413 vcvttps2dq(dst, Operand(src)); |
1395 } | 1414 } |
1396 void vcvttps2dq(XMMRegister dst, const Operand& src) { | 1415 void vcvttps2dq(XMMRegister dst, const Operand& src) { |
1397 vinstr(0x5B, dst, xmm0, src, kF3, k0F, kWIG); | 1416 vinstr(0x5B, dst, xmm0, src, kF3, k0F, kWIG); |
1398 } | 1417 } |
1399 | 1418 |
| 1419 void vmovd(XMMRegister dst, Register src) { vmovd(dst, Operand(src)); } |
| 1420 void vmovd(XMMRegister dst, const Operand& src) { |
| 1421 vinstr(0x6E, dst, xmm0, src, k66, k0F, kWIG); |
| 1422 } |
| 1423 void vmovd(Register dst, XMMRegister src) { movd(Operand(dst), src); } |
| 1424 void vmovd(const Operand& dst, XMMRegister src) { |
| 1425 vinstr(0x7E, src, xmm0, dst, k66, k0F, kWIG); |
| 1426 } |
| 1427 |
1400 // BMI instruction | 1428 // BMI instruction |
1401 void andn(Register dst, Register src1, Register src2) { | 1429 void andn(Register dst, Register src1, Register src2) { |
1402 andn(dst, src1, Operand(src2)); | 1430 andn(dst, src1, Operand(src2)); |
1403 } | 1431 } |
1404 void andn(Register dst, Register src1, const Operand& src2) { | 1432 void andn(Register dst, Register src1, const Operand& src2) { |
1405 bmi1(0xf2, dst, src1, src2); | 1433 bmi1(0xf2, dst, src1, src2); |
1406 } | 1434 } |
1407 void bextr(Register dst, Register src1, Register src2) { | 1435 void bextr(Register dst, Register src1, Register src2) { |
1408 bextr(dst, Operand(src1), src2); | 1436 bextr(dst, Operand(src1), src2); |
1409 } | 1437 } |
(...skipping 354 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1764 Assembler* assembler_; | 1792 Assembler* assembler_; |
1765 #ifdef DEBUG | 1793 #ifdef DEBUG |
1766 int space_before_; | 1794 int space_before_; |
1767 #endif | 1795 #endif |
1768 }; | 1796 }; |
1769 | 1797 |
1770 } // namespace internal | 1798 } // namespace internal |
1771 } // namespace v8 | 1799 } // namespace v8 |
1772 | 1800 |
1773 #endif // V8_IA32_ASSEMBLER_IA32_H_ | 1801 #endif // V8_IA32_ASSEMBLER_IA32_H_ |
OLD | NEW |