From 940a3a47b0394916fb02f86b656bfc33078a8394 Mon Sep 17 00:00:00 2001 From: "Vikram S. Adve" Date: Thu, 10 Jul 2003 19:48:19 +0000 Subject: [PATCH] Bug fix in creating constants: need 1U << 31, not 1 << 31. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7158 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/SparcV9/SparcV9InstrInfo.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/Target/SparcV9/SparcV9InstrInfo.cpp b/lib/Target/SparcV9/SparcV9InstrInfo.cpp index 4fea658d65c..75bea0d7774 100644 --- a/lib/Target/SparcV9/SparcV9InstrInfo.cpp +++ b/lib/Target/SparcV9/SparcV9InstrInfo.cpp @@ -264,7 +264,7 @@ CreateUIntSetInstruction(const TargetMachine& target, static const uint64_t lo32 = (uint32_t) ~0; if (C <= lo32) // High 32 bits are 0. Set low 32 bits. CreateSETUWConst(target, (uint32_t) C, dest, mvec); - else if ((C & ~lo32) == ~lo32 && (C & (1 << 31))) { + else if ((C & ~lo32) == ~lo32 && (C & (1U << 31))) { // All high 33 (not 32) bits are 1s: sign-extension will take care // of high 32 bits, so use the sequence for signed int CreateSETSWConst(target, (int32_t) C, dest, mvec);