X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fbase%2Fcondcodes.hh;h=986e8d3106730f039de45879cc89321573532478;hb=4ab68fc999458617dbcfc91131404a1996e75482;hp=efff12dc8cab2581bc3fa3c4497025162958f390;hpb=03730edc45e2e00bdec58dabc84e94c632634a1a;p=gem5.git diff --git a/src/base/condcodes.hh b/src/base/condcodes.hh index efff12dc8..986e8d310 100644 --- a/src/base/condcodes.hh +++ b/src/base/condcodes.hh @@ -54,7 +54,7 @@ inline bool findOverflow(int width, uint64_t dest, uint64_t src1, uint64_t src2) { int shift = width - 1; - return ((src1 ^ ~src2) & (src1 ^ dest)) & (1 << shift); + return ((src1 ^ ~src2) & (src1 ^ dest)) & (1ULL << shift); } /** @@ -63,7 +63,7 @@ findOverflow(int width, uint64_t dest, uint64_t src1, uint64_t src2) { inline bool findParity(int width, uint64_t dest) { - dest &= width; + dest &= mask(width); dest ^= (dest >> 32); dest ^= (dest >> 16); dest ^= (dest >> 8);