Skip to content

Commit c55e24b

Browse files
committed
[llvm][LoongArch] Fix BSTRINS_D test failures on 32 bit hosts
eaf87d3 added new code that uses 64 bit types and ULL for constants, mostly, but a few UL snuck in. UL is still 4 bytes on 32 bit, ULL is 8. This fixes test failures on 32 bit Arm: https://lab.llvm.org/buildbot/#/builders/39/builds/1338
1 parent 5703d85 commit c55e24b

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMatInt.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ LoongArchMatInt::InstSeq LoongArchMatInt::generateInstSeq(int64_t Val) {
9797
for (uint64_t Lsb = Msb; Lsb > 0; --Lsb) {
9898
uint64_t LowMask = (1ULL << Lsb) - 1;
9999
uint64_t Mask = HighMask | LowMask;
100-
uint64_t LsbToZero = TmpVal1 & ((1UL << (Msb - Lsb + 1)) - 1);
100+
uint64_t LsbToZero = TmpVal1 & ((1ULL << (Msb - Lsb + 1)) - 1);
101101
uint64_t MsbToLsb = LsbToZero << Lsb;
102102
if ((MsbToLsb | (TmpVal1 & Mask)) == (uint64_t)Val) {
103103
if (Insts[1].Opc == LoongArch::ORI && N == 3)
@@ -107,7 +107,7 @@ LoongArchMatInt::InstSeq LoongArchMatInt::generateInstSeq(int64_t Val) {
107107
return Insts;
108108
}
109109
if (TmpVal2 != 0) {
110-
LsbToZero = TmpVal2 & ((1UL << (Msb - Lsb + 1)) - 1);
110+
LsbToZero = TmpVal2 & ((1ULL << (Msb - Lsb + 1)) - 1);
111111
MsbToLsb = LsbToZero << Lsb;
112112
if ((MsbToLsb | (TmpVal2 & Mask)) == (uint64_t)Val) {
113113
Insts[0] = Insts[1];

0 commit comments

Comments
 (0)