forked from OSchip/llvm-project
[mips][FastISel] Factor out common code from switch statement. NFC
llvm-svn: 249603
This commit is contained in:
parent
37bf678a0d
commit
b876b58d38
|
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue