483a484,502
> const bool single = (bits(machInst, 8) == 0);
> IntRegIndex vd;
> IntRegIndex vm;
> IntRegIndex vn;
> if (single) {
> vd = (IntRegIndex)(bits(machInst, 22) |
> (bits(machInst, 15, 12) << 1));
> vm = (IntRegIndex)(bits(machInst, 5) |
> (bits(machInst, 3, 0) << 1));
> vn = (IntRegIndex)(bits(machInst, 7) |
> (bits(machInst, 19, 16) << 1));
> } else {
> vd = (IntRegIndex)((bits(machInst, 22) << 5) |
> (bits(machInst, 15, 12) << 1));
> vm = (IntRegIndex)((bits(machInst, 5) << 5) |
> (bits(machInst, 3, 0) << 1));
> vn = (IntRegIndex)((bits(machInst, 7) << 5) |
> (bits(machInst, 19, 16) << 1));
> }
487,495c506,507
< uint32_t vd;
< uint32_t vm;
< uint32_t vn;
< if (bits(machInst, 8) == 0) {
< vd = bits(machInst, 22) | (bits(machInst, 15, 12) << 1);
< vm = bits(machInst, 5) | (bits(machInst, 3, 0) << 1);
< vn = bits(machInst, 7) | (bits(machInst, 19, 16) << 1);
< return new VmlaS(machInst, (IntRegIndex)vd,
< (IntRegIndex)vn, (IntRegIndex)vm);
---
> if (single) {
> return new VmlaS(machInst, vd, vn, vm);
497,504c509
< vd = (bits(machInst, 22) << 5) |
< (bits(machInst, 15, 12) << 1);
< vm = (bits(machInst, 5) << 5) |
< (bits(machInst, 3, 0) << 1);
< vn = (bits(machInst, 7) << 5) |
< (bits(machInst, 19, 16) << 1);
< return new VmlaD(machInst, (IntRegIndex)vd,
< (IntRegIndex)vn, (IntRegIndex)vm);
---
> return new VmlaD(machInst, vd, vn, vm);
507,515c512,513
< uint32_t vd;
< uint32_t vm;
< uint32_t vn;
< if (bits(machInst, 8) == 0) {
< vd = bits(machInst, 22) | (bits(machInst, 15, 12) << 1);
< vm = bits(machInst, 5) | (bits(machInst, 3, 0) << 1);
< vn = bits(machInst, 7) | (bits(machInst, 19, 16) << 1);
< return new VmlsS(machInst, (IntRegIndex)vd,
< (IntRegIndex)vn, (IntRegIndex)vm);
---
> if (single) {
> return new VmlsS(machInst, vd, vn, vm);
517,524c515
< vd = (bits(machInst, 22) << 5) |
< (bits(machInst, 15, 12) << 1);
< vm = (bits(machInst, 5) << 5) |
< (bits(machInst, 3, 0) << 1);
< vn = (bits(machInst, 7) << 5) |
< (bits(machInst, 19, 16) << 1);
< return new VmlsD(machInst, (IntRegIndex)vd,
< (IntRegIndex)vn, (IntRegIndex)vm);
---
> return new VmlsD(machInst, vd, vn, vm);
529,537c520,521
< uint32_t vd;
< uint32_t vm;
< uint32_t vn;
< if (bits(machInst, 8) == 0) {
< vd = bits(machInst, 22) | (bits(machInst, 15, 12) << 1);
< vm = bits(machInst, 5) | (bits(machInst, 3, 0) << 1);
< vn = bits(machInst, 7) | (bits(machInst, 19, 16) << 1);
< return new VnmlaS(machInst, (IntRegIndex)vd,
< (IntRegIndex)vn, (IntRegIndex)vm);
---
> if (single) {
> return new VnmlaS(machInst, vd, vn, vm);
539,546c523
< vd = (bits(machInst, 22) << 5) |
< (bits(machInst, 15, 12) << 1);
< vm = (bits(machInst, 5) << 5) |
< (bits(machInst, 3, 0) << 1);
< vn = (bits(machInst, 7) << 5) |
< (bits(machInst, 19, 16) << 1);
< return new VnmlaD(machInst, (IntRegIndex)vd,
< (IntRegIndex)vn, (IntRegIndex)vm);
---
> return new VnmlaD(machInst, vd, vn, vm);
549,557c526,527
< uint32_t vd;
< uint32_t vm;
< uint32_t vn;
< if (bits(machInst, 8) == 0) {
< vd = bits(machInst, 22) | (bits(machInst, 15, 12) << 1);
< vm = bits(machInst, 5) | (bits(machInst, 3, 0) << 1);
< vn = bits(machInst, 7) | (bits(machInst, 19, 16) << 1);
< return new VnmlsS(machInst, (IntRegIndex)vd,
< (IntRegIndex)vn, (IntRegIndex)vm);
---
> if (single) {
> return new VnmlsS(machInst, vd, vn, vm);
559,566c529
< vd = (bits(machInst, 22) << 5) |
< (bits(machInst, 15, 12) << 1);
< vm = (bits(machInst, 5) << 5) |
< (bits(machInst, 3, 0) << 1);
< vn = (bits(machInst, 7) << 5) |
< (bits(machInst, 19, 16) << 1);
< return new VnmlsD(machInst, (IntRegIndex)vd,
< (IntRegIndex)vn, (IntRegIndex)vm);
---
> return new VnmlsD(machInst, vd, vn, vm);
571,579c534,535
< uint32_t vd;
< uint32_t vm;
< uint32_t vn;
< if (bits(machInst, 8) == 0) {
< vd = bits(machInst, 22) | (bits(machInst, 15, 12) << 1);
< vm = bits(machInst, 5) | (bits(machInst, 3, 0) << 1);
< vn = bits(machInst, 7) | (bits(machInst, 19, 16) << 1);
< return new VmulS(machInst, (IntRegIndex)vd,
< (IntRegIndex)vn, (IntRegIndex)vm);
---
> if (single) {
> return new VmulS(machInst, vd, vn, vm);
581,588c537
< vd = (bits(machInst, 22) << 5) |
< (bits(machInst, 15, 12) << 1);
< vm = (bits(machInst, 5) << 5) |
< (bits(machInst, 3, 0) << 1);
< vn = (bits(machInst, 7) << 5) |
< (bits(machInst, 19, 16) << 1);
< return new VmulD(machInst, (IntRegIndex)vd,
< (IntRegIndex)vn, (IntRegIndex)vm);
---
> return new VmulD(machInst, vd, vn, vm);
591,599c540,541
< uint32_t vd;
< uint32_t vm;
< uint32_t vn;
< if (bits(machInst, 8) == 0) {
< vd = bits(machInst, 22) | (bits(machInst, 15, 12) << 1);
< vm = bits(machInst, 5) | (bits(machInst, 3, 0) << 1);
< vn = bits(machInst, 7) | (bits(machInst, 19, 16) << 1);
< return new VnmulS(machInst, (IntRegIndex)vd,
< (IntRegIndex)vn, (IntRegIndex)vm);
---
> if (single) {
> return new VnmulS(machInst, vd, vn, vm);
601,608c543
< vd = (bits(machInst, 22) << 5) |
< (bits(machInst, 15, 12) << 1);
< vm = (bits(machInst, 5) << 5) |
< (bits(machInst, 3, 0) << 1);
< vn = (bits(machInst, 7) << 5) |
< (bits(machInst, 19, 16) << 1);
< return new VnmulD(machInst, (IntRegIndex)vd,
< (IntRegIndex)vn, (IntRegIndex)vm);
---
> return new VnmulD(machInst, vd, vn, vm);
613,621c548,549
< uint32_t vd;
< uint32_t vm;
< uint32_t vn;
< if (bits(machInst, 8) == 0) {
< vd = bits(machInst, 22) | (bits(machInst, 15, 12) << 1);
< vm = bits(machInst, 5) | (bits(machInst, 3, 0) << 1);
< vn = bits(machInst, 7) | (bits(machInst, 19, 16) << 1);
< return new VaddS(machInst, (IntRegIndex)vd,
< (IntRegIndex)vn, (IntRegIndex)vm);
---
> if (single) {
> return new VaddS(machInst, vd, vn, vm);
623,630c551
< vd = (bits(machInst, 22) << 5) |
< (bits(machInst, 15, 12) << 1);
< vm = (bits(machInst, 5) << 5) |
< (bits(machInst, 3, 0) << 1);
< vn = (bits(machInst, 7) << 5) |
< (bits(machInst, 19, 16) << 1);
< return new VaddD(machInst, (IntRegIndex)vd,
< (IntRegIndex)vn, (IntRegIndex)vm);
---
> return new VaddD(machInst, vd, vn, vm);
633,641c554,555
< uint32_t vd;
< uint32_t vm;
< uint32_t vn;
< if (bits(machInst, 8) == 0) {
< vd = bits(machInst, 22) | (bits(machInst, 15, 12) << 1);
< vm = bits(machInst, 5) | (bits(machInst, 3, 0) << 1);
< vn = bits(machInst, 7) | (bits(machInst, 19, 16) << 1);
< return new VsubS(machInst, (IntRegIndex)vd,
< (IntRegIndex)vn, (IntRegIndex)vm);
---
> if (single) {
> return new VsubS(machInst, vd, vn, vm);
643,650c557
< vd = (bits(machInst, 22) << 5) |
< (bits(machInst, 15, 12) << 1);
< vm = (bits(machInst, 5) << 5) |
< (bits(machInst, 3, 0) << 1);
< vn = (bits(machInst, 7) << 5) |
< (bits(machInst, 19, 16) << 1);
< return new VsubD(machInst, (IntRegIndex)vd,
< (IntRegIndex)vn, (IntRegIndex)vm);
---
> return new VsubD(machInst, vd, vn, vm);
655,663c562,563
< uint32_t vd;
< uint32_t vm;
< uint32_t vn;
< if (bits(machInst, 8) == 0) {
< vd = bits(machInst, 22) | (bits(machInst, 15, 12) << 1);
< vm = bits(machInst, 5) | (bits(machInst, 3, 0) << 1);
< vn = bits(machInst, 7) | (bits(machInst, 19, 16) << 1);
< return new VdivS(machInst, (IntRegIndex)vd,
< (IntRegIndex)vn, (IntRegIndex)vm);
---
> if (single) {
> return new VdivS(machInst, vd, vn, vm);
665,672c565
< vd = (bits(machInst, 22) << 5) |
< (bits(machInst, 15, 12) << 1);
< vm = (bits(machInst, 5) << 5) |
< (bits(machInst, 3, 0) << 1);
< vn = (bits(machInst, 7) << 5) |
< (bits(machInst, 19, 16) << 1);
< return new VdivD(machInst, (IntRegIndex)vd,
< (IntRegIndex)vn, (IntRegIndex)vm);
---
> return new VdivD(machInst, vd, vn, vm);
678d570
< uint32_t vd;
681,682c573
< if (bits(machInst, 8) == 0) {
< vd = bits(machInst, 22) | (bits(machInst, 15, 12) << 1);
---
> if (single) {
684c575
< return new VmovImmS(machInst, (IntRegIndex)vd, imm);
---
> return new VmovImmS(machInst, vd, imm);
686,687d576
< vd = (bits(machInst, 22) << 5) |
< (bits(machInst, 15, 12) << 1);
689c578
< return new VmovImmD(machInst, (IntRegIndex)vd, imm);
---
> return new VmovImmD(machInst, vd, imm);
695,701c584,585
< uint32_t vd;
< uint32_t vm;
< if (bits(machInst, 8) == 0) {
< vd = bits(machInst, 22) | (bits(machInst, 15, 12) << 1);
< vm = bits(machInst, 5) | (bits(machInst, 3, 0) << 1);
< return new VmovRegS(machInst,
< (IntRegIndex)vd, (IntRegIndex)vm);
---
> if (single) {
> return new VmovRegS(machInst, vd, vm);
703,708c587
< vd = (bits(machInst, 22) << 5) |
< (bits(machInst, 15, 12) << 1);
< vm = (bits(machInst, 5) << 5) |
< (bits(machInst, 3, 0) << 1);
< return new VmovRegD(machInst,
< (IntRegIndex)vd, (IntRegIndex)vm);
---
> return new VmovRegD(machInst, vd, vm);
711,717c590,591
< uint32_t vd;
< uint32_t vm;
< if (bits(machInst, 8) == 0) {
< vd = bits(machInst, 22) | (bits(machInst, 15, 12) << 1);
< vm = bits(machInst, 5) | (bits(machInst, 3, 0) << 1);
< return new VabsS(machInst,
< (IntRegIndex)vd, (IntRegIndex)vm);
---
> if (single) {
> return new VabsS(machInst, vd, vm);
719,724c593
< vd = (bits(machInst, 22) << 5) |
< (bits(machInst, 15, 12) << 1);
< vm = (bits(machInst, 5) << 5) |
< (bits(machInst, 3, 0) << 1);
< return new VabsD(machInst,
< (IntRegIndex)vd, (IntRegIndex)vm);
---
> return new VabsD(machInst, vd, vm);
729,735c598,599
< uint32_t vd;
< uint32_t vm;
< if (bits(machInst, 8) == 0) {
< vd = bits(machInst, 22) | (bits(machInst, 15, 12) << 1);
< vm = bits(machInst, 5) | (bits(machInst, 3, 0) << 1);
< return new VnegS(machInst,
< (IntRegIndex)vd, (IntRegIndex)vm);
---
> if (single) {
> return new VnegS(machInst, vd, vm);
737,742c601
< vd = (bits(machInst, 22) << 5) |
< (bits(machInst, 15, 12) << 1);
< vm = (bits(machInst, 5) << 5) |
< (bits(machInst, 3, 0) << 1);
< return new VnegD(machInst,
< (IntRegIndex)vd, (IntRegIndex)vm);
---
> return new VnegD(machInst, vd, vm);
745,751c604,605
< uint32_t vd;
< uint32_t vm;
< if (bits(machInst, 8) == 0) {
< vd = bits(machInst, 22) | (bits(machInst, 15, 12) << 1);
< vm = bits(machInst, 5) | (bits(machInst, 3, 0) << 1);
< return new VsqrtS(machInst,
< (IntRegIndex)vd, (IntRegIndex)vm);
---
> if (single) {
> return new VsqrtS(machInst, vd, vm);
753,758c607
< vd = (bits(machInst, 22) << 5) |
< (bits(machInst, 15, 12) << 1);
< vm = (bits(machInst, 5) << 5) |
< (bits(machInst, 3, 0) << 1);
< return new VsqrtD(machInst,
< (IntRegIndex)vd, (IntRegIndex)vm);
---
> return new VsqrtD(machInst, vd, vm);