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 1308 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1319 } | 1319 } |
1320 | 1320 |
1321 AVX_SP_3(vadd, 0x58); | 1321 AVX_SP_3(vadd, 0x58); |
1322 AVX_SP_3(vsub, 0x5c); | 1322 AVX_SP_3(vsub, 0x5c); |
1323 AVX_SP_3(vmul, 0x59); | 1323 AVX_SP_3(vmul, 0x59); |
1324 AVX_SP_3(vdiv, 0x5e); | 1324 AVX_SP_3(vdiv, 0x5e); |
1325 AVX_SP_3(vmin, 0x5d); | 1325 AVX_SP_3(vmin, 0x5d); |
1326 AVX_SP_3(vmax, 0x5f); | 1326 AVX_SP_3(vmax, 0x5f); |
1327 AVX_P_3(vand, 0x54); | 1327 AVX_P_3(vand, 0x54); |
1328 AVX_P_3(vxor, 0x57); | 1328 AVX_P_3(vxor, 0x57); |
| 1329 AVX_3(vpcmpeqd, 0x76, vpd); |
1329 AVX_3(vcvtsd2ss, 0x5a, vsd); | 1330 AVX_3(vcvtsd2ss, 0x5a, vsd); |
1330 | 1331 |
1331 #undef AVX_3 | 1332 #undef AVX_3 |
1332 #undef AVX_S_3 | 1333 #undef AVX_S_3 |
1333 #undef AVX_P_3 | 1334 #undef AVX_P_3 |
1334 #undef AVX_SP_3 | 1335 #undef AVX_SP_3 |
1335 | 1336 |
| 1337 void vpsrlq(XMMRegister dst, XMMRegister src, byte imm8) { |
| 1338 XMMRegister iop = {2}; |
| 1339 vpd(0x73, iop, dst, src); |
| 1340 emit(imm8); |
| 1341 } |
| 1342 void vpsllq(XMMRegister dst, XMMRegister src, byte imm8) { |
| 1343 XMMRegister iop = {6}; |
| 1344 vpd(0x73, iop, dst, src); |
| 1345 emit(imm8); |
| 1346 } |
1336 void vcvtss2sd(XMMRegister dst, XMMRegister src1, XMMRegister src2) { | 1347 void vcvtss2sd(XMMRegister dst, XMMRegister src1, XMMRegister src2) { |
1337 vsd(0x5a, dst, src1, src2, kF3, k0F, kWIG); | 1348 vsd(0x5a, dst, src1, src2, kF3, k0F, kWIG); |
1338 } | 1349 } |
1339 void vcvtss2sd(XMMRegister dst, XMMRegister src1, const Operand& src2) { | 1350 void vcvtss2sd(XMMRegister dst, XMMRegister src1, const Operand& src2) { |
1340 vsd(0x5a, dst, src1, src2, kF3, k0F, kWIG); | 1351 vsd(0x5a, dst, src1, src2, kF3, k0F, kWIG); |
1341 } | 1352 } |
1342 void vcvtlsi2sd(XMMRegister dst, XMMRegister src1, Register src2) { | 1353 void vcvtlsi2sd(XMMRegister dst, XMMRegister src1, Register src2) { |
1343 XMMRegister isrc2 = {src2.code()}; | 1354 XMMRegister isrc2 = {src2.code()}; |
1344 vsd(0x2a, dst, src1, isrc2, kF2, k0F, kW0); | 1355 vsd(0x2a, dst, src1, isrc2, kF2, k0F, kW0); |
1345 } | 1356 } |
(...skipping 786 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2132 Assembler* assembler_; | 2143 Assembler* assembler_; |
2133 #ifdef DEBUG | 2144 #ifdef DEBUG |
2134 int space_before_; | 2145 int space_before_; |
2135 #endif | 2146 #endif |
2136 }; | 2147 }; |
2137 | 2148 |
2138 } // namespace internal | 2149 } // namespace internal |
2139 } // namespace v8 | 2150 } // namespace v8 |
2140 | 2151 |
2141 #endif // V8_X64_ASSEMBLER_X64_H_ | 2152 #endif // V8_X64_ASSEMBLER_X64_H_ |
OLD | NEW |