| Index: src/IceTargetLoweringX86BaseImpl.h
|
| diff --git a/src/IceTargetLoweringX86BaseImpl.h b/src/IceTargetLoweringX86BaseImpl.h
|
| index d9cc5e4a082e9ef0a35e8d5cdf247f1ad094f90a..b52fdd164a6febdb2ddc3649574f049f32da88f7 100644
|
| --- a/src/IceTargetLoweringX86BaseImpl.h
|
| +++ b/src/IceTargetLoweringX86BaseImpl.h
|
| @@ -1930,8 +1930,7 @@ void TargetX86Base<Machine>::lowerArithmetic(const InstArithmetic *Inst) {
|
| Context.insert(InstFakeDef::create(Func, T_eax));
|
| _xor(T_eax, T_eax);
|
| _mov(T, Src0, Traits::RegisterSet::Reg_eax);
|
| - Variable *T_al = makeReg(IceType_i8, Traits::RegisterSet::Reg_eax);
|
| - _div(T_al, Src1, T);
|
| + _div(T, Src1, T);
|
| // shr $8, %eax shifts ah (i.e., the 8 bit remainder) into al. We don't
|
| // mov %ah, %al because it would make x86-64 codegen more complicated. If
|
| // this ever becomes a problem we can introduce a pseudo rem instruction
|
| @@ -1939,7 +1938,7 @@ void TargetX86Base<Machine>::lowerArithmetic(const InstArithmetic *Inst) {
|
| // %ah to %al.)
|
| static constexpr uint8_t AlSizeInBits = 8;
|
| _shr(T_eax, Ctx->getConstantInt8(AlSizeInBits));
|
| - _mov(Dest, T_al);
|
| + _mov(Dest, T);
|
| Context.insert(InstFakeUse::create(Func, T_eax));
|
| } else {
|
| Constant *Zero = Ctx->getConstantZero(IceType_i32);
|
|
|