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

Side by Side Diff: src/IceInstX86Base.h

Issue 1876413002: Subzero. WASM. Additional progress. (Closed) Base URL: https://chromium.googlesource.com/native_client/pnacl-subzero.git@master
Patch Set: Code review feedback and merging with master Created 4 years, 8 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
« no previous file with comments | « src/IceInst.cpp ('k') | src/IceInstX86BaseImpl.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 //===- subzero/src/IceInstX86Base.h - Generic x86 instructions -*- C++ -*--===// 1 //===- subzero/src/IceInstX86Base.h - Generic 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 /// \file 10 /// \file
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after
100 Divss, 100 Divss,
101 FakeRMW, 101 FakeRMW,
102 Fld, 102 Fld,
103 Fstp, 103 Fstp,
104 GetIP, 104 GetIP,
105 Icmp, 105 Icmp,
106 Idiv, 106 Idiv,
107 Imul, 107 Imul,
108 ImulImm, 108 ImulImm,
109 Insertps, 109 Insertps,
110 Int3,
110 Jmp, 111 Jmp,
111 Label, 112 Label,
112 Lea, 113 Lea,
113 Load, 114 Load,
114 Mfence, 115 Mfence,
115 Minss, 116 Minss,
116 Maxss, 117 Maxss,
117 Mov, 118 Mov,
118 Movd, 119 Movd,
119 Movp, 120 Movp,
(...skipping 2315 matching lines...) Expand 10 before | Expand all | Expand 10 after
2435 void emitIAS(const Cfg *Func) const override; 2436 void emitIAS(const Cfg *Func) const override;
2436 void dump(const Cfg *Func) const override; 2437 void dump(const Cfg *Func) const override;
2437 static bool classof(const Inst *Instr) { 2438 static bool classof(const Inst *Instr) {
2438 return InstX86Base::isClassof(Instr, InstX86Base::UD2); 2439 return InstX86Base::isClassof(Instr, InstX86Base::UD2);
2439 } 2440 }
2440 2441
2441 private: 2442 private:
2442 explicit InstX86UD2(Cfg *Func); 2443 explicit InstX86UD2(Cfg *Func);
2443 }; 2444 };
2444 2445
2446 /// Int3 instruction.
2447 class InstX86Int3 final : public InstX86Base {
2448 InstX86Int3() = delete;
2449 InstX86Int3(const InstX86Int3 &) = delete;
2450 InstX86Int3 &operator=(const InstX86Int3 &) = delete;
2451
2452 public:
2453 static InstX86Int3 *create(Cfg *Func) {
2454 return new (Func->allocate<InstX86Int3>()) InstX86Int3(Func);
2455 }
2456 void emit(const Cfg *Func) const override;
2457 void emitIAS(const Cfg *Func) const override;
2458 void dump(const Cfg *Func) const override;
2459 static bool classof(const Inst *Instr) {
2460 return InstX86Base::isClassof(Instr, InstX86Base::Int3);
2461 }
2462
2463 private:
2464 explicit InstX86Int3(Cfg *Func);
2465 };
2466
2445 /// Test instruction. 2467 /// Test instruction.
2446 class InstX86Test final : public InstX86Base { 2468 class InstX86Test final : public InstX86Base {
2447 InstX86Test() = delete; 2469 InstX86Test() = delete;
2448 InstX86Test(const InstX86Test &) = delete; 2470 InstX86Test(const InstX86Test &) = delete;
2449 InstX86Test &operator=(const InstX86Test &) = delete; 2471 InstX86Test &operator=(const InstX86Test &) = delete;
2450 2472
2451 public: 2473 public:
2452 static InstX86Test *create(Cfg *Func, Operand *Source1, Operand *Source2) { 2474 static InstX86Test *create(Cfg *Func, Operand *Source1, Operand *Source2) {
2453 return new (Func->allocate<InstX86Test>()) 2475 return new (Func->allocate<InstX86Test>())
2454 InstX86Test(Func, Source1, Source2); 2476 InstX86Test(Func, Source1, Source2);
(...skipping 452 matching lines...) Expand 10 before | Expand all | Expand 10 after
2907 using Shld = typename InstImpl<TraitsType>::InstX86Shld; 2929 using Shld = typename InstImpl<TraitsType>::InstX86Shld;
2908 using Shrd = typename InstImpl<TraitsType>::InstX86Shrd; 2930 using Shrd = typename InstImpl<TraitsType>::InstX86Shrd;
2909 using Cmov = typename InstImpl<TraitsType>::InstX86Cmov; 2931 using Cmov = typename InstImpl<TraitsType>::InstX86Cmov;
2910 using Cmpps = typename InstImpl<TraitsType>::InstX86Cmpps; 2932 using Cmpps = typename InstImpl<TraitsType>::InstX86Cmpps;
2911 using Cmpxchg = typename InstImpl<TraitsType>::InstX86Cmpxchg; 2933 using Cmpxchg = typename InstImpl<TraitsType>::InstX86Cmpxchg;
2912 using Cmpxchg8b = typename InstImpl<TraitsType>::InstX86Cmpxchg8b; 2934 using Cmpxchg8b = typename InstImpl<TraitsType>::InstX86Cmpxchg8b;
2913 using Cvt = typename InstImpl<TraitsType>::InstX86Cvt; 2935 using Cvt = typename InstImpl<TraitsType>::InstX86Cvt;
2914 using Icmp = typename InstImpl<TraitsType>::InstX86Icmp; 2936 using Icmp = typename InstImpl<TraitsType>::InstX86Icmp;
2915 using Ucomiss = typename InstImpl<TraitsType>::InstX86Ucomiss; 2937 using Ucomiss = typename InstImpl<TraitsType>::InstX86Ucomiss;
2916 using UD2 = typename InstImpl<TraitsType>::InstX86UD2; 2938 using UD2 = typename InstImpl<TraitsType>::InstX86UD2;
2939 using Int3 = typename InstImpl<TraitsType>::InstX86Int3;
2917 using Test = typename InstImpl<TraitsType>::InstX86Test; 2940 using Test = typename InstImpl<TraitsType>::InstX86Test;
2918 using Mfence = typename InstImpl<TraitsType>::InstX86Mfence; 2941 using Mfence = typename InstImpl<TraitsType>::InstX86Mfence;
2919 using Store = typename InstImpl<TraitsType>::InstX86Store; 2942 using Store = typename InstImpl<TraitsType>::InstX86Store;
2920 using StoreP = typename InstImpl<TraitsType>::InstX86StoreP; 2943 using StoreP = typename InstImpl<TraitsType>::InstX86StoreP;
2921 using StoreQ = typename InstImpl<TraitsType>::InstX86StoreQ; 2944 using StoreQ = typename InstImpl<TraitsType>::InstX86StoreQ;
2922 using Nop = typename InstImpl<TraitsType>::InstX86Nop; 2945 using Nop = typename InstImpl<TraitsType>::InstX86Nop;
2923 template <typename T = typename InstImpl<TraitsType>::Traits> 2946 template <typename T = typename InstImpl<TraitsType>::Traits>
2924 using Fld = 2947 using Fld =
2925 typename std::enable_if<T::UsesX87, 2948 typename std::enable_if<T::UsesX87,
2926 typename InstImpl<TraitsType>::InstX86Fld>::type; 2949 typename InstImpl<TraitsType>::InstX86Fld>::type;
(...skipping 602 matching lines...) Expand 10 before | Expand all | Expand 10 after
3529 &InstImpl<TraitsType>::Assembler::psrl}; \ 3552 &InstImpl<TraitsType>::Assembler::psrl}; \
3530 } \ 3553 } \
3531 } 3554 }
3532 3555
3533 } // end of namespace X86NAMESPACE 3556 } // end of namespace X86NAMESPACE
3534 } // end of namespace Ice 3557 } // end of namespace Ice
3535 3558
3536 #include "IceInstX86BaseImpl.h" 3559 #include "IceInstX86BaseImpl.h"
3537 3560
3538 #endif // SUBZERO_SRC_ICEINSTX86BASE_H 3561 #endif // SUBZERO_SRC_ICEINSTX86BASE_H
OLDNEW
« no previous file with comments | « src/IceInst.cpp ('k') | src/IceInstX86BaseImpl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698