OLD | NEW |
1 //===- subzero/src/IceTargetLoweringX8632.h - x86-32 lowering ---*- C++ -*-===// | 1 //===- subzero/src/IceTargetLoweringX8632.h - x86-32 lowering ---*- 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 TargetLoweringX8632 class, which | 10 // This file declares the TargetLoweringX8632 class, which |
(...skipping 258 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
269 } | 269 } |
270 void _mulss(Variable *Dest, Operand *Src0) { | 270 void _mulss(Variable *Dest, Operand *Src0) { |
271 Context.insert(InstX8632Mulss::create(Func, Dest, Src0)); | 271 Context.insert(InstX8632Mulss::create(Func, Dest, Src0)); |
272 } | 272 } |
273 void _neg(Variable *SrcDest) { | 273 void _neg(Variable *SrcDest) { |
274 Context.insert(InstX8632Neg::create(Func, SrcDest)); | 274 Context.insert(InstX8632Neg::create(Func, SrcDest)); |
275 } | 275 } |
276 void _or(Variable *Dest, Operand *Src0) { | 276 void _or(Variable *Dest, Operand *Src0) { |
277 Context.insert(InstX8632Or::create(Func, Dest, Src0)); | 277 Context.insert(InstX8632Or::create(Func, Dest, Src0)); |
278 } | 278 } |
| 279 void _padd(Variable *Dest, Operand *Src0) { |
| 280 Context.insert(InstX8632Padd::create(Func, Dest, Src0)); |
| 281 } |
279 void _pand(Variable *Dest, Operand *Src0) { | 282 void _pand(Variable *Dest, Operand *Src0) { |
280 Context.insert(InstX8632Pand::create(Func, Dest, Src0)); | 283 Context.insert(InstX8632Pand::create(Func, Dest, Src0)); |
281 } | 284 } |
282 void _pcmpeq(Variable *Dest, Operand *Src0) { | 285 void _pcmpeq(Variable *Dest, Operand *Src0) { |
283 Context.insert(InstX8632Pcmpeq::create(Func, Dest, Src0)); | 286 Context.insert(InstX8632Pcmpeq::create(Func, Dest, Src0)); |
284 } | 287 } |
285 void _pcmpgt(Variable *Dest, Operand *Src0) { | 288 void _pcmpgt(Variable *Dest, Operand *Src0) { |
286 Context.insert(InstX8632Pcmpgt::create(Func, Dest, Src0)); | 289 Context.insert(InstX8632Pcmpgt::create(Func, Dest, Src0)); |
287 } | 290 } |
| 291 void _pmullw(Variable *Dest, Operand *Src0) { |
| 292 Context.insert(InstX8632Pmullw::create(Func, Dest, Src0)); |
| 293 } |
| 294 void _pmuludq(Variable *Dest, Operand *Src0) { |
| 295 Context.insert(InstX8632Pmuludq::create(Func, Dest, Src0)); |
| 296 } |
288 void _pop(Variable *Dest) { | 297 void _pop(Variable *Dest) { |
289 Context.insert(InstX8632Pop::create(Func, Dest)); | 298 Context.insert(InstX8632Pop::create(Func, Dest)); |
290 } | 299 } |
291 void _push(Operand *Src0, bool SuppressStackAdjustment = false) { | 300 void _por(Variable *Dest, Operand *Src0) { |
292 Context.insert(InstX8632Push::create(Func, Src0, SuppressStackAdjustment)); | 301 Context.insert(InstX8632Por::create(Func, Dest, Src0)); |
| 302 } |
| 303 void _pshufd(Variable *Dest, Operand *Src0, Operand *Src1) { |
| 304 Context.insert(InstX8632Pshufd::create(Func, Dest, Src0, Src1)); |
293 } | 305 } |
294 void _psll(Variable *Dest, Operand *Src0) { | 306 void _psll(Variable *Dest, Operand *Src0) { |
295 Context.insert(InstX8632Psll::create(Func, Dest, Src0)); | 307 Context.insert(InstX8632Psll::create(Func, Dest, Src0)); |
296 } | 308 } |
297 void _psra(Variable *Dest, Operand *Src0) { | 309 void _psra(Variable *Dest, Operand *Src0) { |
298 Context.insert(InstX8632Psra::create(Func, Dest, Src0)); | 310 Context.insert(InstX8632Psra::create(Func, Dest, Src0)); |
299 } | 311 } |
300 void _psub(Variable *Dest, Operand *Src0) { | 312 void _psub(Variable *Dest, Operand *Src0) { |
301 Context.insert(InstX8632Psub::create(Func, Dest, Src0)); | 313 Context.insert(InstX8632Psub::create(Func, Dest, Src0)); |
302 } | 314 } |
| 315 void _push(Operand *Src0, bool SuppressStackAdjustment = false) { |
| 316 Context.insert(InstX8632Push::create(Func, Src0, SuppressStackAdjustment)); |
| 317 } |
303 void _pxor(Variable *Dest, Operand *Src0) { | 318 void _pxor(Variable *Dest, Operand *Src0) { |
304 Context.insert(InstX8632Pxor::create(Func, Dest, Src0)); | 319 Context.insert(InstX8632Pxor::create(Func, Dest, Src0)); |
305 } | 320 } |
306 void _ret(Variable *Src0 = NULL) { | 321 void _ret(Variable *Src0 = NULL) { |
307 Context.insert(InstX8632Ret::create(Func, Src0)); | 322 Context.insert(InstX8632Ret::create(Func, Src0)); |
308 } | 323 } |
309 void _sar(Variable *Dest, Operand *Src0) { | 324 void _sar(Variable *Dest, Operand *Src0) { |
310 Context.insert(InstX8632Sar::create(Func, Dest, Src0)); | 325 Context.insert(InstX8632Sar::create(Func, Dest, Src0)); |
311 } | 326 } |
312 void _sbb(Variable *Dest, Operand *Src0) { | 327 void _sbb(Variable *Dest, Operand *Src0) { |
313 Context.insert(InstX8632Sbb::create(Func, Dest, Src0)); | 328 Context.insert(InstX8632Sbb::create(Func, Dest, Src0)); |
314 } | 329 } |
315 void _shl(Variable *Dest, Operand *Src0) { | 330 void _shl(Variable *Dest, Operand *Src0) { |
316 Context.insert(InstX8632Shl::create(Func, Dest, Src0)); | 331 Context.insert(InstX8632Shl::create(Func, Dest, Src0)); |
317 } | 332 } |
318 void _shld(Variable *Dest, Variable *Src0, Variable *Src1) { | 333 void _shld(Variable *Dest, Variable *Src0, Variable *Src1) { |
319 Context.insert(InstX8632Shld::create(Func, Dest, Src0, Src1)); | 334 Context.insert(InstX8632Shld::create(Func, Dest, Src0, Src1)); |
320 } | 335 } |
321 void _shr(Variable *Dest, Operand *Src0) { | 336 void _shr(Variable *Dest, Operand *Src0) { |
322 Context.insert(InstX8632Shr::create(Func, Dest, Src0)); | 337 Context.insert(InstX8632Shr::create(Func, Dest, Src0)); |
323 } | 338 } |
324 void _shrd(Variable *Dest, Variable *Src0, Variable *Src1) { | 339 void _shrd(Variable *Dest, Variable *Src0, Variable *Src1) { |
325 Context.insert(InstX8632Shrd::create(Func, Dest, Src0, Src1)); | 340 Context.insert(InstX8632Shrd::create(Func, Dest, Src0, Src1)); |
326 } | 341 } |
| 342 void _shufps(Variable *Dest, Operand *Src0, Operand *Src1) { |
| 343 Context.insert(InstX8632Shufps::create(Func, Dest, Src0, Src1)); |
| 344 } |
327 void _sqrtss(Variable *Dest, Operand *Src0) { | 345 void _sqrtss(Variable *Dest, Operand *Src0) { |
328 Context.insert(InstX8632Sqrtss::create(Func, Dest, Src0)); | 346 Context.insert(InstX8632Sqrtss::create(Func, Dest, Src0)); |
329 } | 347 } |
330 void _store(Operand *Value, OperandX8632 *Mem) { | 348 void _store(Operand *Value, OperandX8632 *Mem) { |
331 Context.insert(InstX8632Store::create(Func, Value, Mem)); | 349 Context.insert(InstX8632Store::create(Func, Value, Mem)); |
332 } | 350 } |
333 void _storeq(Operand *Value, OperandX8632 *Mem) { | 351 void _storeq(Operand *Value, OperandX8632 *Mem) { |
334 Context.insert(InstX8632StoreQ::create(Func, Value, Mem)); | 352 Context.insert(InstX8632StoreQ::create(Func, Value, Mem)); |
335 } | 353 } |
336 void _sub(Variable *Dest, Operand *Src0) { | 354 void _sub(Variable *Dest, Operand *Src0) { |
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
403 virtual ~TargetGlobalInitX8632() {} | 421 virtual ~TargetGlobalInitX8632() {} |
404 }; | 422 }; |
405 | 423 |
406 template <> void ConstantInteger::emit(GlobalContext *Ctx) const; | 424 template <> void ConstantInteger::emit(GlobalContext *Ctx) const; |
407 template <> void ConstantFloat::emit(GlobalContext *Ctx) const; | 425 template <> void ConstantFloat::emit(GlobalContext *Ctx) const; |
408 template <> void ConstantDouble::emit(GlobalContext *Ctx) const; | 426 template <> void ConstantDouble::emit(GlobalContext *Ctx) const; |
409 | 427 |
410 } // end of namespace Ice | 428 } // end of namespace Ice |
411 | 429 |
412 #endif // SUBZERO_SRC_ICETARGETLOWERINGX8632_H | 430 #endif // SUBZERO_SRC_ICETARGETLOWERINGX8632_H |
OLD | NEW |