diff options
| author | Robert Norton | 2017-01-24 16:58:21 +0000 |
|---|---|---|
| committer | Robert Norton | 2017-01-24 16:58:21 +0000 |
| commit | 951560776eed6964ea95dab2c33433515d687afa (patch) | |
| tree | e39565e8af0cbf40b7b4b1526f731aa2b0ba3018 /cheri | |
| parent | 01ed1c4a495cffcc0a0ca12f3019220f25d1cf66 (diff) | |
force unsigned comparison in cgetlen overflow check.
Diffstat (limited to 'cheri')
| -rw-r--r-- | cheri/cheri_insts_128.sail | 2 |
1 files changed, 1 insertions, 1 deletions
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 *) |
