summaryrefslogtreecommitdiff
path: root/src/test/regbits.sail
blob: 469f0f797b0e257925972435831d047b28ce999b (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
 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]
register alias doub = XER:XER

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