target/hexagon: Fix shift amount check in fASHIFTL/fLSHIFTR
Fixes: a646e99cb9
("Hexagon (target/hexagon) macros")
Eliminate the following Coverity CIDs (Bad bit shift operation)
325227
325292
325425
325526
325561
325564
325578
325637
325736
325748
325786
325815
325837
Signed-off-by: Taylor Simpson <tsimpson@quicinc.com>
Message-Id: <1614879425-9259-1-git-send-email-tsimpson@quicinc.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
parent
b33311c670
commit
66a1807b8e
@ -459,7 +459,7 @@ static inline void gen_logical_not(TCGv dest, TCGv src)
|
||||
: (fCAST##REGSTYPE##s(SRC) >> (SHAMT)))
|
||||
#define fASHIFTR(SRC, SHAMT, REGSTYPE) (fCAST##REGSTYPE##s(SRC) >> (SHAMT))
|
||||
#define fLSHIFTR(SRC, SHAMT, REGSTYPE) \
|
||||
(((SHAMT) >= 64) ? 0 : (fCAST##REGSTYPE##u(SRC) >> (SHAMT)))
|
||||
(((SHAMT) >= (sizeof(SRC) * 8)) ? 0 : (fCAST##REGSTYPE##u(SRC) >> (SHAMT)))
|
||||
#define fROTL(SRC, SHAMT, REGSTYPE) \
|
||||
(((SHAMT) == 0) ? (SRC) : ((fCAST##REGSTYPE##u(SRC) << (SHAMT)) | \
|
||||
((fCAST##REGSTYPE##u(SRC) >> \
|
||||
@ -469,7 +469,7 @@ static inline void gen_logical_not(TCGv dest, TCGv src)
|
||||
((fCAST##REGSTYPE##u(SRC) << \
|
||||
((sizeof(SRC) * 8) - (SHAMT))))))
|
||||
#define fASHIFTL(SRC, SHAMT, REGSTYPE) \
|
||||
(((SHAMT) >= 64) ? 0 : (fCAST##REGSTYPE##s(SRC) << (SHAMT)))
|
||||
(((SHAMT) >= (sizeof(SRC) * 8)) ? 0 : (fCAST##REGSTYPE##s(SRC) << (SHAMT)))
|
||||
|
||||
#ifdef QEMU_GENERATE
|
||||
#define fLOAD(NUM, SIZE, SIGN, EA, DST) MEM_LOAD##SIZE##SIGN(DST, EA)
|
||||
|
Loading…
Reference in New Issue
Block a user