get_unaligned_le32
uint32_t a0 = get_unaligned_le32(s);
uint32_t a1 = get_unaligned_le32(s+4);
uint32_t a2 = get_unaligned_le32(s+8);
uint32_t a3 = get_unaligned_le32(s+12);
uint32_t a4 = get_unaligned_le32(s+16);
uint32_t a5 = get_unaligned_le32(s+20);
uint32_t a6 = get_unaligned_le32(s+24);
uint32_t a7 = get_unaligned_le32(s+28);
val = get_unaligned_le32((u32 *)&ctx->ps[idx]);
reg_address = get_unaligned_le32(data + 3);
value = get_unaligned_le32(data + 7);
mask = get_unaligned_le32(data + 11);
val = get_unaligned_le32((u32 *)&ctx->ps[idx]);