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

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

Issue 1179763004: X87: enable the X87 turbofan support. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 5 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 | « src/globals.h ('k') | src/x87/assembler-x87.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 255 matching lines...) Expand 10 before | Expand all | Expand 10 after
266 case greater_equal: 266 case greater_equal:
267 return less_equal; 267 return less_equal;
268 case less_equal: 268 case less_equal:
269 return greater_equal; 269 return greater_equal;
270 default: 270 default:
271 return cc; 271 return cc;
272 } 272 }
273 } 273 }
274 274
275 275
276 enum RoundingMode {
277 kRoundToNearest = 0x0,
278 kRoundDown = 0x1,
279 kRoundUp = 0x2,
280 kRoundToZero = 0x3
281 };
282
283
276 // ----------------------------------------------------------------------------- 284 // -----------------------------------------------------------------------------
277 // Machine instruction Immediates 285 // Machine instruction Immediates
278 286
279 class Immediate BASE_EMBEDDED { 287 class Immediate BASE_EMBEDDED {
280 public: 288 public:
281 inline explicit Immediate(int x); 289 inline explicit Immediate(int x);
282 inline explicit Immediate(const ExternalReference& ext); 290 inline explicit Immediate(const ExternalReference& ext);
283 inline explicit Immediate(Handle<Object> handle); 291 inline explicit Immediate(Handle<Object> handle);
284 inline explicit Immediate(Smi* value); 292 inline explicit Immediate(Smi* value);
285 inline explicit Immediate(Address addr); 293 inline explicit Immediate(Address addr);
(...skipping 327 matching lines...) Expand 10 before | Expand all | Expand 10 after
613 void pop(const Operand& dst); 621 void pop(const Operand& dst);
614 622
615 void enter(const Immediate& size); 623 void enter(const Immediate& size);
616 void leave(); 624 void leave();
617 625
618 // Moves 626 // Moves
619 void mov_b(Register dst, Register src) { mov_b(dst, Operand(src)); } 627 void mov_b(Register dst, Register src) { mov_b(dst, Operand(src)); }
620 void mov_b(Register dst, const Operand& src); 628 void mov_b(Register dst, const Operand& src);
621 void mov_b(Register dst, int8_t imm8) { mov_b(Operand(dst), imm8); } 629 void mov_b(Register dst, int8_t imm8) { mov_b(Operand(dst), imm8); }
622 void mov_b(const Operand& dst, int8_t imm8); 630 void mov_b(const Operand& dst, int8_t imm8);
631 void mov_b(const Operand& dst, const Immediate& src);
623 void mov_b(const Operand& dst, Register src); 632 void mov_b(const Operand& dst, Register src);
624 633
625 void mov_w(Register dst, const Operand& src); 634 void mov_w(Register dst, const Operand& src);
626 void mov_w(const Operand& dst, Register src); 635 void mov_w(const Operand& dst, Register src);
627 void mov_w(const Operand& dst, int16_t imm16); 636 void mov_w(const Operand& dst, int16_t imm16);
637 void mov_w(const Operand& dst, const Immediate& src);
638
628 639
629 void mov(Register dst, int32_t imm32); 640 void mov(Register dst, int32_t imm32);
630 void mov(Register dst, const Immediate& x); 641 void mov(Register dst, const Immediate& x);
631 void mov(Register dst, Handle<Object> handle); 642 void mov(Register dst, Handle<Object> handle);
632 void mov(Register dst, const Operand& src); 643 void mov(Register dst, const Operand& src);
633 void mov(Register dst, Register src); 644 void mov(Register dst, Register src);
634 void mov(const Operand& dst, const Immediate& x); 645 void mov(const Operand& dst, const Immediate& x);
635 void mov(const Operand& dst, Handle<Object> handle); 646 void mov(const Operand& dst, Handle<Object> handle);
636 void mov(const Operand& dst, Register src); 647 void mov(const Operand& dst, Register src);
637 648
(...skipping 241 matching lines...) Expand 10 before | Expand all | Expand 10 after
879 void fyl2x(); 890 void fyl2x();
880 void f2xm1(); 891 void f2xm1();
881 void fscale(); 892 void fscale();
882 void fninit(); 893 void fninit();
883 894
884 void fadd(int i); 895 void fadd(int i);
885 void fadd_i(int i); 896 void fadd_i(int i);
886 void fadd_d(const Operand& adr); 897 void fadd_d(const Operand& adr);
887 void fsub(int i); 898 void fsub(int i);
888 void fsub_i(int i); 899 void fsub_i(int i);
900 void fsub_d(const Operand& adr);
901 void fsubr_d(const Operand& adr);
889 void fmul(int i); 902 void fmul(int i);
903 void fmul_d(const Operand& adr);
890 void fmul_i(int i); 904 void fmul_i(int i);
891 void fdiv(int i); 905 void fdiv(int i);
906 void fdiv_d(const Operand& adr);
907 void fdivr_d(const Operand& adr);
892 void fdiv_i(int i); 908 void fdiv_i(int i);
893 909
894 void fisub_s(const Operand& adr); 910 void fisub_s(const Operand& adr);
895 911
896 void faddp(int i = 1); 912 void faddp(int i = 1);
897 void fsubp(int i = 1); 913 void fsubp(int i = 1);
914 void fsubr(int i = 1);
898 void fsubrp(int i = 1); 915 void fsubrp(int i = 1);
899 void fmulp(int i = 1); 916 void fmulp(int i = 1);
900 void fdivp(int i = 1); 917 void fdivp(int i = 1);
901 void fprem(); 918 void fprem();
902 void fprem1(); 919 void fprem1();
903 920
904 void fxch(int i = 1); 921 void fxch(int i = 1);
905 void fincstp(); 922 void fincstp();
906 void ffree(int i = 0); 923 void ffree(int i = 0);
907 924
(...skipping 175 matching lines...) Expand 10 before | Expand all | Expand 10 after
1083 private: 1100 private:
1084 Assembler* assembler_; 1101 Assembler* assembler_;
1085 #ifdef DEBUG 1102 #ifdef DEBUG
1086 int space_before_; 1103 int space_before_;
1087 #endif 1104 #endif
1088 }; 1105 };
1089 1106
1090 } } // namespace v8::internal 1107 } } // namespace v8::internal
1091 1108
1092 #endif // V8_X87_ASSEMBLER_X87_H_ 1109 #endif // V8_X87_ASSEMBLER_X87_H_
OLDNEW
« no previous file with comments | « src/globals.h ('k') | src/x87/assembler-x87.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698