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

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

Issue 151163005: A64: Synchronize with r16356. (Closed) Base URL: https://v8.googlecode.com/svn/branches/experimental/a64
Patch Set: Created 6 years, 10 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/version.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 436 matching lines...) Expand 10 before | Expand all | Expand 10 after
447 // Detect features of the target CPU. Set safe defaults if the serializer 447 // Detect features of the target CPU. Set safe defaults if the serializer
448 // is enabled (snapshots must be portable). 448 // is enabled (snapshots must be portable).
449 static void Probe(); 449 static void Probe();
450 450
451 // Check whether a feature is supported by the target CPU. 451 // Check whether a feature is supported by the target CPU.
452 static bool IsSupported(CpuFeature f) { 452 static bool IsSupported(CpuFeature f) {
453 ASSERT(initialized_); 453 ASSERT(initialized_);
454 if (f == SSE3 && !FLAG_enable_sse3) return false; 454 if (f == SSE3 && !FLAG_enable_sse3) return false;
455 if (f == SSE4_1 && !FLAG_enable_sse4_1) return false; 455 if (f == SSE4_1 && !FLAG_enable_sse4_1) return false;
456 if (f == CMOV && !FLAG_enable_cmov) return false; 456 if (f == CMOV && !FLAG_enable_cmov) return false;
457 if (f == RDTSC && !FLAG_enable_rdtsc) return false;
458 if (f == SAHF && !FLAG_enable_sahf) return false; 457 if (f == SAHF && !FLAG_enable_sahf) return false;
459 return (supported_ & (static_cast<uint64_t>(1) << f)) != 0; 458 return (supported_ & (static_cast<uint64_t>(1) << f)) != 0;
460 } 459 }
461 460
462 static bool IsFoundByRuntimeProbingOnly(CpuFeature f) { 461 static bool IsFoundByRuntimeProbingOnly(CpuFeature f) {
463 ASSERT(initialized_); 462 ASSERT(initialized_);
464 return (found_by_runtime_probing_only_ & 463 return (found_by_runtime_probing_only_ &
465 (static_cast<uint64_t>(1) << f)) != 0; 464 (static_cast<uint64_t>(1) << f)) != 0;
466 } 465 }
467 466
(...skipping 680 matching lines...) Expand 10 before | Expand all | Expand 10 after
1148 void bt(const Operand& dst, Register src); 1147 void bt(const Operand& dst, Register src);
1149 void bts(const Operand& dst, Register src); 1148 void bts(const Operand& dst, Register src);
1150 1149
1151 // Miscellaneous 1150 // Miscellaneous
1152 void clc(); 1151 void clc();
1153 void cld(); 1152 void cld();
1154 void cpuid(); 1153 void cpuid();
1155 void hlt(); 1154 void hlt();
1156 void int3(); 1155 void int3();
1157 void nop(); 1156 void nop();
1158 void rdtsc();
1159 void ret(int imm16); 1157 void ret(int imm16);
1160 void setcc(Condition cc, Register reg); 1158 void setcc(Condition cc, Register reg);
1161 1159
1162 // Label operations & relative jumps (PPUM Appendix D) 1160 // Label operations & relative jumps (PPUM Appendix D)
1163 // 1161 //
1164 // Takes a branch opcode (cc) and a label (L) and generates 1162 // Takes a branch opcode (cc) and a label (L) and generates
1165 // either a backward branch or a forward branch and links it 1163 // either a backward branch or a forward branch and links it
1166 // to the label fixup chain. Usage: 1164 // to the label fixup chain. Usage:
1167 // 1165 //
1168 // Label L; // unbound label 1166 // Label L; // unbound label
(...skipping 189 matching lines...) Expand 10 before | Expand all | Expand 10 after
1358 kRoundDown = 0x1, 1356 kRoundDown = 0x1,
1359 kRoundUp = 0x2, 1357 kRoundUp = 0x2,
1360 kRoundToZero = 0x3 1358 kRoundToZero = 0x3
1361 }; 1359 };
1362 1360
1363 void roundsd(XMMRegister dst, XMMRegister src, RoundingMode mode); 1361 void roundsd(XMMRegister dst, XMMRegister src, RoundingMode mode);
1364 1362
1365 void movmskpd(Register dst, XMMRegister src); 1363 void movmskpd(Register dst, XMMRegister src);
1366 void movmskps(Register dst, XMMRegister src); 1364 void movmskps(Register dst, XMMRegister src);
1367 1365
1366 void cmpltsd(XMMRegister dst, XMMRegister src);
1367
1368 // The first argument is the reg field, the second argument is the r/m field. 1368 // The first argument is the reg field, the second argument is the r/m field.
1369 void emit_sse_operand(XMMRegister dst, XMMRegister src); 1369 void emit_sse_operand(XMMRegister dst, XMMRegister src);
1370 void emit_sse_operand(XMMRegister reg, const Operand& adr); 1370 void emit_sse_operand(XMMRegister reg, const Operand& adr);
1371 void emit_sse_operand(XMMRegister dst, Register src); 1371 void emit_sse_operand(XMMRegister dst, Register src);
1372 void emit_sse_operand(Register dst, XMMRegister src); 1372 void emit_sse_operand(Register dst, XMMRegister src);
1373 1373
1374 // Debugging 1374 // Debugging
1375 void Print(); 1375 void Print();
1376 1376
1377 // Check the code size generated from label to here. 1377 // Check the code size generated from label to here.
(...skipping 260 matching lines...) Expand 10 before | Expand all | Expand 10 after
1638 private: 1638 private:
1639 Assembler* assembler_; 1639 Assembler* assembler_;
1640 #ifdef DEBUG 1640 #ifdef DEBUG
1641 int space_before_; 1641 int space_before_;
1642 #endif 1642 #endif
1643 }; 1643 };
1644 1644
1645 } } // namespace v8::internal 1645 } } // namespace v8::internal
1646 1646
1647 #endif // V8_X64_ASSEMBLER_X64_H_ 1647 #endif // V8_X64_ASSEMBLER_X64_H_
OLDNEW
« no previous file with comments | « src/version.cc ('k') | src/x64/assembler-x64.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698