OLD | NEW |
1 //===- subzero/src/IceInstX8632.cpp - X86-32 instruction implementation ---===// | 1 //===- subzero/src/IceInstX8632.cpp - X86-32 instruction implementation ---===// |
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 implements the InstX8632 and OperandX8632 classes, | 10 // This file implements the InstX8632 and OperandX8632 classes, |
(...skipping 381 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
392 Str << "cl"; | 392 Str << "cl"; |
393 EmittedSrc1 = true; | 393 EmittedSrc1 = true; |
394 } | 394 } |
395 } | 395 } |
396 if (!EmittedSrc1) | 396 if (!EmittedSrc1) |
397 Inst->getSrc(1)->emit(Func); | 397 Inst->getSrc(1)->emit(Func); |
398 Str << "\n"; | 398 Str << "\n"; |
399 } | 399 } |
400 | 400 |
401 template <> const char *InstX8632Add::Opcode = "add"; | 401 template <> const char *InstX8632Add::Opcode = "add"; |
| 402 template <> const char *InstX8632Addps::Opcode = "addps"; |
402 template <> const char *InstX8632Adc::Opcode = "adc"; | 403 template <> const char *InstX8632Adc::Opcode = "adc"; |
403 template <> const char *InstX8632Addss::Opcode = "addss"; | 404 template <> const char *InstX8632Addss::Opcode = "addss"; |
404 template <> const char *InstX8632Sub::Opcode = "sub"; | 405 template <> const char *InstX8632Sub::Opcode = "sub"; |
| 406 template <> const char *InstX8632Subps::Opcode = "subps"; |
405 template <> const char *InstX8632Subss::Opcode = "subss"; | 407 template <> const char *InstX8632Subss::Opcode = "subss"; |
406 template <> const char *InstX8632Sbb::Opcode = "sbb"; | 408 template <> const char *InstX8632Sbb::Opcode = "sbb"; |
407 template <> const char *InstX8632And::Opcode = "and"; | 409 template <> const char *InstX8632And::Opcode = "and"; |
408 template <> const char *InstX8632Or::Opcode = "or"; | 410 template <> const char *InstX8632Or::Opcode = "or"; |
409 template <> const char *InstX8632Xor::Opcode = "xor"; | 411 template <> const char *InstX8632Xor::Opcode = "xor"; |
410 template <> const char *InstX8632Pxor::Opcode = "pxor"; | 412 template <> const char *InstX8632Pxor::Opcode = "pxor"; |
411 template <> const char *InstX8632Imul::Opcode = "imul"; | 413 template <> const char *InstX8632Imul::Opcode = "imul"; |
| 414 template <> const char *InstX8632Mulps::Opcode = "mulps"; |
412 template <> const char *InstX8632Mulss::Opcode = "mulss"; | 415 template <> const char *InstX8632Mulss::Opcode = "mulss"; |
413 template <> const char *InstX8632Div::Opcode = "div"; | 416 template <> const char *InstX8632Div::Opcode = "div"; |
| 417 template <> const char *InstX8632Divps::Opcode = "divps"; |
414 template <> const char *InstX8632Idiv::Opcode = "idiv"; | 418 template <> const char *InstX8632Idiv::Opcode = "idiv"; |
415 template <> const char *InstX8632Divss::Opcode = "divss"; | 419 template <> const char *InstX8632Divss::Opcode = "divss"; |
416 template <> const char *InstX8632Shl::Opcode = "shl"; | 420 template <> const char *InstX8632Shl::Opcode = "shl"; |
417 template <> const char *InstX8632Shr::Opcode = "shr"; | 421 template <> const char *InstX8632Shr::Opcode = "shr"; |
418 template <> const char *InstX8632Sar::Opcode = "sar"; | 422 template <> const char *InstX8632Sar::Opcode = "sar"; |
419 | 423 |
420 template <> void InstX8632Addss::emit(const Cfg *Func) const { | 424 template <> void InstX8632Addss::emit(const Cfg *Func) const { |
421 char buf[30]; | 425 char buf[30]; |
422 snprintf(buf, llvm::array_lengthof(buf), "add%s", | 426 snprintf(buf, llvm::array_lengthof(buf), "add%s", |
423 TypeX8632Attributes[getDest()->getType()].SdSsString); | 427 TypeX8632Attributes[getDest()->getType()].SdSsString); |
(...skipping 673 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1097 default: | 1101 default: |
1098 Str << "???"; | 1102 Str << "???"; |
1099 break; | 1103 break; |
1100 } | 1104 } |
1101 Str << "("; | 1105 Str << "("; |
1102 Var->dump(Func); | 1106 Var->dump(Func); |
1103 Str << ")"; | 1107 Str << ")"; |
1104 } | 1108 } |
1105 | 1109 |
1106 } // end of namespace Ice | 1110 } // end of namespace Ice |
OLD | NEW |