OLD | NEW |
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 262 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
273 case greater_equal: | 273 case greater_equal: |
274 return less_equal; | 274 return less_equal; |
275 case less_equal: | 275 case less_equal: |
276 return greater_equal; | 276 return greater_equal; |
277 default: | 277 default: |
278 return cc; | 278 return cc; |
279 } | 279 } |
280 } | 280 } |
281 | 281 |
282 | 282 |
| 283 enum RoundingMode { |
| 284 kRoundToNearest = 0x0, |
| 285 kRoundDown = 0x1, |
| 286 kRoundUp = 0x2, |
| 287 kRoundToZero = 0x3 |
| 288 }; |
| 289 |
| 290 |
283 // ----------------------------------------------------------------------------- | 291 // ----------------------------------------------------------------------------- |
284 // Machine instruction Immediates | 292 // Machine instruction Immediates |
285 | 293 |
286 class Immediate BASE_EMBEDDED { | 294 class Immediate BASE_EMBEDDED { |
287 public: | 295 public: |
288 inline explicit Immediate(int x); | 296 inline explicit Immediate(int x); |
289 inline explicit Immediate(const ExternalReference& ext); | 297 inline explicit Immediate(const ExternalReference& ext); |
290 inline explicit Immediate(Handle<Object> handle); | 298 inline explicit Immediate(Handle<Object> handle); |
291 inline explicit Immediate(Smi* value); | 299 inline explicit Immediate(Smi* value); |
292 inline explicit Immediate(Address addr); | 300 inline explicit Immediate(Address addr); |
(...skipping 703 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
996 void xorpd(XMMRegister dst, XMMRegister src); | 1004 void xorpd(XMMRegister dst, XMMRegister src); |
997 void sqrtsd(XMMRegister dst, XMMRegister src) { sqrtsd(dst, Operand(src)); } | 1005 void sqrtsd(XMMRegister dst, XMMRegister src) { sqrtsd(dst, Operand(src)); } |
998 void sqrtsd(XMMRegister dst, const Operand& src); | 1006 void sqrtsd(XMMRegister dst, const Operand& src); |
999 | 1007 |
1000 void andpd(XMMRegister dst, XMMRegister src); | 1008 void andpd(XMMRegister dst, XMMRegister src); |
1001 void orpd(XMMRegister dst, XMMRegister src); | 1009 void orpd(XMMRegister dst, XMMRegister src); |
1002 | 1010 |
1003 void ucomisd(XMMRegister dst, XMMRegister src) { ucomisd(dst, Operand(src)); } | 1011 void ucomisd(XMMRegister dst, XMMRegister src) { ucomisd(dst, Operand(src)); } |
1004 void ucomisd(XMMRegister dst, const Operand& src); | 1012 void ucomisd(XMMRegister dst, const Operand& src); |
1005 | 1013 |
1006 enum RoundingMode { | |
1007 kRoundToNearest = 0x0, | |
1008 kRoundDown = 0x1, | |
1009 kRoundUp = 0x2, | |
1010 kRoundToZero = 0x3 | |
1011 }; | |
1012 | |
1013 void roundsd(XMMRegister dst, XMMRegister src, RoundingMode mode); | 1014 void roundsd(XMMRegister dst, XMMRegister src, RoundingMode mode); |
1014 | 1015 |
1015 void movmskpd(Register dst, XMMRegister src); | 1016 void movmskpd(Register dst, XMMRegister src); |
1016 void movmskps(Register dst, XMMRegister src); | 1017 void movmskps(Register dst, XMMRegister src); |
1017 | 1018 |
1018 void cmpltsd(XMMRegister dst, XMMRegister src); | 1019 void cmpltsd(XMMRegister dst, XMMRegister src); |
1019 void pcmpeqd(XMMRegister dst, XMMRegister src); | 1020 void pcmpeqd(XMMRegister dst, XMMRegister src); |
1020 | 1021 |
1021 void punpckldq(XMMRegister dst, XMMRegister src); | 1022 void punpckldq(XMMRegister dst, XMMRegister src); |
1022 void punpckhdq(XMMRegister dst, XMMRegister src); | 1023 void punpckhdq(XMMRegister dst, XMMRegister src); |
(...skipping 393 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1416 private: | 1417 private: |
1417 Assembler* assembler_; | 1418 Assembler* assembler_; |
1418 #ifdef DEBUG | 1419 #ifdef DEBUG |
1419 int space_before_; | 1420 int space_before_; |
1420 #endif | 1421 #endif |
1421 }; | 1422 }; |
1422 | 1423 |
1423 } } // namespace v8::internal | 1424 } } // namespace v8::internal |
1424 | 1425 |
1425 #endif // V8_IA32_ASSEMBLER_IA32_H_ | 1426 #endif // V8_IA32_ASSEMBLER_IA32_H_ |
OLD | NEW |