fp.isa (13120:690a0db8e58b) fp.isa (13168:4965381c122d)
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 }
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 }
609 }
610 return new Unknown(machInst);
611 case 0xd:
612 if (b) {
613 if (u) {
614 if (bits(c, 1) == 0) {
615 if (q) {
616 return new NVmulQFp<float>(machInst, vd, vn, vm);

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

1529 return new NVcltQFp<float>(machInst, vd, vm);
1530 } else {
1531 return new NVcltDFp<float>(machInst, vd, vm);
1532 }
1533 } else {
1534 return decodeNeonSTwoMiscReg<NVcltD, NVcltQ>(
1535 q, size, machInst, vd, vm);
1536 }
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 }
1537 case 0x6:
1538 if (bits(machInst, 10)) {
1539 if (q)
1540 return new NVabsQFp<float>(machInst, vd, vm);
1541 else
1542 return new NVabsDFp<float>(machInst, vd, vm);
1543 } else {
1544 return decodeNeonSTwoMiscReg<NVabsD, NVabsQ>(

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

1591 }
1592 case 0x6:
1593 if (b == 0xc) {
1594 return decodeNeonSTwoShiftUSReg<NVshll>(
1595 size, machInst, vd, vm, 8 << size);
1596 } else {
1597 return new Unknown(machInst);
1598 }
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 }
1599 case 0xc:
1600 case 0xe:
1601 if (b == 0x18) {
1602 if (size != 1 || (vm % 2))
1603 return new Unknown(machInst);
1604 return new NVcvts2h<uint16_t>(machInst, vd, vm);
1605 } else if (b == 0x1c) {
1606 if (size != 1 || (vd % 2))

--- 1054 unchanged lines hidden ---
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 ---