It was doing functional but highly suspect operations on bools due to
the more limited shifting operands supported by memory instructions.
Should fix some MSVC warnings.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@205134
91177308-0d34-0410-b5e6-
96231b3b80d8
}
/// getExtendImm - Encode the extend type and amount for a load/store inst:
-/// imm: 3-bit extend amount
+/// doshift: should the offset be scaled by the access size
/// shifter: 000 ==> uxtb
/// 001 ==> uxth
/// 010 ==> uxtw
/// 110 ==> sxtw
/// 111 ==> sxtx
/// {3-1} = shifter
-/// {0} = imm3
-static inline unsigned getMemExtendImm(ARM64_AM::ExtendType ET, bool Imm) {
- assert((Imm & 0x7) == Imm && "Illegal shifted immedate value!");
- return (unsigned(ET) << 1) | (Imm & 0x7);
+/// {0} = doshift
+static inline unsigned getMemExtendImm(ARM64_AM::ExtendType ET, bool DoShift) {
+ return (unsigned(ET) << 1) | unsigned(DoShift);
}
//===----------------------------------------------------------------------===//