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

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

Issue 7628017: Add roundsd instruction to ia32 and use it in optimized Math.floor. (Closed) Base URL: http://v8.googlecode.com/svn/branches/bleeding_edge/
Patch Set: '' Created 9 years, 4 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
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 923 matching lines...) Expand 10 before | Expand all | Expand 10 after
934 void subsd(XMMRegister dst, XMMRegister src); 934 void subsd(XMMRegister dst, XMMRegister src);
935 void mulsd(XMMRegister dst, XMMRegister src); 935 void mulsd(XMMRegister dst, XMMRegister src);
936 void divsd(XMMRegister dst, XMMRegister src); 936 void divsd(XMMRegister dst, XMMRegister src);
937 void xorpd(XMMRegister dst, XMMRegister src); 937 void xorpd(XMMRegister dst, XMMRegister src);
938 void xorps(XMMRegister dst, XMMRegister src); 938 void xorps(XMMRegister dst, XMMRegister src);
939 void sqrtsd(XMMRegister dst, XMMRegister src); 939 void sqrtsd(XMMRegister dst, XMMRegister src);
940 940
941 void andpd(XMMRegister dst, XMMRegister src); 941 void andpd(XMMRegister dst, XMMRegister src);
942 942
943 void ucomisd(XMMRegister dst, XMMRegister src); 943 void ucomisd(XMMRegister dst, XMMRegister src);
944
945 enum RoundingMode {
946 kRoundToNearest = 0x0,
947 kRoundDown = 0x1,
948 kRoundUp = 0x2,
949 kRoundToZero = 0x3
950 };
951
952 void roundsd(XMMRegister dst, XMMRegister src, RoundingMode mode);
953
944 void movmskpd(Register dst, XMMRegister src); 954 void movmskpd(Register dst, XMMRegister src);
945 955
946 void cmpltsd(XMMRegister dst, XMMRegister src); 956 void cmpltsd(XMMRegister dst, XMMRegister src);
947 957
948 void movaps(XMMRegister dst, XMMRegister src); 958 void movaps(XMMRegister dst, XMMRegister src);
949 959
950 void movdqa(XMMRegister dst, const Operand& src); 960 void movdqa(XMMRegister dst, const Operand& src);
951 void movdqa(const Operand& dst, XMMRegister src); 961 void movdqa(const Operand& dst, XMMRegister src);
952 void movdqu(XMMRegister dst, const Operand& src); 962 void movdqu(XMMRegister dst, const Operand& src);
953 void movdqu(const Operand& dst, XMMRegister src); 963 void movdqu(const Operand& dst, XMMRegister src);
(...skipping 184 matching lines...) Expand 10 before | Expand all | Expand 10 after
1138 private: 1148 private:
1139 Assembler* assembler_; 1149 Assembler* assembler_;
1140 #ifdef DEBUG 1150 #ifdef DEBUG
1141 int space_before_; 1151 int space_before_;
1142 #endif 1152 #endif
1143 }; 1153 };
1144 1154
1145 } } // namespace v8::internal 1155 } } // namespace v8::internal
1146 1156
1147 #endif // V8_IA32_ASSEMBLER_IA32_H_ 1157 #endif // V8_IA32_ASSEMBLER_IA32_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698