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

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

Issue 865002: Add SSE2 instructions to disassembler and movmskpd SSE2 instruction to assemb... (Closed) Base URL: http://v8.googlecode.com/svn/branches/bleeding_edge/
Patch Set: '' Created 10 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 | Annotate | Revision Log
« no previous file with comments | « no previous file | src/ia32/assembler-ia32.cc » ('j') | src/ia32/disasm-ia32.cc » ('J')
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 751 matching lines...) Expand 10 before | Expand all | Expand 10 after
762 762
763 void addsd(XMMRegister dst, XMMRegister src); 763 void addsd(XMMRegister dst, XMMRegister src);
764 void subsd(XMMRegister dst, XMMRegister src); 764 void subsd(XMMRegister dst, XMMRegister src);
765 void mulsd(XMMRegister dst, XMMRegister src); 765 void mulsd(XMMRegister dst, XMMRegister src);
766 void divsd(XMMRegister dst, XMMRegister src); 766 void divsd(XMMRegister dst, XMMRegister src);
767 void xorpd(XMMRegister dst, XMMRegister src); 767 void xorpd(XMMRegister dst, XMMRegister src);
768 void sqrtsd(XMMRegister dst, XMMRegister src); 768 void sqrtsd(XMMRegister dst, XMMRegister src);
769 769
770 void comisd(XMMRegister dst, XMMRegister src); 770 void comisd(XMMRegister dst, XMMRegister src);
771 void ucomisd(XMMRegister dst, XMMRegister src); 771 void ucomisd(XMMRegister dst, XMMRegister src);
772 void movmskpd(Register dst, XMMRegister src);
772 773
773 void movdqa(XMMRegister dst, const Operand& src); 774 void movdqa(XMMRegister dst, const Operand& src);
774 void movdqa(const Operand& dst, XMMRegister src); 775 void movdqa(const Operand& dst, XMMRegister src);
775 void movdqu(XMMRegister dst, const Operand& src); 776 void movdqu(XMMRegister dst, const Operand& src);
776 void movdqu(const Operand& dst, XMMRegister src); 777 void movdqu(const Operand& dst, XMMRegister src);
777 778
778 // Use either movsd or movlpd. 779 // Use either movsd or movlpd.
779 void movdbl(XMMRegister dst, const Operand& src); 780 void movdbl(XMMRegister dst, const Operand& src);
780 void movdbl(const Operand& dst, XMMRegister src); 781 void movdbl(const Operand& dst, XMMRegister src);
781 782
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
821 // Avoid overflows for displacements etc. 822 // Avoid overflows for displacements etc.
822 static const int kMaximalBufferSize = 512*MB; 823 static const int kMaximalBufferSize = 512*MB;
823 static const int kMinimalBufferSize = 4*KB; 824 static const int kMinimalBufferSize = 4*KB;
824 825
825 protected: 826 protected:
826 void movsd(XMMRegister dst, const Operand& src); 827 void movsd(XMMRegister dst, const Operand& src);
827 void movsd(const Operand& dst, XMMRegister src); 828 void movsd(const Operand& dst, XMMRegister src);
828 829
829 void emit_sse_operand(XMMRegister reg, const Operand& adr); 830 void emit_sse_operand(XMMRegister reg, const Operand& adr);
830 void emit_sse_operand(XMMRegister dst, XMMRegister src); 831 void emit_sse_operand(XMMRegister dst, XMMRegister src);
831 832 void emit_sse_operand(Register dst, XMMRegister src);
832 833
833 private: 834 private:
834 byte* addr_at(int pos) { return buffer_ + pos; } 835 byte* addr_at(int pos) { return buffer_ + pos; }
835 byte byte_at(int pos) { return buffer_[pos]; } 836 byte byte_at(int pos) { return buffer_[pos]; }
836 uint32_t long_at(int pos) { 837 uint32_t long_at(int pos) {
837 return *reinterpret_cast<uint32_t*>(addr_at(pos)); 838 return *reinterpret_cast<uint32_t*>(addr_at(pos));
838 } 839 }
839 void long_at_put(int pos, uint32_t x) { 840 void long_at_put(int pos, uint32_t x) {
840 *reinterpret_cast<uint32_t*>(addr_at(pos)) = x; 841 *reinterpret_cast<uint32_t*>(addr_at(pos)) = x;
841 } 842 }
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after
927 private: 928 private:
928 Assembler* assembler_; 929 Assembler* assembler_;
929 #ifdef DEBUG 930 #ifdef DEBUG
930 int space_before_; 931 int space_before_;
931 #endif 932 #endif
932 }; 933 };
933 934
934 } } // namespace v8::internal 935 } } // namespace v8::internal
935 936
936 #endif // V8_IA32_ASSEMBLER_IA32_H_ 937 #endif // V8_IA32_ASSEMBLER_IA32_H_
OLDNEW
« no previous file with comments | « no previous file | src/ia32/assembler-ia32.cc » ('j') | src/ia32/disasm-ia32.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698