OLD | NEW |
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 #ifndef VM_ASSEMBLER_IA32_H_ | 5 #ifndef VM_ASSEMBLER_IA32_H_ |
6 #define VM_ASSEMBLER_IA32_H_ | 6 #define VM_ASSEMBLER_IA32_H_ |
7 | 7 |
8 #ifndef VM_ASSEMBLER_H_ | 8 #ifndef VM_ASSEMBLER_H_ |
9 #error Do not include assembler_ia32.h directly; use assembler.h instead. | 9 #error Do not include assembler_ia32.h directly; use assembler.h instead. |
10 #endif | 10 #endif |
(...skipping 359 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
370 void mulss(XmmRegister dst, const Address& src); | 370 void mulss(XmmRegister dst, const Address& src); |
371 void divss(XmmRegister dst, XmmRegister src); | 371 void divss(XmmRegister dst, XmmRegister src); |
372 void divss(XmmRegister dst, const Address& src); | 372 void divss(XmmRegister dst, const Address& src); |
373 | 373 |
374 void movsd(XmmRegister dst, const Address& src); | 374 void movsd(XmmRegister dst, const Address& src); |
375 void movsd(const Address& dst, XmmRegister src); | 375 void movsd(const Address& dst, XmmRegister src); |
376 void movsd(XmmRegister dst, XmmRegister src); | 376 void movsd(XmmRegister dst, XmmRegister src); |
377 | 377 |
378 void movaps(XmmRegister dst, XmmRegister src); | 378 void movaps(XmmRegister dst, XmmRegister src); |
379 | 379 |
| 380 void movups(XmmRegister dst, const Address& src); |
| 381 void movups(const Address& dst, XmmRegister src); |
| 382 |
380 void addsd(XmmRegister dst, XmmRegister src); | 383 void addsd(XmmRegister dst, XmmRegister src); |
381 void addsd(XmmRegister dst, const Address& src); | 384 void addsd(XmmRegister dst, const Address& src); |
382 void subsd(XmmRegister dst, XmmRegister src); | 385 void subsd(XmmRegister dst, XmmRegister src); |
383 void subsd(XmmRegister dst, const Address& src); | 386 void subsd(XmmRegister dst, const Address& src); |
384 void mulsd(XmmRegister dst, XmmRegister src); | 387 void mulsd(XmmRegister dst, XmmRegister src); |
385 void mulsd(XmmRegister dst, const Address& src); | 388 void mulsd(XmmRegister dst, const Address& src); |
386 void divsd(XmmRegister dst, XmmRegister src); | 389 void divsd(XmmRegister dst, XmmRegister src); |
387 void divsd(XmmRegister dst, const Address& src); | 390 void divsd(XmmRegister dst, const Address& src); |
388 | 391 |
| 392 |
| 393 void addps(XmmRegister dst, XmmRegister src); |
| 394 void subps(XmmRegister dst, XmmRegister src); |
| 395 void divps(XmmRegister dst, XmmRegister src); |
| 396 void mulps(XmmRegister dst, XmmRegister src); |
| 397 void minps(XmmRegister dst, XmmRegister src); |
| 398 void maxps(XmmRegister dst, XmmRegister src); |
| 399 void andps(XmmRegister dst, XmmRegister src); |
| 400 void andps(XmmRegister dst, const Address& src); |
| 401 void orps(XmmRegister dst, XmmRegister src); |
| 402 void notps(XmmRegister dst); |
| 403 void negateps(XmmRegister dst); |
| 404 void absps(XmmRegister dst); |
| 405 void zerowps(XmmRegister dst); |
| 406 void cmppseq(XmmRegister dst, XmmRegister src); |
| 407 void cmppsneq(XmmRegister dst, XmmRegister src); |
| 408 void cmppslt(XmmRegister dst, XmmRegister src); |
| 409 void cmppsle(XmmRegister dst, XmmRegister src); |
| 410 void cmppsnlt(XmmRegister dst, XmmRegister src); |
| 411 void cmppsnle(XmmRegister dst, XmmRegister src); |
| 412 void sqrtps(XmmRegister dst); |
| 413 void rsqrtps(XmmRegister dst); |
| 414 void reciprocalps(XmmRegister dst); |
| 415 |
| 416 void set1ps(XmmRegister dst, Register tmp, const Immediate& imm); |
| 417 void shufps(XmmRegister dst, XmmRegister src, const Immediate& mask); |
| 418 |
389 void cvtsi2ss(XmmRegister dst, Register src); | 419 void cvtsi2ss(XmmRegister dst, Register src); |
390 void cvtsi2sd(XmmRegister dst, Register src); | 420 void cvtsi2sd(XmmRegister dst, Register src); |
391 | 421 |
392 void cvtss2si(Register dst, XmmRegister src); | 422 void cvtss2si(Register dst, XmmRegister src); |
393 void cvtss2sd(XmmRegister dst, XmmRegister src); | 423 void cvtss2sd(XmmRegister dst, XmmRegister src); |
394 | 424 |
395 void cvtsd2si(Register dst, XmmRegister src); | 425 void cvtsd2si(Register dst, XmmRegister src); |
396 void cvtsd2ss(XmmRegister dst, XmmRegister src); | 426 void cvtsd2ss(XmmRegister dst, XmmRegister src); |
397 | 427 |
398 void cvttss2si(Register dst, XmmRegister src); | 428 void cvttss2si(Register dst, XmmRegister src); |
399 void cvttsd2si(Register dst, XmmRegister src); | 429 void cvttsd2si(Register dst, XmmRegister src); |
400 | 430 |
401 void cvtdq2pd(XmmRegister dst, XmmRegister src); | 431 void cvtdq2pd(XmmRegister dst, XmmRegister src); |
402 | 432 |
403 void comiss(XmmRegister a, XmmRegister b); | 433 void comiss(XmmRegister a, XmmRegister b); |
404 void comisd(XmmRegister a, XmmRegister b); | 434 void comisd(XmmRegister a, XmmRegister b); |
405 | 435 |
406 void movmskpd(Register dst, XmmRegister src); | 436 void movmskpd(Register dst, XmmRegister src); |
| 437 void movmskps(Register dst, XmmRegister src); |
407 | 438 |
408 void sqrtsd(XmmRegister dst, XmmRegister src); | 439 void sqrtsd(XmmRegister dst, XmmRegister src); |
409 void sqrtss(XmmRegister dst, XmmRegister src); | 440 void sqrtss(XmmRegister dst, XmmRegister src); |
410 | 441 |
411 void xorpd(XmmRegister dst, const Address& src); | 442 void xorpd(XmmRegister dst, const Address& src); |
412 void xorpd(XmmRegister dst, XmmRegister src); | 443 void xorpd(XmmRegister dst, XmmRegister src); |
413 void xorps(XmmRegister dst, const Address& src); | 444 void xorps(XmmRegister dst, const Address& src); |
414 void xorps(XmmRegister dst, XmmRegister src); | 445 void xorps(XmmRegister dst, XmmRegister src); |
415 | 446 |
416 void andpd(XmmRegister dst, const Address& src); | 447 void andpd(XmmRegister dst, const Address& src); |
(...skipping 316 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
733 } | 764 } |
734 | 765 |
735 | 766 |
736 inline void Assembler::EmitOperandSizeOverride() { | 767 inline void Assembler::EmitOperandSizeOverride() { |
737 EmitUint8(0x66); | 768 EmitUint8(0x66); |
738 } | 769 } |
739 | 770 |
740 } // namespace dart | 771 } // namespace dart |
741 | 772 |
742 #endif // VM_ASSEMBLER_IA32_H_ | 773 #endif // VM_ASSEMBLER_IA32_H_ |
OLD | NEW |