diff --git a/gas/config/tc-s390.c b/gas/config/tc-s390.c index fb452f8a986..04a3c059c91 100644 --- a/gas/config/tc-s390.c +++ b/gas/config/tc-s390.c @@ -622,9 +622,9 @@ s390_insert_operand (unsigned char *insn, if (operand->flags & S390_OPERAND_PCREL) { - val <<= 1; - min <<= 1; - max <<= 1; + val = (offsetT) ((addressT) val << 1); + min = (offsetT) ((addressT) min << 1); + max = (offsetT) ((addressT) max << 1); } if (file == (char *) NULL) as_bad (err, (int64_t) val, (int64_t) min, (int64_t) max);