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

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

Issue 1631008: Optimize the assembly code generated for Math.random() (Closed) Base URL: http://v8.googlecode.com/svn/branches/bleeding_edge/
Patch Set: '' Created 10 years, 8 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 | Annotate | Revision Log
« no previous file with comments | « src/v8.cc ('k') | 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 1061 matching lines...) Expand 10 before | Expand all | Expand 10 after
1072 void fnclex(); 1072 void fnclex();
1073 1073
1074 void fsin(); 1074 void fsin();
1075 void fcos(); 1075 void fcos();
1076 1076
1077 void frndint(); 1077 void frndint();
1078 1078
1079 void sahf(); 1079 void sahf();
1080 1080
1081 // SSE2 instructions 1081 // SSE2 instructions
1082 void movd(XMMRegister dst, Register src);
1083
1082 void movsd(const Operand& dst, XMMRegister src); 1084 void movsd(const Operand& dst, XMMRegister src);
1083 void movsd(XMMRegister src, XMMRegister dst); 1085 void movsd(XMMRegister dst, XMMRegister src);
1084 void movsd(XMMRegister src, const Operand& dst); 1086 void movsd(XMMRegister dst, const Operand& src);
1085 1087
1086 void cvttss2si(Register dst, const Operand& src); 1088 void cvttss2si(Register dst, const Operand& src);
1087 void cvttsd2si(Register dst, const Operand& src); 1089 void cvttsd2si(Register dst, const Operand& src);
1088 1090
1089 void cvtlsi2sd(XMMRegister dst, const Operand& src); 1091 void cvtlsi2sd(XMMRegister dst, const Operand& src);
1090 void cvtlsi2sd(XMMRegister dst, Register src); 1092 void cvtlsi2sd(XMMRegister dst, Register src);
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
1096 void cvtss2sd(XMMRegister dst, XMMRegister src);
1097
1094 void addsd(XMMRegister dst, XMMRegister src); 1098 void addsd(XMMRegister dst, XMMRegister src);
1095 void subsd(XMMRegister dst, XMMRegister src); 1099 void subsd(XMMRegister dst, XMMRegister src);
1096 void mulsd(XMMRegister dst, XMMRegister src); 1100 void mulsd(XMMRegister dst, XMMRegister src);
1097 void divsd(XMMRegister dst, XMMRegister src); 1101 void divsd(XMMRegister dst, XMMRegister src);
1098 1102
1099 void xorpd(XMMRegister dst, XMMRegister src); 1103 void xorpd(XMMRegister dst, XMMRegister src);
1100 1104
1101 void comisd(XMMRegister dst, XMMRegister src); 1105 void comisd(XMMRegister dst, XMMRegister src);
1102 void ucomisd(XMMRegister dst, XMMRegister src); 1106 void ucomisd(XMMRegister dst, XMMRegister src);
1103 1107
1108 // The first argument is the reg field, the second argument is the r/m field.
1104 void emit_sse_operand(XMMRegister dst, XMMRegister src); 1109 void emit_sse_operand(XMMRegister dst, XMMRegister src);
1105 void emit_sse_operand(XMMRegister reg, const Operand& adr); 1110 void emit_sse_operand(XMMRegister reg, const Operand& adr);
1106 void emit_sse_operand(XMMRegister dst, Register src); 1111 void emit_sse_operand(XMMRegister dst, Register src);
1107 1112
1108 // Use either movsd or movlpd. 1113 // Use either movsd or movlpd.
1109 // void movdbl(XMMRegister dst, const Operand& src); 1114 // void movdbl(XMMRegister dst, const Operand& src);
1110 // void movdbl(const Operand& dst, XMMRegister src); 1115 // void movdbl(const Operand& dst, XMMRegister src);
1111 1116
1112 // Debugging 1117 // Debugging
1113 void Print(); 1118 void Print();
(...skipping 262 matching lines...) Expand 10 before | Expand all | Expand 10 after
1376 private: 1381 private:
1377 Assembler* assembler_; 1382 Assembler* assembler_;
1378 #ifdef DEBUG 1383 #ifdef DEBUG
1379 int space_before_; 1384 int space_before_;
1380 #endif 1385 #endif
1381 }; 1386 };
1382 1387
1383 } } // namespace v8::internal 1388 } } // namespace v8::internal
1384 1389
1385 #endif // V8_X64_ASSEMBLER_X64_H_ 1390 #endif // V8_X64_ASSEMBLER_X64_H_
OLDNEW
« no previous file with comments | « src/v8.cc ('k') | src/x64/assembler-x64.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698