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 |