blob: 2d01e814ce683e2a7a3da084ff479e4a4adb3a54 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
/* Silly, but it did appear in a model, and we didn't handle it... */
default Order dec
$include <prelude.sail>
union ast = {
SomeInstr : {'size, 'size in {8,16}. (int('size), int('size))}
}
val test : ast -> bits(32)
function test(SomeInstr(s as int('size),r)) = {
x : bits('size) = sail_zero_extend(0x80, s);
sail_sign_extend(x,32)
}
val run : unit -> unit effect {escape}
function run () = {
assert(test(SomeInstr(8,8)) == 0xffffff80);
assert(test(SomeInstr(16,16)) == 0x00000080);
}
|