| OLD | NEW | 
|     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  Loading... | 
|   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  Loading... | 
|  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  Loading... | 
|  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  Loading... | 
|  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 | 
| OLD | NEW |