1// -*- mode:c++ -*- 2 3// Copyright (c) 2010 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 --- 510 unchanged lines hidden (view full) --- 519 vm = (bits(machInst, 5) << 5) | 520 (bits(machInst, 3, 0) << 1); 521 vn = (bits(machInst, 7) << 5) | 522 (bits(machInst, 19, 16) << 1); 523 return new VmlsD(machInst, (IntRegIndex)vd, 524 (IntRegIndex)vn, (IntRegIndex)vm); 525 } 526 } |
527 case 0x1: 528 if (bits(machInst, 6) == 1) { 529 uint32_t vd; 530 uint32_t vm; 531 uint32_t vn; 532 if (bits(machInst, 8) == 0) { 533 vd = bits(machInst, 22) | (bits(machInst, 15, 12) << 1); 534 vm = bits(machInst, 5) | (bits(machInst, 3, 0) << 1); 535 vn = bits(machInst, 7) | (bits(machInst, 19, 16) << 1); 536 return new VnmlaS(machInst, (IntRegIndex)vd, 537 (IntRegIndex)vn, (IntRegIndex)vm); 538 } else { 539 vd = (bits(machInst, 22) << 5) | 540 (bits(machInst, 15, 12) << 1); 541 vm = (bits(machInst, 5) << 5) | 542 (bits(machInst, 3, 0) << 1); 543 vn = (bits(machInst, 7) << 5) | 544 (bits(machInst, 19, 16) << 1); 545 return new VnmlaD(machInst, (IntRegIndex)vd, 546 (IntRegIndex)vn, (IntRegIndex)vm); 547 } 548 } else { 549 uint32_t vd; 550 uint32_t vm; 551 uint32_t vn; 552 if (bits(machInst, 8) == 0) { 553 vd = bits(machInst, 22) | (bits(machInst, 15, 12) << 1); 554 vm = bits(machInst, 5) | (bits(machInst, 3, 0) << 1); 555 vn = bits(machInst, 7) | (bits(machInst, 19, 16) << 1); 556 return new VnmlsS(machInst, (IntRegIndex)vd, 557 (IntRegIndex)vn, (IntRegIndex)vm); 558 } else { 559 vd = (bits(machInst, 22) << 5) | 560 (bits(machInst, 15, 12) << 1); 561 vm = (bits(machInst, 5) << 5) | 562 (bits(machInst, 3, 0) << 1); 563 vn = (bits(machInst, 7) << 5) | 564 (bits(machInst, 19, 16) << 1); 565 return new VnmlsD(machInst, (IntRegIndex)vd, 566 (IntRegIndex)vn, (IntRegIndex)vm); 567 } 568 } |
569 case 0x2: 570 if ((opc3 & 0x1) == 0) { 571 uint32_t vd; 572 uint32_t vm; 573 uint32_t vn; 574 if (bits(machInst, 8) == 0) { 575 vd = bits(machInst, 22) | (bits(machInst, 15, 12) << 1); 576 vm = bits(machInst, 5) | (bits(machInst, 3, 0) << 1); --- 5 unchanged lines hidden (view full) --- 582 (bits(machInst, 15, 12) << 1); 583 vm = (bits(machInst, 5) << 5) | 584 (bits(machInst, 3, 0) << 1); 585 vn = (bits(machInst, 7) << 5) | 586 (bits(machInst, 19, 16) << 1); 587 return new VmulD(machInst, (IntRegIndex)vd, 588 (IntRegIndex)vn, (IntRegIndex)vm); 589 } |
590 } else { 591 uint32_t vd; 592 uint32_t vm; 593 uint32_t vn; 594 if (bits(machInst, 8) == 0) { 595 vd = bits(machInst, 22) | (bits(machInst, 15, 12) << 1); 596 vm = bits(machInst, 5) | (bits(machInst, 3, 0) << 1); 597 vn = bits(machInst, 7) | (bits(machInst, 19, 16) << 1); 598 return new VnmulS(machInst, (IntRegIndex)vd, 599 (IntRegIndex)vn, (IntRegIndex)vm); 600 } else { 601 vd = (bits(machInst, 22) << 5) | 602 (bits(machInst, 15, 12) << 1); 603 vm = (bits(machInst, 5) << 5) | 604 (bits(machInst, 3, 0) << 1); 605 vn = (bits(machInst, 7) << 5) | 606 (bits(machInst, 19, 16) << 1); 607 return new VnmulD(machInst, (IntRegIndex)vd, 608 (IntRegIndex)vn, (IntRegIndex)vm); 609 } |
610 } |
611 case 0x3: 612 if ((opc3 & 0x1) == 0) { 613 uint32_t vd; 614 uint32_t vm; 615 uint32_t vn; 616 if (bits(machInst, 8) == 0) { 617 vd = bits(machInst, 22) | (bits(machInst, 15, 12) << 1); 618 vm = bits(machInst, 5) | (bits(machInst, 3, 0) << 1); --- 183 unchanged lines hidden --- |