Deleted Added
sdiff udiff text old ( 13120:690a0db8e58b ) new ( 13168:4965381c122d )
full compact
1// -*- mode:c++ -*-
2
3// Copyright (c) 2010-2011, 2016-2018 ARM Limited
4// All rights reserved
5//
6// The license below extends only to copyright in the software and shall
7// not be construed as granting a license to any other intellectual
8// property including but not limited to intellectual property relating

--- 592 unchanged lines hidden (view full) ---

601 } else {
602 if (q) {
603 return new NVfmsQFp<float>(machInst, vd, vn, vm);
604 } else {
605 return new NVfmsDFp<float>(machInst, vd, vn, vm);
606 }
607 }
608 }
609 } else {
610 if (u) {
611 switch (c) {
612 case 0x0:
613 return new SHA256H(machInst, vd, vn, vm);
614 case 0x1:
615 return new SHA256H2(machInst, vd, vn, vm);
616 case 0x2:
617 return new SHA256SU1(machInst, vd, vn, vm);
618 case 0x3:
619 return new Unknown(machInst);
620 default:
621 M5_UNREACHABLE;
622 }
623 } else {
624 switch (c) {
625 case 0x0:
626 return new SHA1C(machInst, vd, vn, vm);
627 case 0x1:
628 return new SHA1P(machInst, vd, vn, vm);
629 case 0x2:
630 return new SHA1M(machInst, vd, vn, vm);
631 case 0x3:
632 return new SHA1SU0(machInst, vd, vn, vm);
633 default:
634 M5_UNREACHABLE;
635 }
636 }
637 }
638 return new Unknown(machInst);
639 case 0xd:
640 if (b) {
641 if (u) {
642 if (bits(c, 1) == 0) {
643 if (q) {
644 return new NVmulQFp<float>(machInst, vd, vn, vm);

--- 912 unchanged lines hidden (view full) ---

1557 return new NVcltQFp<float>(machInst, vd, vm);
1558 } else {
1559 return new NVcltDFp<float>(machInst, vd, vm);
1560 }
1561 } else {
1562 return decodeNeonSTwoMiscReg<NVcltD, NVcltQ>(
1563 q, size, machInst, vd, vm);
1564 }
1565 case 0x5:
1566 if (q) {
1567 return new SHA1H(machInst, vd, vm);
1568 } else {
1569 return new Unknown(machInst);
1570 }
1571 case 0x6:
1572 if (bits(machInst, 10)) {
1573 if (q)
1574 return new NVabsQFp<float>(machInst, vd, vm);
1575 else
1576 return new NVabsDFp<float>(machInst, vd, vm);
1577 } else {
1578 return decodeNeonSTwoMiscReg<NVabsD, NVabsQ>(

--- 46 unchanged lines hidden (view full) ---

1625 }
1626 case 0x6:
1627 if (b == 0xc) {
1628 return decodeNeonSTwoShiftUSReg<NVshll>(
1629 size, machInst, vd, vm, 8 << size);
1630 } else {
1631 return new Unknown(machInst);
1632 }
1633 case 0x7:
1634 if (q) {
1635 return new SHA256SU0(machInst, vd, vm);
1636 } else {
1637 return new SHA1SU1(machInst, vd, vm);
1638 }
1639 case 0xc:
1640 case 0xe:
1641 if (b == 0x18) {
1642 if (size != 1 || (vm % 2))
1643 return new Unknown(machInst);
1644 return new NVcvts2h<uint16_t>(machInst, vd, vm);
1645 } else if (b == 0x1c) {
1646 if (size != 1 || (vd % 2))

--- 1054 unchanged lines hidden ---