From 951560776eed6964ea95dab2c33433515d687afa Mon Sep 17 00:00:00 2001 From: Robert Norton Date: Tue, 24 Jan 2017 16:58:21 +0000 Subject: force unsigned comparison in cgetlen overflow check. --- cheri/cheri_insts_128.sail | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cheri/cheri_insts_128.sail b/cheri/cheri_insts_128.sail index b671b515..1d2b37fb 100644 --- a/cheri/cheri_insts_128.sail +++ b/cheri/cheri_insts_128.sail @@ -108,7 +108,7 @@ function clause execute (CGetLen(rd, cb)) = else let capVal = readCapReg(cb) in let len65 = getCapLength(capVal) in - let len64 = if len65 > MAX_U64 then + let len64 = if unsigned(len65) > MAX_U64 then (bit[64]) MAX_U64 else len65[63..0] in wGPR(rd) := len64; (* END_CGetLen *) -- cgit v1.2.3