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