| Index: src/IceTargetLoweringX8632.cpp | 
| diff --git a/src/IceTargetLoweringX8632.cpp b/src/IceTargetLoweringX8632.cpp | 
| index bfb7274e621b16744303c02d86793b5f3c2d1265..3808ecbb85cabb7ed570f2c82a6d8cabf93d07a6 100644 | 
| --- a/src/IceTargetLoweringX8632.cpp | 
| +++ b/src/IceTargetLoweringX8632.cpp | 
| @@ -3014,10 +3014,11 @@ void TargetX8632::lowerCountZeros(bool Cttz, Type Ty, Variable *Dest, | 
| // bit position conversion, and the speculation is reversed. | 
| assert(Ty == IceType_i32 || Ty == IceType_i64); | 
| Variable *T = makeReg(IceType_i32); | 
| +  Operand *FirstValRM = legalize(FirstVal, Legal_Mem | Legal_Reg); | 
| if (Cttz) { | 
| -    _bsf(T, FirstVal); | 
| +    _bsf(T, FirstValRM); | 
| } else { | 
| -    _bsr(T, FirstVal); | 
| +    _bsr(T, FirstValRM); | 
| } | 
| Variable *T_Dest = makeReg(IceType_i32); | 
| Constant *ThirtyTwo = Ctx->getConstantInt(IceType_i32, 32); | 
|  |