Home | History | Annotate | Download | only in MSP430

Lines Matching refs:MSP430

1 //===-- MSP430ISelLowering.cpp - MSP430 DAG Lowering Implementation  ------===//
14 #define DEBUG_TYPE "msp430-lower"
17 #include "MSP430.h"
50 HWMultMode("msp430-hwmult-mode",
69 addRegisterClass(MVT::i8, MSP430::GR8RegisterClass);
70 addRegisterClass(MVT::i16, MSP430::GR16RegisterClass);
80 setStackPointerRegisterToSaveRestore(MSP430::SPW);
201 // MSP430 Inline Assembly Support
229 return std::make_pair(0U, MSP430::GR8RegisterClass);
231 return std::make_pair(0U, MSP430::GR16RegisterClass);
280 // MSP430 target does not yet support tail call optimization.
338 RegInfo.createVirtualRegister(MSP430::GR16RegisterClass);
497 StackPtr = DAG.getCopyFromReg(Chain, dl, MSP430::SPW, getPointerTy());
823 SDValue SR = DAG.getCopyFromReg(DAG.getEntryNode(), dl, MSP430::SRW,
929 MSP430::FPW, VT);
1007 // MSP430 implicitly zero-extends 8-bit results in 16-bit registers.
1012 // MSP430 implicitly zero-extends 8-bit results in 16-bit registers.
1033 case MSP430::Shl8:
1034 Opc = MSP430::SHL8r1;
1035 RC = MSP430::GR8RegisterClass;
1037 case MSP430::Shl16:
1038 Opc = MSP430::SHL16r1;
1039 RC = MSP430::GR16RegisterClass;
1041 case MSP430::Sra8:
1042 Opc = MSP430::SAR8r1;
1043 RC = MSP430::GR8RegisterClass;
1045 case MSP430::Sra16:
1046 Opc = MSP430::SAR16r1;
1047 RC = MSP430::GR16RegisterClass;
1049 case MSP430::Srl8:
1050 Opc = MSP430::SAR8r1c;
1051 RC = MSP430::GR8RegisterClass;
1053 case MSP430::Srl16:
1054 Opc = MSP430::SAR16r1c;
1055 RC = MSP430::GR16RegisterClass;
1083 unsigned ShiftAmtReg = RI.createVirtualRegister(MSP430::GR8RegisterClass);
1084 unsigned ShiftAmtReg2 = RI.createVirtualRegister(MSP430::GR8RegisterClass);
1094 BuildMI(BB, dl, TII.get(MSP430::CMP8ri))
1096 BuildMI(BB, dl, TII.get(MSP430::JCC))
1105 BuildMI(LoopBB, dl, TII.get(MSP430::PHI), ShiftReg)
1108 BuildMI(LoopBB, dl, TII.get(MSP430::PHI), ShiftAmtReg)
1113 BuildMI(LoopBB, dl, TII.get(MSP430::SUB8ri), ShiftAmtReg2)
1115 BuildMI(LoopBB, dl, TII.get(MSP430::JCC))
1121 BuildMI(*RemBB, RemBB->begin(), dl, TII.get(MSP430::PHI), DstReg)
1134 if (Opc == MSP430::Shl8 || Opc == MSP430::Shl16 ||
1135 Opc == MSP430::Sra8 || Opc == MSP430::Sra16 ||
1136 Opc == MSP430::Srl8 || Opc == MSP430::Srl16)
1142 assert((Opc == MSP430::Select16 || Opc == MSP430::Select8) &&
1175 BuildMI(BB, dl, TII.get(MSP430::JCC))
1191 BuildMI(*BB, BB->begin(), dl, TII.get(MSP430::PHI),