| Index: src/IceAssemblerX86Base.h
|
| diff --git a/src/IceAssemblerX86Base.h b/src/IceAssemblerX86Base.h
|
| index ba80fd81e87dcea4555e99a6f4532b7a40c9b2ab..3ff46420cb986b18a5c1f6bb5d45aff1c2e55ba3 100644
|
| --- a/src/IceAssemblerX86Base.h
|
| +++ b/src/IceAssemblerX86Base.h
|
| @@ -954,7 +954,7 @@ private:
|
|
|
| return IsGPR && (Reg & 0x04) != 0 && (Reg & 0x08) == 0 &&
|
| isByteSizedType(Ty);
|
| - };
|
| + }
|
|
|
| // assembleAndEmitRex is used for determining which (if any) rex prefix should
|
| // be emitted for the current instruction. It allows different types for Reg
|
| @@ -970,10 +970,13 @@ private:
|
| ? T::Operand::RexW
|
| : T::Operand::RexNone;
|
| const uint8_t R = (Reg & 0x08) ? T::Operand::RexR : T::Operand::RexNone;
|
| - const uint8_t X = (Addr != nullptr) ? Addr->rexX() : T::Operand::RexNone;
|
| + const uint8_t X = (Addr != nullptr)
|
| + ? (typename T::Operand::RexBits)Addr->rexX()
|
| + : T::Operand::RexNone;
|
| const uint8_t B =
|
| - (Addr != nullptr) ? Addr->rexB() : (Rm & 0x08) ? T::Operand::RexB
|
| - : T::Operand::RexNone;
|
| + (Addr != nullptr)
|
| + ? (typename T::Operand::RexBits)Addr->rexB()
|
| + : (Rm & 0x08) ? T::Operand::RexB : T::Operand::RexNone;
|
| const uint8_t Prefix = W | R | X | B;
|
| if (Prefix != T::Operand::RexNone) {
|
| emitUint8(Prefix);
|
|
|