summaryrefslogtreecommitdiff
path: root/src/test/lib/tests/test_gteq.sail
blob: 79d4d3787e609fda4ed6bddee81a59c5c4e31d5f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
function unit test() = {
  test_assert("gteq0",    ( 1 >= -1));
  test_assert("gteq1",    (-1 >= -1));
  test_assert("gteq2", not(-1 >=  1));

  (* XXX default is signed -- document this! *)
  test_assert("gteq_vec0",    (0x1 >= 0xf));
  test_assert("gteq_vec1",    (0xf >= 0xf));
  test_assert("gteq_vec2", not(0xf >= 0x1));

  (* XXX odd type error here -- sail seems to prefer gteq_vec...
  test_assert("gteq_vec_range0",    (0x1 >= -1)); 
  test_assert("gteq_vec_range1",    (0xf >= -1));
  test_assert("gteq_vec_range2", not(0xf >= 1));

  test_assert("gteq_range_vec0",    ( 1 >= 0xf));
  test_assert("gteq_range_vec1",    (-1 >= 0xf));
  test_assert("gteq_range_vec2", not(-1 >= 0x1));*)

  (* XXX missing implementations
  test_assert("gteq_unsigned0",    ( 1 >=_u -1));
  test_assert("gteq_unsigned1", not(-1 >=_u -1));
  test_assert("gteq_unsigned2", not(-1 >=_u  1)); *)

  (* XXX missing
  test_assert("gteq_unsigned_vec0", not(0x1 >=_u 0xf));
  test_assert("gteq_unsigned_vec1", not(0xf >=_u 0xf));
  test_assert("gteq_unsigned_vec2",    (0xf >=_u 0x1)); *)

  (* NB there is no gteq_vec_range unsigned or signed *)

  (* XXX missing implementations 
  test_assert("gteq_signed0",    ( 1 >=_s -1));
  test_assert("gteq_signed1", not(-1 >=_s -1));
  test_assert("gteq_signed2", not(-1 >=_s  1)); *)

  test_assert("gteq_vec_signed0",    (0x1 >=_s 0xf));
  test_assert("gteq_vec_signed1",    (0xf >=_s 0xf));
  test_assert("gteq_vec_signed2", not(0xf >=_s 0x1));
}