From 37620cb56337d3846801f992c93e0eea7bb86719 Mon Sep 17 00:00:00 2001 From: Robert Norton Date: Fri, 16 Jun 2017 14:03:19 +0100 Subject: prefer arithmetic on integers followed by cast to bit[64] in CCopyType. --- cheri/cheri_insts.sail | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'cheri') diff --git a/cheri/cheri_insts.sail b/cheri/cheri_insts.sail index 33dacd63..ad933dea 100644 --- a/cheri/cheri_insts.sail +++ b/cheri/cheri_insts.sail @@ -598,12 +598,12 @@ function clause execute (CCopyType(cd, cb, ct)) = raise_c2_exception(CapEx_SealViolation, cb) else { - let (bit[64]) newOffset = if (ct_val.sealed) + let newOffset = if (ct_val.sealed) then - ((bit[64]) (EXTZ(ct_val.otype))) - cb_base + unsigned(ct_val.otype) - cb_base else - (bit[64]) -1 in - let (success, cap) = setCapOffset(cb_val, newOffset) in { + -1 in + let (success, cap) = setCapOffset(cb_val, (bit[64]) newOffset) in { writeCapReg(cd, cap); assert(success, None); (*XXX TODO can this fail*) } -- cgit v1.2.3