133a134,141
> const IntRegIndex rn =
> (IntRegIndex)(uint32_t)bits(machInst, 3, 0);
> const IntRegIndex rd =
> (IntRegIndex)(uint32_t)bits(machInst, 15, 12);
> const uint32_t satImm = bits(machInst, 20, 16);
> const uint32_t imm = bits(machInst, 11, 7);
> const ArmShiftType type =
> (ArmShiftType)(uint32_t)bits(machInst, 6, 5);
137c145
< return new WarnUnimplemented("ssat", machInst);
---
> return new Ssat(machInst, rd, satImm + 1, rn, imm, type);
139c147
< return new WarnUnimplemented("usat", machInst);
---
> return new Usat(machInst, rd, satImm, rn, imm, type);
157c165,170
< return new WarnUnimplemented("ssat16", machInst);
---
> const IntRegIndex rn =
> (IntRegIndex)(uint32_t)bits(machInst, 3, 0);
> const IntRegIndex rd =
> (IntRegIndex)(uint32_t)bits(machInst, 15, 12);
> const uint32_t satImm = bits(machInst, 20, 16);
> return new Ssat16(machInst, rd, satImm + 1, rn);
194c207,212
< return new WarnUnimplemented("usat16", machInst);
---
> const IntRegIndex rn =
> (IntRegIndex)(uint32_t)bits(machInst, 3, 0);
> const IntRegIndex rd =
> (IntRegIndex)(uint32_t)bits(machInst, 15, 12);
> const uint32_t satImm = bits(machInst, 20, 16);
> return new Usat16(machInst, rd, satImm, rn);
1111c1129,1130
< return new WarnUnimplemented("ssat16", machInst);
---
> const uint32_t satImm = bits(machInst, 4, 0);
> return new Ssat16(machInst, rd, satImm + 1, rn);
1115c1134,1141
< return new WarnUnimplemented("ssat", machInst);
---
> {
> const uint32_t satImm = bits(machInst, 4, 0);
> const uint32_t imm = bits(machInst, 7, 6) |
> (bits(machInst, 14, 12) << 2);
> const ArmShiftType type =
> (ArmShiftType)(uint32_t)bits(machInst, 21, 20);
> return new Ssat(machInst, rd, satImm + 1, rn, imm, type);
> }
1126c1152,1153
< return new WarnUnimplemented("usat16", machInst);
---
> const uint32_t satImm = bits(machInst, 4, 0);
> return new Usat16(machInst, rd, satImm, rn);
1130c1157,1164
< return new WarnUnimplemented("usat", machInst);
---
> {
> const uint32_t satImm = bits(machInst, 4, 0);
> const uint32_t imm = bits(machInst, 7, 6) |
> (bits(machInst, 14, 12) << 2);
> const ArmShiftType type =
> (ArmShiftType)(uint32_t)bits(machInst, 21, 20);
> return new Usat(machInst, rd, satImm, rn, imm, type);
> }