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

Side by Side Diff: src/assembler_ia32.h

Issue 634333002: emitIAS for fld and fstp (Closed) Base URL: https://chromium.googlesource.com/native_client/pnacl-subzero.git@master
Patch Set: Created 6 years, 2 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
OLDNEW
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 // Modified by the Subzero authors. 5 // Modified by the Subzero authors.
6 // 6 //
7 //===- subzero/src/assembler_ia32.h - Assembler for x86-32 ----------------===// 7 //===- subzero/src/assembler_ia32.h - Assembler for x86-32 ----------------===//
8 // 8 //
9 // The Subzero Code Generator 9 // The Subzero Code Generator
10 // 10 //
(...skipping 428 matching lines...) Expand 10 before | Expand all | Expand 10 after
439 void movsxw(GPRRegister dst, const Address &src); 439 void movsxw(GPRRegister dst, const Address &src);
440 void movw(GPRRegister dst, const Address &src); 440 void movw(GPRRegister dst, const Address &src);
441 void movw(const Address &dst, GPRRegister src); 441 void movw(const Address &dst, GPRRegister src);
442 442
443 void lea(Type Ty, GPRRegister dst, const Address &src); 443 void lea(Type Ty, GPRRegister dst, const Address &src);
444 444
445 void cmov(CondX86::BrCond cond, GPRRegister dst, GPRRegister src); 445 void cmov(CondX86::BrCond cond, GPRRegister dst, GPRRegister src);
446 446
447 void rep_movsb(); 447 void rep_movsb();
448 448
449 void movss(XmmRegister dst, const Address &src); 449 void movss(Type Ty, XmmRegister dst, const Address &src);
450 void movss(const Address &dst, XmmRegister src); 450 void movss(Type Ty, const Address &dst, XmmRegister src);
451 void movss(XmmRegister dst, XmmRegister src); 451 void movss(Type Ty, XmmRegister dst, XmmRegister src);
452 452
453 void movd(XmmRegister dst, GPRRegister src); 453 void movd(XmmRegister dst, GPRRegister src);
454 void movd(XmmRegister dst, const Address &src); 454 void movd(XmmRegister dst, const Address &src);
455 void movd(GPRRegister dst, XmmRegister src); 455 void movd(GPRRegister dst, XmmRegister src);
456 void movd(const Address &dst, XmmRegister src); 456 void movd(const Address &dst, XmmRegister src);
457 457
458 void movq(XmmRegister dst, XmmRegister src); 458 void movq(XmmRegister dst, XmmRegister src);
459 void movq(const Address &dst, XmmRegister src); 459 void movq(const Address &dst, XmmRegister src);
460 void movq(XmmRegister dst, const Address &src); 460 void movq(XmmRegister dst, const Address &src);
461 461
462 void addss(Type Ty, XmmRegister dst, XmmRegister src); 462 void addss(Type Ty, XmmRegister dst, XmmRegister src);
463 void addss(Type Ty, XmmRegister dst, const Address &src); 463 void addss(Type Ty, XmmRegister dst, const Address &src);
464 void subss(Type Ty, XmmRegister dst, XmmRegister src); 464 void subss(Type Ty, XmmRegister dst, XmmRegister src);
465 void subss(Type Ty, XmmRegister dst, const Address &src); 465 void subss(Type Ty, XmmRegister dst, const Address &src);
466 void mulss(Type Ty, XmmRegister dst, XmmRegister src); 466 void mulss(Type Ty, XmmRegister dst, XmmRegister src);
467 void mulss(Type Ty, XmmRegister dst, const Address &src); 467 void mulss(Type Ty, XmmRegister dst, const Address &src);
468 void divss(Type Ty, XmmRegister dst, XmmRegister src); 468 void divss(Type Ty, XmmRegister dst, XmmRegister src);
469 void divss(Type Ty, XmmRegister dst, const Address &src); 469 void divss(Type Ty, XmmRegister dst, const Address &src);
470 470
471 void movsd(XmmRegister dst, const Address &src);
472 void movsd(const Address &dst, XmmRegister src);
473 void movsd(XmmRegister dst, XmmRegister src);
474
475 void movaps(XmmRegister dst, XmmRegister src); 471 void movaps(XmmRegister dst, XmmRegister src);
476 472
477 void movups(XmmRegister dst, XmmRegister src); 473 void movups(XmmRegister dst, XmmRegister src);
478 void movups(XmmRegister dst, const Address &src); 474 void movups(XmmRegister dst, const Address &src);
479 void movups(const Address &dst, XmmRegister src); 475 void movups(const Address &dst, XmmRegister src);
480 476
481 void padd(Type Ty, XmmRegister dst, XmmRegister src); 477 void padd(Type Ty, XmmRegister dst, XmmRegister src);
482 void padd(Type Ty, XmmRegister dst, const Address &src); 478 void padd(Type Ty, XmmRegister dst, const Address &src);
483 void pand(Type Ty, XmmRegister dst, XmmRegister src); 479 void pand(Type Ty, XmmRegister dst, XmmRegister src);
484 void pand(Type Ty, XmmRegister dst, const Address &src); 480 void pand(Type Ty, XmmRegister dst, const Address &src);
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after
583 void pcmpgt(Type Ty, XmmRegister dst, const Address &src); 579 void pcmpgt(Type Ty, XmmRegister dst, const Address &src);
584 580
585 enum RoundingMode { 581 enum RoundingMode {
586 kRoundToNearest = 0x0, 582 kRoundToNearest = 0x0,
587 kRoundDown = 0x1, 583 kRoundDown = 0x1,
588 kRoundUp = 0x2, 584 kRoundUp = 0x2,
589 kRoundToZero = 0x3 585 kRoundToZero = 0x3
590 }; 586 };
591 void roundsd(XmmRegister dst, XmmRegister src, RoundingMode mode); 587 void roundsd(XmmRegister dst, XmmRegister src, RoundingMode mode);
592 588
593 void flds(const Address &src); 589 void fld(Type Ty, const Address &src);
594 void fstps(const Address &dst); 590 void fstp(Type Ty, const Address &dst);
595
596 void fldl(const Address &src);
597 void fstpl(const Address &dst);
598 591
599 void fnstcw(const Address &dst); 592 void fnstcw(const Address &dst);
600 void fldcw(const Address &src); 593 void fldcw(const Address &src);
601 594
602 void fistpl(const Address &dst); 595 void fistpl(const Address &dst);
603 void fistps(const Address &dst); 596 void fistps(const Address &dst);
604 void fildl(const Address &src); 597 void fildl(const Address &src);
605 void filds(const Address &src); 598 void filds(const Address &src);
606 599
607 void fincstp(); 600 void fincstp();
(...skipping 198 matching lines...) Expand 10 before | Expand all | Expand 10 after
806 inline void AssemblerX86::EmitFixup(AssemblerFixup *fixup) { 799 inline void AssemblerX86::EmitFixup(AssemblerFixup *fixup) {
807 buffer_.EmitFixup(fixup); 800 buffer_.EmitFixup(fixup);
808 } 801 }
809 802
810 inline void AssemblerX86::EmitOperandSizeOverride() { EmitUint8(0x66); } 803 inline void AssemblerX86::EmitOperandSizeOverride() { EmitUint8(0x66); }
811 804
812 } // end of namespace x86 805 } // end of namespace x86
813 } // end of namespace Ice 806 } // end of namespace Ice
814 807
815 #endif // SUBZERO_SRC_ASSEMBLER_IA32_H_ 808 #endif // SUBZERO_SRC_ASSEMBLER_IA32_H_
OLDNEW
« src/IceInstX8632.cpp ('K') | « src/IceInstX8632.cpp ('k') | src/assembler_ia32.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698