data $O align 4 {
    w8 1;
    undef * 3;
    w8 2;
    undef * 3;
    w32 3;
    w8 4;
    undef * 3;
}

fn w8 $getX() {
  @entry0
    copy %0 $O;
    load w8 %1 %0 0;
    ret %1;
}

fn w8 $getInnerA() {
  @entry0
    copy %0 $O;
    add ptr %1 %0 4;
    load w8 %2 %1 0;
    ret %2;
}

fn w32 $getInnerB() {
  @entry0
    copy %0 $O;
    add ptr %1 %0 4;
    sload w32 %2 %1 4;
    ret %2;
}

fn w8 $getY() {
  @entry0
    copy %0 $O;
    load w8 %1 %0 12;
    ret %1;
}
