| OLD | NEW |
| 1 //===-- MipsSEISelLowering.cpp - MipsSE DAG Lowering Interface --*- C++ -*-===// | 1 //===-- MipsSEISelLowering.cpp - MipsSE DAG Lowering Interface --*- C++ -*-===// |
| 2 // | 2 // |
| 3 // The LLVM Compiler Infrastructure | 3 // The LLVM Compiler Infrastructure |
| 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 // Subclass of MipsTargetLowering specialized for mips32/64. | 10 // Subclass of MipsTargetLowering specialized for mips32/64. |
| (...skipping 1490 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1501 return DAG.getNode(ISD::AND, DL, ResTy, Op->getOperand(1), BitMask); | 1501 return DAG.getNode(ISD::AND, DL, ResTy, Op->getOperand(1), BitMask); |
| 1502 } | 1502 } |
| 1503 | 1503 |
| 1504 SDValue MipsSETargetLowering::lowerINTRINSIC_WO_CHAIN(SDValue Op, | 1504 SDValue MipsSETargetLowering::lowerINTRINSIC_WO_CHAIN(SDValue Op, |
| 1505 SelectionDAG &DAG) const { | 1505 SelectionDAG &DAG) const { |
| 1506 SDLoc DL(Op); | 1506 SDLoc DL(Op); |
| 1507 | 1507 |
| 1508 switch (cast<ConstantSDNode>(Op->getOperand(0))->getZExtValue()) { | 1508 switch (cast<ConstantSDNode>(Op->getOperand(0))->getZExtValue()) { |
| 1509 default: | 1509 default: |
| 1510 return SDValue(); | 1510 return SDValue(); |
| 1511 // @LOCALMOD-BEGIN |
| 1512 case Intrinsic::nacl_read_tp: |
| 1513 return GetNaClThreadPointer(DAG, SDLoc(Op)); |
| 1514 // @LOCALMOD-END |
| 1511 case Intrinsic::mips_shilo: | 1515 case Intrinsic::mips_shilo: |
| 1512 return lowerDSPIntr(Op, DAG, MipsISD::SHILO); | 1516 return lowerDSPIntr(Op, DAG, MipsISD::SHILO); |
| 1513 case Intrinsic::mips_dpau_h_qbl: | 1517 case Intrinsic::mips_dpau_h_qbl: |
| 1514 return lowerDSPIntr(Op, DAG, MipsISD::DPAU_H_QBL); | 1518 return lowerDSPIntr(Op, DAG, MipsISD::DPAU_H_QBL); |
| 1515 case Intrinsic::mips_dpau_h_qbr: | 1519 case Intrinsic::mips_dpau_h_qbr: |
| 1516 return lowerDSPIntr(Op, DAG, MipsISD::DPAU_H_QBR); | 1520 return lowerDSPIntr(Op, DAG, MipsISD::DPAU_H_QBR); |
| 1517 case Intrinsic::mips_dpsu_h_qbl: | 1521 case Intrinsic::mips_dpsu_h_qbl: |
| 1518 return lowerDSPIntr(Op, DAG, MipsISD::DPSU_H_QBL); | 1522 return lowerDSPIntr(Op, DAG, MipsISD::DPSU_H_QBL); |
| 1519 case Intrinsic::mips_dpsu_h_qbr: | 1523 case Intrinsic::mips_dpsu_h_qbr: |
| 1520 return lowerDSPIntr(Op, DAG, MipsISD::DPSU_H_QBR); | 1524 return lowerDSPIntr(Op, DAG, MipsISD::DPSU_H_QBR); |
| (...skipping 1718 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3239 BuildMI(*BB, MI, DL, TII->get(Mips::FFINT_U_D), Ws2).addReg(Ws1); | 3243 BuildMI(*BB, MI, DL, TII->get(Mips::FFINT_U_D), Ws2).addReg(Ws1); |
| 3240 | 3244 |
| 3241 // Emit 1.0 * fexp2(Wt) | 3245 // Emit 1.0 * fexp2(Wt) |
| 3242 BuildMI(*BB, MI, DL, TII->get(Mips::FEXP2_D), MI->getOperand(0).getReg()) | 3246 BuildMI(*BB, MI, DL, TII->get(Mips::FEXP2_D), MI->getOperand(0).getReg()) |
| 3243 .addReg(Ws2) | 3247 .addReg(Ws2) |
| 3244 .addReg(MI->getOperand(1).getReg()); | 3248 .addReg(MI->getOperand(1).getReg()); |
| 3245 | 3249 |
| 3246 MI->eraseFromParent(); // The pseudo instruction is gone now. | 3250 MI->eraseFromParent(); // The pseudo instruction is gone now. |
| 3247 return BB; | 3251 return BB; |
| 3248 } | 3252 } |
| OLD | NEW |