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

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

Issue 998283002: [turbofan] Introduce optional Float64Min and Float64Max machine operators. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 5 years, 9 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 | « src/ia32/disasm-ia32.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 1126 matching lines...) Expand 10 before | Expand all | Expand 10 after
1137 void ucomisd(XMMRegister dst, XMMRegister src); 1137 void ucomisd(XMMRegister dst, XMMRegister src);
1138 void ucomisd(XMMRegister dst, const Operand& src); 1138 void ucomisd(XMMRegister dst, const Operand& src);
1139 void cmpltsd(XMMRegister dst, XMMRegister src); 1139 void cmpltsd(XMMRegister dst, XMMRegister src);
1140 void pcmpeqd(XMMRegister dst, XMMRegister src); 1140 void pcmpeqd(XMMRegister dst, XMMRegister src);
1141 1141
1142 void movmskpd(Register dst, XMMRegister src); 1142 void movmskpd(Register dst, XMMRegister src);
1143 1143
1144 void punpckldq(XMMRegister dst, XMMRegister src); 1144 void punpckldq(XMMRegister dst, XMMRegister src);
1145 void punpckhdq(XMMRegister dst, XMMRegister src); 1145 void punpckhdq(XMMRegister dst, XMMRegister src);
1146 1146
1147 void maxsd(XMMRegister dst, XMMRegister src);
1148 void maxsd(XMMRegister dst, const Operand& src);
1149 void minsd(XMMRegister dst, XMMRegister src);
1150 void minsd(XMMRegister dst, const Operand& src);
1151
1147 // SSE 4.1 instruction 1152 // SSE 4.1 instruction
1148 void extractps(Register dst, XMMRegister src, byte imm8); 1153 void extractps(Register dst, XMMRegister src, byte imm8);
1149 1154
1150 void pextrd(Register dst, XMMRegister src, int8_t imm8); 1155 void pextrd(Register dst, XMMRegister src, int8_t imm8);
1151 1156
1152 void pinsrd(XMMRegister dst, Register src, int8_t imm8); 1157 void pinsrd(XMMRegister dst, Register src, int8_t imm8);
1153 void pinsrd(XMMRegister dst, const Operand& src, int8_t imm8); 1158 void pinsrd(XMMRegister dst, const Operand& src, int8_t imm8);
1154 1159
1155 void roundsd(XMMRegister dst, XMMRegister src, RoundingMode mode); 1160 void roundsd(XMMRegister dst, XMMRegister src, RoundingMode mode);
1156 1161
(...skipping 165 matching lines...) Expand 10 before | Expand all | Expand 10 after
1322 } 1327 }
1323 void vmulsd(XMMRegister dst, XMMRegister src1, const Operand& src2) { 1328 void vmulsd(XMMRegister dst, XMMRegister src1, const Operand& src2) {
1324 vsd(0x59, dst, src1, src2); 1329 vsd(0x59, dst, src1, src2);
1325 } 1330 }
1326 void vdivsd(XMMRegister dst, XMMRegister src1, XMMRegister src2) { 1331 void vdivsd(XMMRegister dst, XMMRegister src1, XMMRegister src2) {
1327 vsd(0x5e, dst, src1, src2); 1332 vsd(0x5e, dst, src1, src2);
1328 } 1333 }
1329 void vdivsd(XMMRegister dst, XMMRegister src1, const Operand& src2) { 1334 void vdivsd(XMMRegister dst, XMMRegister src1, const Operand& src2) {
1330 vsd(0x5e, dst, src1, src2); 1335 vsd(0x5e, dst, src1, src2);
1331 } 1336 }
1337 void vmaxsd(XMMRegister dst, XMMRegister src1, XMMRegister src2) {
1338 vsd(0x5f, dst, src1, src2);
1339 }
1340 void vmaxsd(XMMRegister dst, XMMRegister src1, const Operand& src2) {
1341 vsd(0x5f, dst, src1, src2);
1342 }
1343 void vminsd(XMMRegister dst, XMMRegister src1, XMMRegister src2) {
1344 vsd(0x5d, dst, src1, src2);
1345 }
1346 void vminsd(XMMRegister dst, XMMRegister src1, const Operand& src2) {
1347 vsd(0x5d, dst, src1, src2);
1348 }
1332 void vsd(byte op, XMMRegister dst, XMMRegister src1, XMMRegister src2); 1349 void vsd(byte op, XMMRegister dst, XMMRegister src1, XMMRegister src2);
1333 void vsd(byte op, XMMRegister dst, XMMRegister src1, const Operand& src2); 1350 void vsd(byte op, XMMRegister dst, XMMRegister src1, const Operand& src2);
1334 1351
1335 // Debugging 1352 // Debugging
1336 void Print(); 1353 void Print();
1337 1354
1338 // Check the code size generated from label to here. 1355 // Check the code size generated from label to here.
1339 int SizeOfCodeGeneratedSince(Label* label) { 1356 int SizeOfCodeGeneratedSince(Label* label) {
1340 return pc_offset() - label->pos(); 1357 return pc_offset() - label->pos();
1341 } 1358 }
(...skipping 522 matching lines...) Expand 10 before | Expand all | Expand 10 after
1864 private: 1881 private:
1865 Assembler* assembler_; 1882 Assembler* assembler_;
1866 #ifdef DEBUG 1883 #ifdef DEBUG
1867 int space_before_; 1884 int space_before_;
1868 #endif 1885 #endif
1869 }; 1886 };
1870 1887
1871 } } // namespace v8::internal 1888 } } // namespace v8::internal
1872 1889
1873 #endif // V8_X64_ASSEMBLER_X64_H_ 1890 #endif // V8_X64_ASSEMBLER_X64_H_
OLDNEW
« no previous file with comments | « src/ia32/disasm-ia32.cc ('k') | src/x64/assembler-x64.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698