Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(23)

Side by Side Diff: src/x64/assembler-x64.h

Issue 2827022: X64: Change some fpu operations to use XMM registers. (Closed)
Patch Set: Addressed review comment. Created 10 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | src/x64/assembler-x64.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 1092 matching lines...) Expand 10 before | Expand all | Expand 10 after
1103 void movd(XMMRegister dst, Register src); 1103 void movd(XMMRegister dst, Register src);
1104 void movd(Register dst, XMMRegister src); 1104 void movd(Register dst, XMMRegister src);
1105 void movq(XMMRegister dst, Register src); 1105 void movq(XMMRegister dst, Register src);
1106 void movq(Register dst, XMMRegister src); 1106 void movq(Register dst, XMMRegister src);
1107 void extractps(Register dst, XMMRegister src, byte imm8); 1107 void extractps(Register dst, XMMRegister src, byte imm8);
1108 1108
1109 void movsd(const Operand& dst, XMMRegister src); 1109 void movsd(const Operand& dst, XMMRegister src);
1110 void movsd(XMMRegister dst, XMMRegister src); 1110 void movsd(XMMRegister dst, XMMRegister src);
1111 void movsd(XMMRegister dst, const Operand& src); 1111 void movsd(XMMRegister dst, const Operand& src);
1112 1112
1113 void movss(XMMRegister dst, const Operand& src);
1114 void movss(const Operand& dst, XMMRegister src);
1115
1113 void cvttss2si(Register dst, const Operand& src); 1116 void cvttss2si(Register dst, const Operand& src);
1114 void cvttsd2si(Register dst, const Operand& src); 1117 void cvttsd2si(Register dst, const Operand& src);
1115 void cvttsd2siq(Register dst, XMMRegister src); 1118 void cvttsd2siq(Register dst, XMMRegister src);
1116 1119
1117 void cvtlsi2sd(XMMRegister dst, const Operand& src); 1120 void cvtlsi2sd(XMMRegister dst, const Operand& src);
1118 void cvtlsi2sd(XMMRegister dst, Register src); 1121 void cvtlsi2sd(XMMRegister dst, Register src);
1119 void cvtqsi2sd(XMMRegister dst, const Operand& src); 1122 void cvtqsi2sd(XMMRegister dst, const Operand& src);
1120 void cvtqsi2sd(XMMRegister dst, Register src); 1123 void cvtqsi2sd(XMMRegister dst, Register src);
1121 1124
1125 void cvtlsi2ss(XMMRegister dst, Register src);
1126
1122 void cvtss2sd(XMMRegister dst, XMMRegister src); 1127 void cvtss2sd(XMMRegister dst, XMMRegister src);
1128 void cvtss2sd(XMMRegister dst, const Operand& src);
1129 void cvtsd2ss(XMMRegister dst, XMMRegister src);
1123 1130
1124 void addsd(XMMRegister dst, XMMRegister src); 1131 void addsd(XMMRegister dst, XMMRegister src);
1125 void subsd(XMMRegister dst, XMMRegister src); 1132 void subsd(XMMRegister dst, XMMRegister src);
1126 void mulsd(XMMRegister dst, XMMRegister src); 1133 void mulsd(XMMRegister dst, XMMRegister src);
1127 void divsd(XMMRegister dst, XMMRegister src); 1134 void divsd(XMMRegister dst, XMMRegister src);
1128 1135
1129 void xorpd(XMMRegister dst, XMMRegister src); 1136 void xorpd(XMMRegister dst, XMMRegister src);
1130 void sqrtsd(XMMRegister dst, XMMRegister src); 1137 void sqrtsd(XMMRegister dst, XMMRegister src);
1131 1138
1132 void ucomisd(XMMRegister dst, XMMRegister src); 1139 void ucomisd(XMMRegister dst, XMMRegister src);
1140 void ucomisd(XMMRegister dst, const Operand& src);
1133 1141
1134 // The first argument is the reg field, the second argument is the r/m field. 1142 // The first argument is the reg field, the second argument is the r/m field.
1135 void emit_sse_operand(XMMRegister dst, XMMRegister src); 1143 void emit_sse_operand(XMMRegister dst, XMMRegister src);
1136 void emit_sse_operand(XMMRegister reg, const Operand& adr); 1144 void emit_sse_operand(XMMRegister reg, const Operand& adr);
1137 void emit_sse_operand(XMMRegister dst, Register src); 1145 void emit_sse_operand(XMMRegister dst, Register src);
1138 void emit_sse_operand(Register dst, XMMRegister src); 1146 void emit_sse_operand(Register dst, XMMRegister src);
1139 1147
1140 // Use either movsd or movlpd. 1148 // Use either movsd or movlpd.
1141 // void movdbl(XMMRegister dst, const Operand& src); 1149 // void movdbl(XMMRegister dst, const Operand& src);
1142 // void movdbl(const Operand& dst, XMMRegister src); 1150 // void movdbl(const Operand& dst, XMMRegister src);
(...skipping 275 matching lines...) Expand 10 before | Expand all | Expand 10 after
1418 private: 1426 private:
1419 Assembler* assembler_; 1427 Assembler* assembler_;
1420 #ifdef DEBUG 1428 #ifdef DEBUG
1421 int space_before_; 1429 int space_before_;
1422 #endif 1430 #endif
1423 }; 1431 };
1424 1432
1425 } } // namespace v8::internal 1433 } } // namespace v8::internal
1426 1434
1427 #endif // V8_X64_ASSEMBLER_X64_H_ 1435 #endif // V8_X64_ASSEMBLER_X64_H_
OLDNEW
« no previous file with comments | « no previous file | src/x64/assembler-x64.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698