| Index: src/IceTargetLoweringMIPS32.h | 
| diff --git a/src/IceTargetLoweringMIPS32.h b/src/IceTargetLoweringMIPS32.h | 
| index 5802052ce2082bfb4334d77f98a9b95460fe5393..0454f30da1e419bd92c1a14f03e446a8ec74aae5 100644 | 
| --- a/src/IceTargetLoweringMIPS32.h | 
| +++ b/src/IceTargetLoweringMIPS32.h | 
| @@ -150,6 +150,10 @@ public: | 
| Context.insert<InstMIPS32And>(Dest, Src0, Src1); | 
| } | 
|  | 
| +  void _andi(Variable *Dest, Variable *Src, uint32_t Imm) { | 
| +    Context.insert<InstMIPS32Andi>(Dest, Src, Imm); | 
| +  } | 
| + | 
| void _br(CfgNode *Target) { Context.insert<InstMIPS32Br>(Target); } | 
|  | 
| void _ret(Variable *RA, Variable *Src0 = nullptr) { | 
| @@ -216,6 +220,10 @@ public: | 
| Context.insert<InstMIPS32Ori>(Dest, Src, Imm); | 
| } | 
|  | 
| +  void _sll(Variable *Dest, Variable *Src, uint32_t Imm) { | 
| +    Context.insert<InstMIPS32Sll>(Dest, Src, Imm); | 
| +  } | 
| + | 
| void _slt(Variable *Dest, Variable *Src0, Variable *Src1) { | 
| Context.insert<InstMIPS32Slt>(Dest, Src0, Src1); | 
| } | 
| @@ -232,6 +240,10 @@ public: | 
| Context.insert<InstMIPS32Sltu>(Dest, Src0, Src1); | 
| } | 
|  | 
| +  void _sra(Variable *Dest, Variable *Src, uint32_t Imm) { | 
| +    Context.insert<InstMIPS32Sra>(Dest, Src, Imm); | 
| +  } | 
| + | 
| void _sub(Variable *Dest, Variable *Src0, Variable *Src1) { | 
| Context.insert<InstMIPS32Sub>(Dest, Src0, Src1); | 
| } | 
| @@ -346,6 +358,8 @@ protected: | 
| static SmallBitVector RegisterAliases[RegMIPS32::Reg_NUM]; | 
| SmallBitVector RegsUsed; | 
| VarList PhysicalRegisters[IceType_NUM]; | 
| +  static constexpr uint32_t CHAR_BITS = 8; | 
| +  static constexpr uint32_t INT32_BITS = 32; | 
|  | 
| private: | 
| ENABLE_MAKE_UNIQUE; | 
|  |