init_shift
data = init_shift(init_rd32(init, sreg), shift);
data = init_shift(init_rd32(init, saddr), sshift) & smask;
data |= init_shift(init_rd32(init, reg), shift) & smask;