From 962b584da179b8737a67172d15d8cc58bb538fd6 Mon Sep 17 00:00:00 2001 From: Alasdair Armstrong Date: Fri, 15 Feb 2019 18:19:26 +0000 Subject: Fix bug in Int-synonym expansion --- test/typecheck/pass/int_synonym.sail | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 test/typecheck/pass/int_synonym.sail (limited to 'test') diff --git a/test/typecheck/pass/int_synonym.sail b/test/typecheck/pass/int_synonym.sail new file mode 100644 index 00000000..33bdaf0c --- /dev/null +++ b/test/typecheck/pass/int_synonym.sail @@ -0,0 +1,18 @@ +/* from prelude */ +default Order dec + +$include + +type bits ('n : Int) = vector('n, dec, bit) + +type xlen : Int = 64 +type xlen_bytes : Int = 8 +type xlenbits = bits(xlen) + +val "sign_extend" : forall 'n 'm, 'm >= 'n. (bits('n), atom('m)) -> bits('m) +val EXTS : forall 'n 'm, 'm >= 'n. (implicit('m), bits('n)) -> bits('m) +function EXTS(m, v) = sign_extend(v, m) + +val extend : forall 'n, 'n <= xlen_bytes. (bool, bits(8 * 'n)) -> xlenbits + +function extend(flag, value) = EXTS(value) -- cgit v1.2.3