| 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 1054 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1065 void movdqu(XMMRegister dst, const Operand& src); | 1065 void movdqu(XMMRegister dst, const Operand& src); |
| 1066 void movdqu(const Operand& dst, XMMRegister src); | 1066 void movdqu(const Operand& dst, XMMRegister src); |
| 1067 void movdq(bool aligned, XMMRegister dst, const Operand& src) { | 1067 void movdq(bool aligned, XMMRegister dst, const Operand& src) { |
| 1068 if (aligned) { | 1068 if (aligned) { |
| 1069 movdqa(dst, src); | 1069 movdqa(dst, src); |
| 1070 } else { | 1070 } else { |
| 1071 movdqu(dst, src); | 1071 movdqu(dst, src); |
| 1072 } | 1072 } |
| 1073 } | 1073 } |
| 1074 | 1074 |
| 1075 // Use either movsd or movlpd. | |
| 1076 void movdbl(XMMRegister dst, const Operand& src); | |
| 1077 void movdbl(const Operand& dst, XMMRegister src); | |
| 1078 | |
| 1079 void movd(XMMRegister dst, Register src) { movd(dst, Operand(src)); } | 1075 void movd(XMMRegister dst, Register src) { movd(dst, Operand(src)); } |
| 1080 void movd(XMMRegister dst, const Operand& src); | 1076 void movd(XMMRegister dst, const Operand& src); |
| 1081 void movd(Register dst, XMMRegister src) { movd(Operand(dst), src); } | 1077 void movd(Register dst, XMMRegister src) { movd(Operand(dst), src); } |
| 1082 void movd(const Operand& dst, XMMRegister src); | 1078 void movd(const Operand& dst, XMMRegister src); |
| 1083 void movsd(XMMRegister dst, XMMRegister src); | 1079 void movsd(XMMRegister dst, XMMRegister src); |
| 1080 void movsd(XMMRegister dst, const Operand& src); |
| 1081 void movsd(const Operand& dst, XMMRegister src); |
| 1082 |
| 1084 | 1083 |
| 1085 void movss(XMMRegister dst, const Operand& src); | 1084 void movss(XMMRegister dst, const Operand& src); |
| 1086 void movss(const Operand& dst, XMMRegister src); | 1085 void movss(const Operand& dst, XMMRegister src); |
| 1087 void movss(XMMRegister dst, XMMRegister src); | 1086 void movss(XMMRegister dst, XMMRegister src); |
| 1088 void extractps(Register dst, XMMRegister src, byte imm8); | 1087 void extractps(Register dst, XMMRegister src, byte imm8); |
| 1089 | 1088 |
| 1090 void pand(XMMRegister dst, XMMRegister src); | 1089 void pand(XMMRegister dst, XMMRegister src); |
| 1091 void pxor(XMMRegister dst, XMMRegister src); | 1090 void pxor(XMMRegister dst, XMMRegister src); |
| 1092 void por(XMMRegister dst, XMMRegister src); | 1091 void por(XMMRegister dst, XMMRegister src); |
| 1093 void ptest(XMMRegister dst, XMMRegister src); | 1092 void ptest(XMMRegister dst, XMMRegister src); |
| (...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1155 return (buffer_ + buffer_size_) - reloc_info_writer.pos(); | 1154 return (buffer_ + buffer_size_) - reloc_info_writer.pos(); |
| 1156 } | 1155 } |
| 1157 | 1156 |
| 1158 // Avoid overflows for displacements etc. | 1157 // Avoid overflows for displacements etc. |
| 1159 static const int kMaximalBufferSize = 512*MB; | 1158 static const int kMaximalBufferSize = 512*MB; |
| 1160 | 1159 |
| 1161 byte byte_at(int pos) { return buffer_[pos]; } | 1160 byte byte_at(int pos) { return buffer_[pos]; } |
| 1162 void set_byte_at(int pos, byte value) { buffer_[pos] = value; } | 1161 void set_byte_at(int pos, byte value) { buffer_[pos] = value; } |
| 1163 | 1162 |
| 1164 protected: | 1163 protected: |
| 1165 void movsd(XMMRegister dst, const Operand& src); | |
| 1166 void movsd(const Operand& dst, XMMRegister src); | |
| 1167 | |
| 1168 void emit_sse_operand(XMMRegister reg, const Operand& adr); | 1164 void emit_sse_operand(XMMRegister reg, const Operand& adr); |
| 1169 void emit_sse_operand(XMMRegister dst, XMMRegister src); | 1165 void emit_sse_operand(XMMRegister dst, XMMRegister src); |
| 1170 void emit_sse_operand(Register dst, XMMRegister src); | 1166 void emit_sse_operand(Register dst, XMMRegister src); |
| 1171 void emit_sse_operand(XMMRegister dst, Register src); | 1167 void emit_sse_operand(XMMRegister dst, Register src); |
| 1172 | 1168 |
| 1173 byte* addr_at(int pos) { return buffer_ + pos; } | 1169 byte* addr_at(int pos) { return buffer_ + pos; } |
| 1174 | 1170 |
| 1175 | 1171 |
| 1176 private: | 1172 private: |
| 1177 uint32_t long_at(int pos) { | 1173 uint32_t long_at(int pos) { |
| (...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1257 private: | 1253 private: |
| 1258 Assembler* assembler_; | 1254 Assembler* assembler_; |
| 1259 #ifdef DEBUG | 1255 #ifdef DEBUG |
| 1260 int space_before_; | 1256 int space_before_; |
| 1261 #endif | 1257 #endif |
| 1262 }; | 1258 }; |
| 1263 | 1259 |
| 1264 } } // namespace v8::internal | 1260 } } // namespace v8::internal |
| 1265 | 1261 |
| 1266 #endif // V8_IA32_ASSEMBLER_IA32_H_ | 1262 #endif // V8_IA32_ASSEMBLER_IA32_H_ |
| OLD | NEW |