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

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

Issue 1435603003: Implemented the RoundInt64ToFloat32 TurboFan operator for x64, arm64, and mips64. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 5 years, 1 month 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 | « src/compiler/x64/instruction-selector-x64.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 1064 matching lines...) Expand 10 before | Expand all | Expand 10 after
1075 void pslld(XMMRegister reg, byte imm8); 1075 void pslld(XMMRegister reg, byte imm8);
1076 void psrld(XMMRegister reg, byte imm8); 1076 void psrld(XMMRegister reg, byte imm8);
1077 1077
1078 void cvttsd2si(Register dst, const Operand& src); 1078 void cvttsd2si(Register dst, const Operand& src);
1079 void cvttsd2si(Register dst, XMMRegister src); 1079 void cvttsd2si(Register dst, XMMRegister src);
1080 void cvttsd2siq(Register dst, XMMRegister src); 1080 void cvttsd2siq(Register dst, XMMRegister src);
1081 void cvttsd2siq(Register dst, const Operand& src); 1081 void cvttsd2siq(Register dst, const Operand& src);
1082 1082
1083 void cvtlsi2sd(XMMRegister dst, const Operand& src); 1083 void cvtlsi2sd(XMMRegister dst, const Operand& src);
1084 void cvtlsi2sd(XMMRegister dst, Register src); 1084 void cvtlsi2sd(XMMRegister dst, Register src);
1085
1086 void cvtqsi2ss(XMMRegister dst, const Operand& src);
1087 void cvtqsi2ss(XMMRegister dst, Register src);
1088
1085 void cvtqsi2sd(XMMRegister dst, const Operand& src); 1089 void cvtqsi2sd(XMMRegister dst, const Operand& src);
1086 void cvtqsi2sd(XMMRegister dst, Register src); 1090 void cvtqsi2sd(XMMRegister dst, Register src);
1087 1091
1088 1092
1089 void cvtss2sd(XMMRegister dst, XMMRegister src); 1093 void cvtss2sd(XMMRegister dst, XMMRegister src);
1090 void cvtss2sd(XMMRegister dst, const Operand& src); 1094 void cvtss2sd(XMMRegister dst, const Operand& src);
1091 void cvtsd2ss(XMMRegister dst, XMMRegister src); 1095 void cvtsd2ss(XMMRegister dst, XMMRegister src);
1092 void cvtsd2ss(XMMRegister dst, const Operand& src); 1096 void cvtsd2ss(XMMRegister dst, const Operand& src);
1093 1097
1094 void cvtsd2si(Register dst, XMMRegister src); 1098 void cvtsd2si(Register dst, XMMRegister src);
(...skipping 261 matching lines...) Expand 10 before | Expand all | Expand 10 after
1356 void vcvtss2sd(XMMRegister dst, XMMRegister src1, const Operand& src2) { 1360 void vcvtss2sd(XMMRegister dst, XMMRegister src1, const Operand& src2) {
1357 vsd(0x5a, dst, src1, src2, kF3, k0F, kWIG); 1361 vsd(0x5a, dst, src1, src2, kF3, k0F, kWIG);
1358 } 1362 }
1359 void vcvtlsi2sd(XMMRegister dst, XMMRegister src1, Register src2) { 1363 void vcvtlsi2sd(XMMRegister dst, XMMRegister src1, Register src2) {
1360 XMMRegister isrc2 = {src2.code()}; 1364 XMMRegister isrc2 = {src2.code()};
1361 vsd(0x2a, dst, src1, isrc2, kF2, k0F, kW0); 1365 vsd(0x2a, dst, src1, isrc2, kF2, k0F, kW0);
1362 } 1366 }
1363 void vcvtlsi2sd(XMMRegister dst, XMMRegister src1, const Operand& src2) { 1367 void vcvtlsi2sd(XMMRegister dst, XMMRegister src1, const Operand& src2) {
1364 vsd(0x2a, dst, src1, src2, kF2, k0F, kW0); 1368 vsd(0x2a, dst, src1, src2, kF2, k0F, kW0);
1365 } 1369 }
1370 void vcvtqsi2ss(XMMRegister dst, XMMRegister src1, Register src2) {
1371 XMMRegister isrc2 = {src2.code()};
1372 vsd(0x2a, dst, src1, isrc2, kF3, k0F, kW1);
1373 }
1374 void vcvtqsi2ss(XMMRegister dst, XMMRegister src1, const Operand& src2) {
1375 vsd(0x2a, dst, src1, src2, kF3, k0F, kW1);
1376 }
1366 void vcvtqsi2sd(XMMRegister dst, XMMRegister src1, Register src2) { 1377 void vcvtqsi2sd(XMMRegister dst, XMMRegister src1, Register src2) {
1367 XMMRegister isrc2 = {src2.code()}; 1378 XMMRegister isrc2 = {src2.code()};
1368 vsd(0x2a, dst, src1, isrc2, kF2, k0F, kW1); 1379 vsd(0x2a, dst, src1, isrc2, kF2, k0F, kW1);
1369 } 1380 }
1370 void vcvtqsi2sd(XMMRegister dst, XMMRegister src1, const Operand& src2) { 1381 void vcvtqsi2sd(XMMRegister dst, XMMRegister src1, const Operand& src2) {
1371 vsd(0x2a, dst, src1, src2, kF2, k0F, kW1); 1382 vsd(0x2a, dst, src1, src2, kF2, k0F, kW1);
1372 } 1383 }
1373 void vcvttsd2si(Register dst, XMMRegister src) { 1384 void vcvttsd2si(Register dst, XMMRegister src) {
1374 XMMRegister idst = {dst.code()}; 1385 XMMRegister idst = {dst.code()};
1375 vsd(0x2c, idst, xmm0, src, kF2, k0F, kW0); 1386 vsd(0x2c, idst, xmm0, src, kF2, k0F, kW0);
(...skipping 786 matching lines...) Expand 10 before | Expand all | Expand 10 after
2162 Assembler* assembler_; 2173 Assembler* assembler_;
2163 #ifdef DEBUG 2174 #ifdef DEBUG
2164 int space_before_; 2175 int space_before_;
2165 #endif 2176 #endif
2166 }; 2177 };
2167 2178
2168 } // namespace internal 2179 } // namespace internal
2169 } // namespace v8 2180 } // namespace v8
2170 2181
2171 #endif // V8_X64_ASSEMBLER_X64_H_ 2182 #endif // V8_X64_ASSEMBLER_X64_H_
OLDNEW
« no previous file with comments | « src/compiler/x64/instruction-selector-x64.cc ('k') | src/x64/assembler-x64.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698