summaryrefslogtreecommitdiff
path: root/src/test/regbits.sail
blob: 46343d67ba2c1e45e128efe38f879d03b3b54ada (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
 typedef xer = register bits [ 0 : 63 ] {
  32 : SO;
  33 : OV;
  34 : CA;
  35..36: FOOBAR;
 }

register (xer) XER
register (bit) query

register alias CA = XER.CA
register alias Fo = XER[35]
register alias foobar = XER[35..36]

function (bit[64]) main _ = {
  XER := 0b0101010101010101010101010101010101010101010101010101010101010010;
  f := XER;
  (bit[7]) foo := XER[57..63];
  query := XER.SO;
  XER.SO := 0;
  query := CA;
  query := Fo;
  XER.FOOBAR := 0b11;
  XER.FOOBAR := foobar;
  XER }