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 | |
383 void addsd(XmmRegister dst, XmmRegister src); | 380 void addsd(XmmRegister dst, XmmRegister src); |
384 void addsd(XmmRegister dst, const Address& src); | 381 void addsd(XmmRegister dst, const Address& src); |
385 void subsd(XmmRegister dst, XmmRegister src); | 382 void subsd(XmmRegister dst, XmmRegister src); |
386 void subsd(XmmRegister dst, const Address& src); | 383 void subsd(XmmRegister dst, const Address& src); |
387 void mulsd(XmmRegister dst, XmmRegister src); | 384 void mulsd(XmmRegister dst, XmmRegister src); |
388 void mulsd(XmmRegister dst, const Address& src); | 385 void mulsd(XmmRegister dst, const Address& src); |
389 void divsd(XmmRegister dst, XmmRegister src); | 386 void divsd(XmmRegister dst, XmmRegister src); |
390 void divsd(XmmRegister dst, const Address& src); | 387 void divsd(XmmRegister dst, const Address& src); |
391 | 388 |
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 | |
419 void cvtsi2ss(XmmRegister dst, Register src); | 389 void cvtsi2ss(XmmRegister dst, Register src); |
420 void cvtsi2sd(XmmRegister dst, Register src); | 390 void cvtsi2sd(XmmRegister dst, Register src); |
421 | 391 |
422 void cvtss2si(Register dst, XmmRegister src); | 392 void cvtss2si(Register dst, XmmRegister src); |
423 void cvtss2sd(XmmRegister dst, XmmRegister src); | 393 void cvtss2sd(XmmRegister dst, XmmRegister src); |
424 | 394 |
425 void cvtsd2si(Register dst, XmmRegister src); | 395 void cvtsd2si(Register dst, XmmRegister src); |
426 void cvtsd2ss(XmmRegister dst, XmmRegister src); | 396 void cvtsd2ss(XmmRegister dst, XmmRegister src); |
427 | 397 |
428 void cvttss2si(Register dst, XmmRegister src); | 398 void cvttss2si(Register dst, XmmRegister src); |
429 void cvttsd2si(Register dst, XmmRegister src); | 399 void cvttsd2si(Register dst, XmmRegister src); |
430 | 400 |
431 void cvtdq2pd(XmmRegister dst, XmmRegister src); | 401 void cvtdq2pd(XmmRegister dst, XmmRegister src); |
432 | 402 |
433 void comiss(XmmRegister a, XmmRegister b); | 403 void comiss(XmmRegister a, XmmRegister b); |
434 void comisd(XmmRegister a, XmmRegister b); | 404 void comisd(XmmRegister a, XmmRegister b); |
435 | 405 |
436 void movmskpd(Register dst, XmmRegister src); | 406 void movmskpd(Register dst, XmmRegister src); |
437 void movmskps(Register dst, XmmRegister src); | |
438 | 407 |
439 void sqrtsd(XmmRegister dst, XmmRegister src); | 408 void sqrtsd(XmmRegister dst, XmmRegister src); |
440 void sqrtss(XmmRegister dst, XmmRegister src); | 409 void sqrtss(XmmRegister dst, XmmRegister src); |
441 | 410 |
442 void xorpd(XmmRegister dst, const Address& src); | 411 void xorpd(XmmRegister dst, const Address& src); |
443 void xorpd(XmmRegister dst, XmmRegister src); | 412 void xorpd(XmmRegister dst, XmmRegister src); |
444 void xorps(XmmRegister dst, const Address& src); | 413 void xorps(XmmRegister dst, const Address& src); |
445 void xorps(XmmRegister dst, XmmRegister src); | 414 void xorps(XmmRegister dst, XmmRegister src); |
446 | 415 |
447 void andpd(XmmRegister dst, const Address& src); | 416 void andpd(XmmRegister dst, const Address& src); |
(...skipping 316 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
764 } | 733 } |
765 | 734 |
766 | 735 |
767 inline void Assembler::EmitOperandSizeOverride() { | 736 inline void Assembler::EmitOperandSizeOverride() { |
768 EmitUint8(0x66); | 737 EmitUint8(0x66); |
769 } | 738 } |
770 | 739 |
771 } // namespace dart | 740 } // namespace dart |
772 | 741 |
773 #endif // VM_ASSEMBLER_IA32_H_ | 742 #endif // VM_ASSEMBLER_IA32_H_ |
OLD | NEW |