OLD | NEW |
---|---|
1 //===- subzero/src/IceInstX8632.h - Low-level x86 instructions --*- C++ -*-===// | 1 //===- subzero/src/IceInstX8632.h - Low-level x86 instructions --*- C++ -*-===// |
2 // | 2 // |
3 // The Subzero Code Generator | 3 // The Subzero Code Generator |
4 // | 4 // |
5 // This file is distributed under the University of Illinois Open Source | 5 // This file is distributed under the University of Illinois Open Source |
6 // License. See LICENSE.TXT for details. | 6 // License. See LICENSE.TXT for details. |
7 // | 7 // |
8 //===----------------------------------------------------------------------===// | 8 //===----------------------------------------------------------------------===// |
9 // | 9 // |
10 // This file declares the InstX8632 and OperandX8632 classes and | 10 // This file declares the InstX8632 and OperandX8632 classes and |
(...skipping 534 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
545 virtual ~InstX8632ThreeAddressop() {} | 545 virtual ~InstX8632ThreeAddressop() {} |
546 static const char *Opcode; | 546 static const char *Opcode; |
547 }; | 547 }; |
548 | 548 |
549 typedef InstX8632Inplaceop<InstX8632::Bswap> InstX8632Bswap; | 549 typedef InstX8632Inplaceop<InstX8632::Bswap> InstX8632Bswap; |
550 typedef InstX8632Inplaceop<InstX8632::Neg> InstX8632Neg; | 550 typedef InstX8632Inplaceop<InstX8632::Neg> InstX8632Neg; |
551 typedef InstX8632Unaryop<InstX8632::Bsf> InstX8632Bsf; | 551 typedef InstX8632Unaryop<InstX8632::Bsf> InstX8632Bsf; |
552 typedef InstX8632Unaryop<InstX8632::Bsr> InstX8632Bsr; | 552 typedef InstX8632Unaryop<InstX8632::Bsr> InstX8632Bsr; |
553 typedef InstX8632Unaryop<InstX8632::Lea> InstX8632Lea; | 553 typedef InstX8632Unaryop<InstX8632::Lea> InstX8632Lea; |
554 typedef InstX8632Unaryop<InstX8632::Movd> InstX8632Movd; | 554 typedef InstX8632Unaryop<InstX8632::Movd> InstX8632Movd; |
555 typedef InstX8632Unaryop<InstX8632::Movss> InstX8632Movss; | |
556 typedef InstX8632Unaryop<InstX8632::Sqrtss> InstX8632Sqrtss; | 555 typedef InstX8632Unaryop<InstX8632::Sqrtss> InstX8632Sqrtss; |
557 typedef InstX8632Binop<InstX8632::Add> InstX8632Add; | 556 typedef InstX8632Binop<InstX8632::Add> InstX8632Add; |
558 typedef InstX8632Binop<InstX8632::Addps> InstX8632Addps; | 557 typedef InstX8632Binop<InstX8632::Addps> InstX8632Addps; |
559 typedef InstX8632Binop<InstX8632::Adc> InstX8632Adc; | 558 typedef InstX8632Binop<InstX8632::Adc> InstX8632Adc; |
560 typedef InstX8632Binop<InstX8632::Addss> InstX8632Addss; | 559 typedef InstX8632Binop<InstX8632::Addss> InstX8632Addss; |
561 typedef InstX8632Binop<InstX8632::Padd> InstX8632Padd; | 560 typedef InstX8632Binop<InstX8632::Padd> InstX8632Padd; |
562 typedef InstX8632Binop<InstX8632::Sub> InstX8632Sub; | 561 typedef InstX8632Binop<InstX8632::Sub> InstX8632Sub; |
563 typedef InstX8632Binop<InstX8632::Subps> InstX8632Subps; | 562 typedef InstX8632Binop<InstX8632::Subps> InstX8632Subps; |
564 typedef InstX8632Binop<InstX8632::Subss> InstX8632Subss; | 563 typedef InstX8632Binop<InstX8632::Subss> InstX8632Subss; |
565 typedef InstX8632Binop<InstX8632::Sbb> InstX8632Sbb; | 564 typedef InstX8632Binop<InstX8632::Sbb> InstX8632Sbb; |
(...skipping 13 matching lines...) Expand all Loading... | |
579 typedef InstX8632Binop<InstX8632::Divps> InstX8632Divps; | 578 typedef InstX8632Binop<InstX8632::Divps> InstX8632Divps; |
580 typedef InstX8632Binop<InstX8632::Divss> InstX8632Divss; | 579 typedef InstX8632Binop<InstX8632::Divss> InstX8632Divss; |
581 typedef InstX8632Binop<InstX8632::Rol, true> InstX8632Rol; | 580 typedef InstX8632Binop<InstX8632::Rol, true> InstX8632Rol; |
582 typedef InstX8632Binop<InstX8632::Shl, true> InstX8632Shl; | 581 typedef InstX8632Binop<InstX8632::Shl, true> InstX8632Shl; |
583 typedef InstX8632Binop<InstX8632::Psll> InstX8632Psll; | 582 typedef InstX8632Binop<InstX8632::Psll> InstX8632Psll; |
584 typedef InstX8632Binop<InstX8632::Shr, true> InstX8632Shr; | 583 typedef InstX8632Binop<InstX8632::Shr, true> InstX8632Shr; |
585 typedef InstX8632Binop<InstX8632::Sar, true> InstX8632Sar; | 584 typedef InstX8632Binop<InstX8632::Sar, true> InstX8632Sar; |
586 typedef InstX8632Binop<InstX8632::Psra> InstX8632Psra; | 585 typedef InstX8632Binop<InstX8632::Psra> InstX8632Psra; |
587 typedef InstX8632Binop<InstX8632::Pcmpeq> InstX8632Pcmpeq; | 586 typedef InstX8632Binop<InstX8632::Pcmpeq> InstX8632Pcmpeq; |
588 typedef InstX8632Binop<InstX8632::Pcmpgt> InstX8632Pcmpgt; | 587 typedef InstX8632Binop<InstX8632::Pcmpgt> InstX8632Pcmpgt; |
588 typedef InstX8632Binop<InstX8632::Movss> InstX8632Movss; | |
Jim Stichnoth
2014/07/25 20:07:12
Could you add a TODO here, or somewhere appropriat
wala
2014/07/25 22:57:41
Done.
Per our discussion, movss is a binary op on
| |
589 typedef InstX8632Ternop<InstX8632::Idiv> InstX8632Idiv; | 589 typedef InstX8632Ternop<InstX8632::Idiv> InstX8632Idiv; |
590 typedef InstX8632Ternop<InstX8632::Div> InstX8632Div; | 590 typedef InstX8632Ternop<InstX8632::Div> InstX8632Div; |
591 typedef InstX8632Ternop<InstX8632::Pinsrw> InstX8632Pinsrw; | 591 typedef InstX8632Ternop<InstX8632::Pinsrw> InstX8632Pinsrw; |
592 typedef InstX8632Ternop<InstX8632::Shufps> InstX8632Shufps; | 592 typedef InstX8632Ternop<InstX8632::Shufps> InstX8632Shufps; |
593 typedef InstX8632ThreeAddressop<InstX8632::Pextrw> InstX8632Pextrw; | 593 typedef InstX8632ThreeAddressop<InstX8632::Pextrw> InstX8632Pextrw; |
594 typedef InstX8632ThreeAddressop<InstX8632::Pshufd> InstX8632Pshufd; | 594 typedef InstX8632ThreeAddressop<InstX8632::Pshufd> InstX8632Pshufd; |
595 | 595 |
596 // Base class for a lockable x86-32 instruction (emits a locked prefix). | 596 // Base class for a lockable x86-32 instruction (emits a locked prefix). |
597 class InstX8632Lockable : public InstX8632 { | 597 class InstX8632Lockable : public InstX8632 { |
598 public: | 598 public: |
(...skipping 574 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1173 private: | 1173 private: |
1174 InstX8632Xchg(Cfg *Func, Operand *Dest, Variable *Source); | 1174 InstX8632Xchg(Cfg *Func, Operand *Dest, Variable *Source); |
1175 InstX8632Xchg(const InstX8632Xchg &) LLVM_DELETED_FUNCTION; | 1175 InstX8632Xchg(const InstX8632Xchg &) LLVM_DELETED_FUNCTION; |
1176 InstX8632Xchg &operator=(const InstX8632Xchg &) LLVM_DELETED_FUNCTION; | 1176 InstX8632Xchg &operator=(const InstX8632Xchg &) LLVM_DELETED_FUNCTION; |
1177 virtual ~InstX8632Xchg() {} | 1177 virtual ~InstX8632Xchg() {} |
1178 }; | 1178 }; |
1179 | 1179 |
1180 } // end of namespace Ice | 1180 } // end of namespace Ice |
1181 | 1181 |
1182 #endif // SUBZERO_SRC_ICEINSTX8632_H | 1182 #endif // SUBZERO_SRC_ICEINSTX8632_H |
OLD | NEW |