diff --git a/libunwind/src/DwarfInstructions.hpp b/libunwind/src/DwarfInstructions.hpp
--- a/libunwind/src/DwarfInstructions.hpp
+++ b/libunwind/src/DwarfInstructions.hpp
@@ -91,8 +91,8 @@
return (pint_t)addressSpace.getRegister(cfa + (pint_t)savedReg.value);
case CFI_Parser::kRegisterInCFADecrypt: // sparc64 specific
- return addressSpace.getP(cfa + (pint_t)savedReg.value) ^
- getSparcWCookie(registers, 0);
+ return (pint_t)(addressSpace.getP(cfa + (pint_t)savedReg.value) ^
+ getSparcWCookie(registers, 0));
case CFI_Parser::kRegisterAtExpression:
return (pint_t)addressSpace.getRegister(evaluateExpression(