| 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 1061 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1072 | 1072 |
| 1073 void psllq(XMMRegister reg, byte imm8); | 1073 void psllq(XMMRegister reg, byte imm8); |
| 1074 void psrlq(XMMRegister reg, byte imm8); | 1074 void psrlq(XMMRegister reg, byte imm8); |
| 1075 void pslld(XMMRegister reg, byte imm8); | 1075 void pslld(XMMRegister reg, byte imm8); |
| 1076 void psrld(XMMRegister reg, byte imm8); | 1076 void psrld(XMMRegister reg, byte imm8); |
| 1077 | 1077 |
| 1078 void cvttsd2si(Register dst, const Operand& src); | 1078 void cvttsd2si(Register dst, const Operand& src); |
| 1079 void cvttsd2si(Register dst, XMMRegister src); | 1079 void cvttsd2si(Register dst, XMMRegister src); |
| 1080 void cvttss2siq(Register dst, XMMRegister src); | 1080 void cvttss2siq(Register dst, XMMRegister src); |
| 1081 void cvttss2siq(Register dst, const Operand& src); | 1081 void cvttss2siq(Register dst, const Operand& src); |
| 1082 void cvtss2siq(Register dst, XMMRegister src); |
| 1083 void cvtss2siq(Register dst, const Operand& src); |
| 1082 void cvttsd2siq(Register dst, XMMRegister src); | 1084 void cvttsd2siq(Register dst, XMMRegister src); |
| 1083 void cvttsd2siq(Register dst, const Operand& src); | 1085 void cvttsd2siq(Register dst, const Operand& src); |
| 1084 | 1086 |
| 1085 void cvtlsi2sd(XMMRegister dst, const Operand& src); | 1087 void cvtlsi2sd(XMMRegister dst, const Operand& src); |
| 1086 void cvtlsi2sd(XMMRegister dst, Register src); | 1088 void cvtlsi2sd(XMMRegister dst, Register src); |
| 1087 | 1089 |
| 1088 void cvtqsi2ss(XMMRegister dst, const Operand& src); | 1090 void cvtqsi2ss(XMMRegister dst, const Operand& src); |
| 1089 void cvtqsi2ss(XMMRegister dst, Register src); | 1091 void cvtqsi2ss(XMMRegister dst, Register src); |
| 1090 | 1092 |
| 1091 void cvtqsi2sd(XMMRegister dst, const Operand& src); | 1093 void cvtqsi2sd(XMMRegister dst, const Operand& src); |
| 1092 void cvtqsi2sd(XMMRegister dst, Register src); | 1094 void cvtqsi2sd(XMMRegister dst, Register src); |
| 1093 | 1095 |
| 1094 | 1096 |
| 1095 void cvtss2sd(XMMRegister dst, XMMRegister src); | 1097 void cvtss2sd(XMMRegister dst, XMMRegister src); |
| 1096 void cvtss2sd(XMMRegister dst, const Operand& src); | 1098 void cvtss2sd(XMMRegister dst, const Operand& src); |
| 1097 void cvtsd2ss(XMMRegister dst, XMMRegister src); | 1099 void cvtsd2ss(XMMRegister dst, XMMRegister src); |
| 1098 void cvtsd2ss(XMMRegister dst, const Operand& src); | 1100 void cvtsd2ss(XMMRegister dst, const Operand& src); |
| 1099 | 1101 |
| 1100 void cvtsd2si(Register dst, XMMRegister src); | 1102 void cvtsd2si(Register dst, XMMRegister src); |
| 1101 void cvtsd2siq(Register dst, XMMRegister src); | 1103 void cvtsd2siq(Register dst, XMMRegister src); |
| 1104 void cvtsd2siq(Register dst, const Operand& src); |
| 1102 | 1105 |
| 1103 void addsd(XMMRegister dst, XMMRegister src); | 1106 void addsd(XMMRegister dst, XMMRegister src); |
| 1104 void addsd(XMMRegister dst, const Operand& src); | 1107 void addsd(XMMRegister dst, const Operand& src); |
| 1105 void subsd(XMMRegister dst, XMMRegister src); | 1108 void subsd(XMMRegister dst, XMMRegister src); |
| 1106 void subsd(XMMRegister dst, const Operand& src); | 1109 void subsd(XMMRegister dst, const Operand& src); |
| 1107 void mulsd(XMMRegister dst, XMMRegister src); | 1110 void mulsd(XMMRegister dst, XMMRegister src); |
| 1108 void mulsd(XMMRegister dst, const Operand& src); | 1111 void mulsd(XMMRegister dst, const Operand& src); |
| 1109 void divsd(XMMRegister dst, XMMRegister src); | 1112 void divsd(XMMRegister dst, XMMRegister src); |
| 1110 void divsd(XMMRegister dst, const Operand& src); | 1113 void divsd(XMMRegister dst, const Operand& src); |
| 1111 | 1114 |
| (...skipping 22 matching lines...) Expand all Loading... |
| 1134 void extractps(Register dst, XMMRegister src, byte imm8); | 1137 void extractps(Register dst, XMMRegister src, byte imm8); |
| 1135 | 1138 |
| 1136 void pextrd(Register dst, XMMRegister src, int8_t imm8); | 1139 void pextrd(Register dst, XMMRegister src, int8_t imm8); |
| 1137 | 1140 |
| 1138 void pinsrd(XMMRegister dst, Register src, int8_t imm8); | 1141 void pinsrd(XMMRegister dst, Register src, int8_t imm8); |
| 1139 void pinsrd(XMMRegister dst, const Operand& src, int8_t imm8); | 1142 void pinsrd(XMMRegister dst, const Operand& src, int8_t imm8); |
| 1140 | 1143 |
| 1141 void roundss(XMMRegister dst, XMMRegister src, RoundingMode mode); | 1144 void roundss(XMMRegister dst, XMMRegister src, RoundingMode mode); |
| 1142 void roundsd(XMMRegister dst, XMMRegister src, RoundingMode mode); | 1145 void roundsd(XMMRegister dst, XMMRegister src, RoundingMode mode); |
| 1143 | 1146 |
| 1147 void ldmxcsr(const Operand& dst); |
| 1148 void stmxcsr(const Operand& dst); |
| 1149 |
| 1144 // AVX instruction | 1150 // AVX instruction |
| 1145 void vfmadd132sd(XMMRegister dst, XMMRegister src1, XMMRegister src2) { | 1151 void vfmadd132sd(XMMRegister dst, XMMRegister src1, XMMRegister src2) { |
| 1146 vfmasd(0x99, dst, src1, src2); | 1152 vfmasd(0x99, dst, src1, src2); |
| 1147 } | 1153 } |
| 1148 void vfmadd213sd(XMMRegister dst, XMMRegister src1, XMMRegister src2) { | 1154 void vfmadd213sd(XMMRegister dst, XMMRegister src1, XMMRegister src2) { |
| 1149 vfmasd(0xa9, dst, src1, src2); | 1155 vfmasd(0xa9, dst, src1, src2); |
| 1150 } | 1156 } |
| 1151 void vfmadd231sd(XMMRegister dst, XMMRegister src1, XMMRegister src2) { | 1157 void vfmadd231sd(XMMRegister dst, XMMRegister src1, XMMRegister src2) { |
| 1152 vfmasd(0xb9, dst, src1, src2); | 1158 vfmasd(0xb9, dst, src1, src2); |
| 1153 } | 1159 } |
| (...skipping 239 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1393 vsd(0x2c, idst, xmm0, src, kF2, k0F, kW0); | 1399 vsd(0x2c, idst, xmm0, src, kF2, k0F, kW0); |
| 1394 } | 1400 } |
| 1395 void vcvttss2siq(Register dst, XMMRegister src) { | 1401 void vcvttss2siq(Register dst, XMMRegister src) { |
| 1396 XMMRegister idst = {dst.code()}; | 1402 XMMRegister idst = {dst.code()}; |
| 1397 vsd(0x2c, idst, xmm0, src, kF3, k0F, kW1); | 1403 vsd(0x2c, idst, xmm0, src, kF3, k0F, kW1); |
| 1398 } | 1404 } |
| 1399 void vcvttss2siq(Register dst, const Operand& src) { | 1405 void vcvttss2siq(Register dst, const Operand& src) { |
| 1400 XMMRegister idst = {dst.code()}; | 1406 XMMRegister idst = {dst.code()}; |
| 1401 vsd(0x2c, idst, xmm0, src, kF3, k0F, kW1); | 1407 vsd(0x2c, idst, xmm0, src, kF3, k0F, kW1); |
| 1402 } | 1408 } |
| 1409 void vcvtss2siq(Register dst, XMMRegister src) { |
| 1410 XMMRegister idst = {dst.code()}; |
| 1411 vsd(0x2d, idst, xmm0, src, kF3, k0F, kW1); |
| 1412 } |
| 1413 void vcvtss2siq(Register dst, const Operand& src) { |
| 1414 XMMRegister idst = {dst.code()}; |
| 1415 vsd(0x2d, idst, xmm0, src, kF3, k0F, kW1); |
| 1416 } |
| 1403 void vcvttsd2siq(Register dst, XMMRegister src) { | 1417 void vcvttsd2siq(Register dst, XMMRegister src) { |
| 1404 XMMRegister idst = {dst.code()}; | 1418 XMMRegister idst = {dst.code()}; |
| 1405 vsd(0x2c, idst, xmm0, src, kF2, k0F, kW1); | 1419 vsd(0x2c, idst, xmm0, src, kF2, k0F, kW1); |
| 1406 } | 1420 } |
| 1407 void vcvttsd2siq(Register dst, const Operand& src) { | 1421 void vcvttsd2siq(Register dst, const Operand& src) { |
| 1408 XMMRegister idst = {dst.code()}; | 1422 XMMRegister idst = {dst.code()}; |
| 1409 vsd(0x2c, idst, xmm0, src, kF2, k0F, kW1); | 1423 vsd(0x2c, idst, xmm0, src, kF2, k0F, kW1); |
| 1410 } | 1424 } |
| 1425 void vcvtsd2siq(Register dst, XMMRegister src) { |
| 1426 XMMRegister idst = {dst.code()}; |
| 1427 vsd(0x2d, idst, xmm0, src, kF2, k0F, kW1); |
| 1428 } |
| 1429 void vcvtsd2siq(Register dst, const Operand& src) { |
| 1430 XMMRegister idst = {dst.code()}; |
| 1431 vsd(0x2d, idst, xmm0, src, kF2, k0F, kW1); |
| 1432 } |
| 1411 void vcvtsd2si(Register dst, XMMRegister src) { | 1433 void vcvtsd2si(Register dst, XMMRegister src) { |
| 1412 XMMRegister idst = {dst.code()}; | 1434 XMMRegister idst = {dst.code()}; |
| 1413 vsd(0x2d, idst, xmm0, src, kF2, k0F, kW0); | 1435 vsd(0x2d, idst, xmm0, src, kF2, k0F, kW0); |
| 1414 } | 1436 } |
| 1415 void vucomisd(XMMRegister dst, XMMRegister src) { | 1437 void vucomisd(XMMRegister dst, XMMRegister src) { |
| 1416 vsd(0x2e, dst, xmm0, src, k66, k0F, kWIG); | 1438 vsd(0x2e, dst, xmm0, src, k66, k0F, kWIG); |
| 1417 } | 1439 } |
| 1418 void vucomisd(XMMRegister dst, const Operand& src) { | 1440 void vucomisd(XMMRegister dst, const Operand& src) { |
| 1419 vsd(0x2e, dst, xmm0, src, k66, k0F, kWIG); | 1441 vsd(0x2e, dst, xmm0, src, k66, k0F, kWIG); |
| 1420 } | 1442 } |
| (...skipping 768 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2189 Assembler* assembler_; | 2211 Assembler* assembler_; |
| 2190 #ifdef DEBUG | 2212 #ifdef DEBUG |
| 2191 int space_before_; | 2213 int space_before_; |
| 2192 #endif | 2214 #endif |
| 2193 }; | 2215 }; |
| 2194 | 2216 |
| 2195 } // namespace internal | 2217 } // namespace internal |
| 2196 } // namespace v8 | 2218 } // namespace v8 |
| 2197 | 2219 |
| 2198 #endif // V8_X64_ASSEMBLER_X64_H_ | 2220 #endif // V8_X64_ASSEMBLER_X64_H_ |
| OLD | NEW |