[mips][FastISel] Factor out common code from switch statement. NFC

llvm-svn: 249603
This commit is contained in:
Vasileios Kalintiris 2015-10-07 20:06:30 +00:00
parent 37bf678a0d
commit b876b58d38
1 changed files with 7 additions and 3 deletions

View File

@ -1604,19 +1604,23 @@ bool MipsFastISel::emitIntSExt(MVT SrcVT, unsigned SrcReg, MVT DestVT,
bool MipsFastISel::emitIntZExt(MVT SrcVT, unsigned SrcReg, MVT DestVT, bool MipsFastISel::emitIntZExt(MVT SrcVT, unsigned SrcReg, MVT DestVT,
unsigned DestReg) { unsigned DestReg) {
int64_t Imm;
switch (SrcVT.SimpleTy) { switch (SrcVT.SimpleTy) {
default: default:
return false; return false;
case MVT::i1: case MVT::i1:
emitInst(Mips::ANDi, DestReg).addReg(SrcReg).addImm(1); Imm = 1;
break; break;
case MVT::i8: case MVT::i8:
emitInst(Mips::ANDi, DestReg).addReg(SrcReg).addImm(0xff); Imm = 0xff;
break; break;
case MVT::i16: case MVT::i16:
emitInst(Mips::ANDi, DestReg).addReg(SrcReg).addImm(0xffff); Imm = 0xffff;
break; break;
} }
emitInst(Mips::ANDi, DestReg).addReg(SrcReg).addImm(Imm);
return true; return true;
} }