| OLD | NEW |
| 1 //===- subzero/src/IceInstX86BaseImpl.h - Generic X86 instructions -*- C++ -*=// | 1 //===- subzero/src/IceInstX86BaseImpl.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 2119 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2130 Str << ", "; | 2130 Str << ", "; |
| 2131 this->getSrc(0)->dump(Func); | 2131 this->getSrc(0)->dump(Func); |
| 2132 } | 2132 } |
| 2133 | 2133 |
| 2134 template <class Machine> | 2134 template <class Machine> |
| 2135 void InstX86StoreP<Machine>::emit(const Cfg *Func) const { | 2135 void InstX86StoreP<Machine>::emit(const Cfg *Func) const { |
| 2136 if (!BuildDefs::dump()) | 2136 if (!BuildDefs::dump()) |
| 2137 return; | 2137 return; |
| 2138 Ostream &Str = Func->getContext()->getStrEmit(); | 2138 Ostream &Str = Func->getContext()->getStrEmit(); |
| 2139 assert(this->getSrcSize() == 2); | 2139 assert(this->getSrcSize() == 2); |
| 2140 assert(isVectorType(this->getSrc(1)->getType())); |
| 2140 Str << "\tmovups\t"; | 2141 Str << "\tmovups\t"; |
| 2141 this->getSrc(0)->emit(Func); | 2142 this->getSrc(0)->emit(Func); |
| 2142 Str << ", "; | 2143 Str << ", "; |
| 2143 this->getSrc(1)->emit(Func); | 2144 this->getSrc(1)->emit(Func); |
| 2144 } | 2145 } |
| 2145 | 2146 |
| 2146 template <class Machine> | 2147 template <class Machine> |
| 2147 void InstX86StoreP<Machine>::emitIAS(const Cfg *Func) const { | 2148 void InstX86StoreP<Machine>::emitIAS(const Cfg *Func) const { |
| 2148 typename InstX86Base<Machine>::Traits::Assembler *Asm = | 2149 typename InstX86Base<Machine>::Traits::Assembler *Asm = |
| 2149 Func->getAssembler<typename InstX86Base<Machine>::Traits::Assembler>(); | 2150 Func->getAssembler<typename InstX86Base<Machine>::Traits::Assembler>(); |
| (...skipping 21 matching lines...) Expand all Loading... |
| 2171 this->getSrc(0)->dump(Func); | 2172 this->getSrc(0)->dump(Func); |
| 2172 } | 2173 } |
| 2173 | 2174 |
| 2174 template <class Machine> | 2175 template <class Machine> |
| 2175 void InstX86StoreQ<Machine>::emit(const Cfg *Func) const { | 2176 void InstX86StoreQ<Machine>::emit(const Cfg *Func) const { |
| 2176 if (!BuildDefs::dump()) | 2177 if (!BuildDefs::dump()) |
| 2177 return; | 2178 return; |
| 2178 Ostream &Str = Func->getContext()->getStrEmit(); | 2179 Ostream &Str = Func->getContext()->getStrEmit(); |
| 2179 assert(this->getSrcSize() == 2); | 2180 assert(this->getSrcSize() == 2); |
| 2180 assert(this->getSrc(1)->getType() == IceType_i64 || | 2181 assert(this->getSrc(1)->getType() == IceType_i64 || |
| 2181 this->getSrc(1)->getType() == IceType_f64); | 2182 this->getSrc(1)->getType() == IceType_f64 || |
| 2183 isVectorType(this->getSrc(1)->getType())); |
| 2182 Str << "\tmovq\t"; | 2184 Str << "\tmovq\t"; |
| 2183 this->getSrc(0)->emit(Func); | 2185 this->getSrc(0)->emit(Func); |
| 2184 Str << ", "; | 2186 Str << ", "; |
| 2185 this->getSrc(1)->emit(Func); | 2187 this->getSrc(1)->emit(Func); |
| 2186 } | 2188 } |
| 2187 | 2189 |
| 2188 template <class Machine> | 2190 template <class Machine> |
| 2189 void InstX86StoreQ<Machine>::emitIAS(const Cfg *Func) const { | 2191 void InstX86StoreQ<Machine>::emitIAS(const Cfg *Func) const { |
| 2190 typename InstX86Base<Machine>::Traits::Assembler *Asm = | 2192 typename InstX86Base<Machine>::Traits::Assembler *Asm = |
| 2191 Func->getAssembler<typename InstX86Base<Machine>::Traits::Assembler>(); | 2193 Func->getAssembler<typename InstX86Base<Machine>::Traits::Assembler>(); |
| (...skipping 963 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3155 Type Ty = this->getSrc(0)->getType(); | 3157 Type Ty = this->getSrc(0)->getType(); |
| 3156 Str << "xchg." << Ty << " "; | 3158 Str << "xchg." << Ty << " "; |
| 3157 this->dumpSources(Func); | 3159 this->dumpSources(Func); |
| 3158 } | 3160 } |
| 3159 | 3161 |
| 3160 } // end of namespace X86Internal | 3162 } // end of namespace X86Internal |
| 3161 | 3163 |
| 3162 } // end of namespace Ice | 3164 } // end of namespace Ice |
| 3163 | 3165 |
| 3164 #endif // SUBZERO_SRC_ICEINSTX86BASEIMPL_H | 3166 #endif // SUBZERO_SRC_ICEINSTX86BASEIMPL_H |
| OLD | NEW |