| 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 999 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1010 void fwait(); | 1010 void fwait(); |
| 1011 void fnclex(); | 1011 void fnclex(); |
| 1012 | 1012 |
| 1013 void frndint(); | 1013 void frndint(); |
| 1014 | 1014 |
| 1015 void sahf(); | 1015 void sahf(); |
| 1016 void setcc(Condition cc, Register reg); | 1016 void setcc(Condition cc, Register reg); |
| 1017 | 1017 |
| 1018 void cpuid(); | 1018 void cpuid(); |
| 1019 | 1019 |
| 1020 // SSE instructions |
| 1021 void andps(XMMRegister dst, XMMRegister src); |
| 1022 void xorps(XMMRegister dst, XMMRegister src); |
| 1023 |
| 1020 // SSE2 instructions | 1024 // SSE2 instructions |
| 1021 void cvttss2si(Register dst, const Operand& src); | 1025 void cvttss2si(Register dst, const Operand& src); |
| 1022 void cvttsd2si(Register dst, const Operand& src); | 1026 void cvttsd2si(Register dst, const Operand& src); |
| 1023 void cvtsd2si(Register dst, XMMRegister src); | 1027 void cvtsd2si(Register dst, XMMRegister src); |
| 1024 | 1028 |
| 1025 void cvtsi2sd(XMMRegister dst, Register src) { cvtsi2sd(dst, Operand(src)); } | 1029 void cvtsi2sd(XMMRegister dst, Register src) { cvtsi2sd(dst, Operand(src)); } |
| 1026 void cvtsi2sd(XMMRegister dst, const Operand& src); | 1030 void cvtsi2sd(XMMRegister dst, const Operand& src); |
| 1027 void cvtss2sd(XMMRegister dst, XMMRegister src); | 1031 void cvtss2sd(XMMRegister dst, XMMRegister src); |
| 1028 void cvtsd2ss(XMMRegister dst, XMMRegister src); | 1032 void cvtsd2ss(XMMRegister dst, XMMRegister src); |
| 1029 | 1033 |
| 1030 void addsd(XMMRegister dst, XMMRegister src); | 1034 void addsd(XMMRegister dst, XMMRegister src); |
| 1031 void addsd(XMMRegister dst, const Operand& src); | 1035 void addsd(XMMRegister dst, const Operand& src); |
| 1032 void subsd(XMMRegister dst, XMMRegister src); | 1036 void subsd(XMMRegister dst, XMMRegister src); |
| 1033 void mulsd(XMMRegister dst, XMMRegister src); | 1037 void mulsd(XMMRegister dst, XMMRegister src); |
| 1034 void mulsd(XMMRegister dst, const Operand& src); | 1038 void mulsd(XMMRegister dst, const Operand& src); |
| 1035 void divsd(XMMRegister dst, XMMRegister src); | 1039 void divsd(XMMRegister dst, XMMRegister src); |
| 1036 void xorpd(XMMRegister dst, XMMRegister src); | 1040 void xorpd(XMMRegister dst, XMMRegister src); |
| 1037 void xorps(XMMRegister dst, XMMRegister src); | |
| 1038 void sqrtsd(XMMRegister dst, XMMRegister src); | 1041 void sqrtsd(XMMRegister dst, XMMRegister src); |
| 1039 | 1042 |
| 1040 void andpd(XMMRegister dst, XMMRegister src); | 1043 void andpd(XMMRegister dst, XMMRegister src); |
| 1041 void orpd(XMMRegister dst, XMMRegister src); | 1044 void orpd(XMMRegister dst, XMMRegister src); |
| 1042 | 1045 |
| 1043 void ucomisd(XMMRegister dst, XMMRegister src); | 1046 void ucomisd(XMMRegister dst, XMMRegister src); |
| 1044 void ucomisd(XMMRegister dst, const Operand& src); | 1047 void ucomisd(XMMRegister dst, const Operand& src); |
| 1045 | 1048 |
| 1046 enum RoundingMode { | 1049 enum RoundingMode { |
| 1047 kRoundToNearest = 0x0, | 1050 kRoundToNearest = 0x0, |
| (...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1150 | 1153 |
| 1151 PositionsRecorder* positions_recorder() { return &positions_recorder_; } | 1154 PositionsRecorder* positions_recorder() { return &positions_recorder_; } |
| 1152 | 1155 |
| 1153 int relocation_writer_size() { | 1156 int relocation_writer_size() { |
| 1154 return (buffer_ + buffer_size_) - reloc_info_writer.pos(); | 1157 return (buffer_ + buffer_size_) - reloc_info_writer.pos(); |
| 1155 } | 1158 } |
| 1156 | 1159 |
| 1157 // Avoid overflows for displacements etc. | 1160 // Avoid overflows for displacements etc. |
| 1158 static const int kMaximalBufferSize = 512*MB; | 1161 static const int kMaximalBufferSize = 512*MB; |
| 1159 | 1162 |
| 1160 byte byte_at(int pos) { return buffer_[pos]; } | 1163 byte byte_at(int pos) { return buffer_[pos]; } |
| 1161 void set_byte_at(int pos, byte value) { buffer_[pos] = value; } | 1164 void set_byte_at(int pos, byte value) { buffer_[pos] = value; } |
| 1162 | 1165 |
| 1163 protected: | 1166 protected: |
| 1164 void emit_sse_operand(XMMRegister reg, const Operand& adr); | 1167 void emit_sse_operand(XMMRegister reg, const Operand& adr); |
| 1165 void emit_sse_operand(XMMRegister dst, XMMRegister src); | 1168 void emit_sse_operand(XMMRegister dst, XMMRegister src); |
| 1166 void emit_sse_operand(Register dst, XMMRegister src); | 1169 void emit_sse_operand(Register dst, XMMRegister src); |
| 1167 void emit_sse_operand(XMMRegister dst, Register src); | 1170 void emit_sse_operand(XMMRegister dst, Register src); |
| 1168 | 1171 |
| 1169 byte* addr_at(int pos) { return buffer_ + pos; } | 1172 byte* addr_at(int pos) { return buffer_ + pos; } |
| 1170 | 1173 |
| (...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1253 private: | 1256 private: |
| 1254 Assembler* assembler_; | 1257 Assembler* assembler_; |
| 1255 #ifdef DEBUG | 1258 #ifdef DEBUG |
| 1256 int space_before_; | 1259 int space_before_; |
| 1257 #endif | 1260 #endif |
| 1258 }; | 1261 }; |
| 1259 | 1262 |
| 1260 } } // namespace v8::internal | 1263 } } // namespace v8::internal |
| 1261 | 1264 |
| 1262 #endif // V8_IA32_ASSEMBLER_IA32_H_ | 1265 #endif // V8_IA32_ASSEMBLER_IA32_H_ |
| OLD | NEW |