| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright 2013 The Native Client Authors. All rights reserved. | 2 * Copyright 2013 The Native Client Authors. All rights reserved. |
| 3 * Use of this source code is governed by a BSD-style license that can | 3 * Use of this source code is governed by a BSD-style license that can |
| 4 * be found in the LICENSE file. | 4 * be found in the LICENSE file. |
| 5 */ | 5 */ |
| 6 | 6 |
| 7 // DO NOT EDIT: GENERATED CODE | 7 // DO NOT EDIT: GENERATED CODE |
| 8 | 8 |
| 9 #ifndef NATIVE_CLIENT_SRC_TRUSTED_VALIDATOR_ARM_GEN_ARM32_DECODE_BASELINES_2_H_ | 9 #ifndef NATIVE_CLIENT_SRC_TRUSTED_VALIDATOR_ARM_GEN_ARM32_DECODE_BASELINES_2_H_ |
| 10 #define NATIVE_CLIENT_SRC_TRUSTED_VALIDATOR_ARM_GEN_ARM32_DECODE_BASELINES_2_H_ | 10 #define NATIVE_CLIENT_SRC_TRUSTED_VALIDATOR_ARM_GEN_ARM32_DECODE_BASELINES_2_H_ |
| (...skipping 527 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 538 NACL_DISALLOW_COPY_AND_ASSIGN( | 538 NACL_DISALLOW_COPY_AND_ASSIGN( |
| 539 STC_cccc110pudw0nnnnddddcccciiiiiiii_case_0); | 539 STC_cccc110pudw0nnnnddddcccciiiiiiii_case_0); |
| 540 }; | 540 }; |
| 541 | 541 |
| 542 // STMDA_STMED_cccc100000w0nnnnrrrrrrrrrrrrrrrr_case_0: | 542 // STMDA_STMED_cccc100000w0nnnnrrrrrrrrrrrrrrrr_case_0: |
| 543 // | 543 // |
| 544 // {None: 32, | 544 // {None: 32, |
| 545 // Pc: 15, | 545 // Pc: 15, |
| 546 // Rn: Rn(19:16), | 546 // Rn: Rn(19:16), |
| 547 // W: W(21), | 547 // W: W(21), |
| 548 // actual: Actual_STMDA_STMED_cccc100000w0nnnnrrrrrrrrrrrrrrrr_case_1, |
| 548 // base: Rn, | 549 // base: Rn, |
| 549 // baseline: StoreRegisterList, | 550 // baseline: StoreRegisterList, |
| 550 // cond: cond(31:28), | 551 // cond: cond(31:28), |
| 551 // constraints: , | 552 // constraints: , |
| 552 // defs: {Rn | 553 // defs: {Rn |
| 553 // if wback | 554 // if wback |
| 554 // else None}, | 555 // else None}, |
| 555 // fields: [cond(31:28), W(21), Rn(19:16), register_list(15:0)], | 556 // fields: [cond(31:28), W(21), Rn(19:16), register_list(15:0)], |
| 556 // generated_baseline: STMDA_STMED_cccc100000w0nnnnrrrrrrrrrrrrrrrr_case_0, | 557 // generated_baseline: STMDA_STMED_cccc100000w0nnnnrrrrrrrrrrrrrrrr_case_0, |
| 557 // pattern: cccc100000w0nnnnrrrrrrrrrrrrrrrr, | 558 // pattern: cccc100000w0nnnnrrrrrrrrrrrrrrrr, |
| 558 // register_list: register_list(15:0), | 559 // register_list: register_list(15:0), |
| 559 // registers: RegisterList(register_list), | 560 // registers: RegisterList(register_list), |
| 560 // rule: STMDA_STMED, | 561 // rule: STMDA_STMED, |
| 561 // safety: [Rn == | 562 // safety: [Rn == |
| 562 // Pc || | 563 // Pc || |
| 563 // NumGPRs(registers) < | 564 // NumGPRs(registers) < |
| 564 // 1 => UNPREDICTABLE, | 565 // 1 => UNPREDICTABLE, |
| 565 // wback && | 566 // wback && |
| 566 // Contains(registers, Rn) && | 567 // Contains(registers, Rn) && |
| 567 // Rn != | 568 // Rn != |
| 568 // SmallestGPR(registers) => UNKNOWN], | 569 // SmallestGPR(registers) => UNKNOWN], |
| 569 // small_imm_base_wb: true, | 570 // small_imm_base_wb: wback, |
| 570 // true: true, | |
| 571 // uses: Union({Rn}, registers), | 571 // uses: Union({Rn}, registers), |
| 572 // wback: W(21)=1} | 572 // wback: W(21)=1} |
| 573 class STMDA_STMED_cccc100000w0nnnnrrrrrrrrrrrrrrrr_case_0 | 573 class STMDA_STMED_cccc100000w0nnnnrrrrrrrrrrrrrrrr_case_0 |
| 574 : public ClassDecoder { | 574 : public ClassDecoder { |
| 575 public: | 575 public: |
| 576 STMDA_STMED_cccc100000w0nnnnrrrrrrrrrrrrrrrr_case_0() | 576 STMDA_STMED_cccc100000w0nnnnrrrrrrrrrrrrrrrr_case_0() |
| 577 : ClassDecoder() {} | 577 : ClassDecoder() {} |
| 578 virtual Register base_address_register(Instruction i) const; | 578 virtual Register base_address_register(Instruction i) const; |
| 579 virtual RegisterList defs(Instruction inst) const; | 579 virtual RegisterList defs(Instruction inst) const; |
| 580 virtual SafetyLevel safety(Instruction i) const; | 580 virtual SafetyLevel safety(Instruction i) const; |
| 581 virtual bool base_address_register_writeback_small_immediate( | 581 virtual bool base_address_register_writeback_small_immediate( |
| 582 Instruction i) const; | 582 Instruction i) const; |
| 583 virtual RegisterList uses(Instruction i) const; | 583 virtual RegisterList uses(Instruction i) const; |
| 584 private: | 584 private: |
| 585 NACL_DISALLOW_COPY_AND_ASSIGN( | 585 NACL_DISALLOW_COPY_AND_ASSIGN( |
| 586 STMDA_STMED_cccc100000w0nnnnrrrrrrrrrrrrrrrr_case_0); | 586 STMDA_STMED_cccc100000w0nnnnrrrrrrrrrrrrrrrr_case_0); |
| 587 }; | 587 }; |
| 588 | 588 |
| 589 // STMDB_STMFD_cccc100100w0nnnnrrrrrrrrrrrrrrrr_case_0: | 589 // STMDB_STMFD_cccc100100w0nnnnrrrrrrrrrrrrrrrr_case_0: |
| 590 // | 590 // |
| 591 // {None: 32, | 591 // {None: 32, |
| 592 // Pc: 15, | 592 // Pc: 15, |
| 593 // Rn: Rn(19:16), | 593 // Rn: Rn(19:16), |
| 594 // W: W(21), | 594 // W: W(21), |
| 595 // actual: Actual_STMDA_STMED_cccc100000w0nnnnrrrrrrrrrrrrrrrr_case_1, |
| 595 // base: Rn, | 596 // base: Rn, |
| 596 // baseline: StoreRegisterList, | 597 // baseline: StoreRegisterList, |
| 597 // cond: cond(31:28), | 598 // cond: cond(31:28), |
| 598 // constraints: , | 599 // constraints: , |
| 599 // defs: {Rn | 600 // defs: {Rn |
| 600 // if wback | 601 // if wback |
| 601 // else None}, | 602 // else None}, |
| 602 // fields: [cond(31:28), W(21), Rn(19:16), register_list(15:0)], | 603 // fields: [cond(31:28), W(21), Rn(19:16), register_list(15:0)], |
| 603 // generated_baseline: STMDB_STMFD_cccc100100w0nnnnrrrrrrrrrrrrrrrr_case_0, | 604 // generated_baseline: STMDB_STMFD_cccc100100w0nnnnrrrrrrrrrrrrrrrr_case_0, |
| 604 // pattern: cccc100100w0nnnnrrrrrrrrrrrrrrrr, | 605 // pattern: cccc100100w0nnnnrrrrrrrrrrrrrrrr, |
| 605 // register_list: register_list(15:0), | 606 // register_list: register_list(15:0), |
| 606 // registers: RegisterList(register_list), | 607 // registers: RegisterList(register_list), |
| 607 // rule: STMDB_STMFD, | 608 // rule: STMDB_STMFD, |
| 608 // safety: [Rn == | 609 // safety: [Rn == |
| 609 // Pc || | 610 // Pc || |
| 610 // NumGPRs(registers) < | 611 // NumGPRs(registers) < |
| 611 // 1 => UNPREDICTABLE, | 612 // 1 => UNPREDICTABLE, |
| 612 // wback && | 613 // wback && |
| 613 // Contains(registers, Rn) && | 614 // Contains(registers, Rn) && |
| 614 // Rn != | 615 // Rn != |
| 615 // SmallestGPR(registers) => UNKNOWN], | 616 // SmallestGPR(registers) => UNKNOWN], |
| 616 // small_imm_base_wb: true, | 617 // small_imm_base_wb: wback, |
| 617 // true: true, | |
| 618 // uses: Union({Rn}, registers), | 618 // uses: Union({Rn}, registers), |
| 619 // wback: W(21)=1} | 619 // wback: W(21)=1} |
| 620 class STMDB_STMFD_cccc100100w0nnnnrrrrrrrrrrrrrrrr_case_0 | 620 class STMDB_STMFD_cccc100100w0nnnnrrrrrrrrrrrrrrrr_case_0 |
| 621 : public ClassDecoder { | 621 : public ClassDecoder { |
| 622 public: | 622 public: |
| 623 STMDB_STMFD_cccc100100w0nnnnrrrrrrrrrrrrrrrr_case_0() | 623 STMDB_STMFD_cccc100100w0nnnnrrrrrrrrrrrrrrrr_case_0() |
| 624 : ClassDecoder() {} | 624 : ClassDecoder() {} |
| 625 virtual Register base_address_register(Instruction i) const; | 625 virtual Register base_address_register(Instruction i) const; |
| 626 virtual RegisterList defs(Instruction inst) const; | 626 virtual RegisterList defs(Instruction inst) const; |
| 627 virtual SafetyLevel safety(Instruction i) const; | 627 virtual SafetyLevel safety(Instruction i) const; |
| 628 virtual bool base_address_register_writeback_small_immediate( | 628 virtual bool base_address_register_writeback_small_immediate( |
| 629 Instruction i) const; | 629 Instruction i) const; |
| 630 virtual RegisterList uses(Instruction i) const; | 630 virtual RegisterList uses(Instruction i) const; |
| 631 private: | 631 private: |
| 632 NACL_DISALLOW_COPY_AND_ASSIGN( | 632 NACL_DISALLOW_COPY_AND_ASSIGN( |
| 633 STMDB_STMFD_cccc100100w0nnnnrrrrrrrrrrrrrrrr_case_0); | 633 STMDB_STMFD_cccc100100w0nnnnrrrrrrrrrrrrrrrr_case_0); |
| 634 }; | 634 }; |
| 635 | 635 |
| 636 // STMIB_STMFA_cccc100110w0nnnnrrrrrrrrrrrrrrrr_case_0: | 636 // STMIB_STMFA_cccc100110w0nnnnrrrrrrrrrrrrrrrr_case_0: |
| 637 // | 637 // |
| 638 // {None: 32, | 638 // {None: 32, |
| 639 // Pc: 15, | 639 // Pc: 15, |
| 640 // Rn: Rn(19:16), | 640 // Rn: Rn(19:16), |
| 641 // W: W(21), | 641 // W: W(21), |
| 642 // actual: Actual_STMDA_STMED_cccc100000w0nnnnrrrrrrrrrrrrrrrr_case_1, |
| 642 // base: Rn, | 643 // base: Rn, |
| 643 // baseline: StoreRegisterList, | 644 // baseline: StoreRegisterList, |
| 644 // cond: cond(31:28), | 645 // cond: cond(31:28), |
| 645 // constraints: , | 646 // constraints: , |
| 646 // defs: {Rn | 647 // defs: {Rn |
| 647 // if wback | 648 // if wback |
| 648 // else None}, | 649 // else None}, |
| 649 // fields: [cond(31:28), W(21), Rn(19:16), register_list(15:0)], | 650 // fields: [cond(31:28), W(21), Rn(19:16), register_list(15:0)], |
| 650 // generated_baseline: STMIB_STMFA_cccc100110w0nnnnrrrrrrrrrrrrrrrr_case_0, | 651 // generated_baseline: STMIB_STMFA_cccc100110w0nnnnrrrrrrrrrrrrrrrr_case_0, |
| 651 // pattern: cccc100110w0nnnnrrrrrrrrrrrrrrrr, | 652 // pattern: cccc100110w0nnnnrrrrrrrrrrrrrrrr, |
| 652 // register_list: register_list(15:0), | 653 // register_list: register_list(15:0), |
| 653 // registers: RegisterList(register_list), | 654 // registers: RegisterList(register_list), |
| 654 // rule: STMIB_STMFA, | 655 // rule: STMIB_STMFA, |
| 655 // safety: [Rn == | 656 // safety: [Rn == |
| 656 // Pc || | 657 // Pc || |
| 657 // NumGPRs(registers) < | 658 // NumGPRs(registers) < |
| 658 // 1 => UNPREDICTABLE, | 659 // 1 => UNPREDICTABLE, |
| 659 // wback && | 660 // wback && |
| 660 // Contains(registers, Rn) && | 661 // Contains(registers, Rn) && |
| 661 // Rn != | 662 // Rn != |
| 662 // SmallestGPR(registers) => UNKNOWN], | 663 // SmallestGPR(registers) => UNKNOWN], |
| 663 // small_imm_base_wb: true, | 664 // small_imm_base_wb: wback, |
| 664 // true: true, | |
| 665 // uses: Union({Rn}, registers), | 665 // uses: Union({Rn}, registers), |
| 666 // wback: W(21)=1} | 666 // wback: W(21)=1} |
| 667 class STMIB_STMFA_cccc100110w0nnnnrrrrrrrrrrrrrrrr_case_0 | 667 class STMIB_STMFA_cccc100110w0nnnnrrrrrrrrrrrrrrrr_case_0 |
| 668 : public ClassDecoder { | 668 : public ClassDecoder { |
| 669 public: | 669 public: |
| 670 STMIB_STMFA_cccc100110w0nnnnrrrrrrrrrrrrrrrr_case_0() | 670 STMIB_STMFA_cccc100110w0nnnnrrrrrrrrrrrrrrrr_case_0() |
| 671 : ClassDecoder() {} | 671 : ClassDecoder() {} |
| 672 virtual Register base_address_register(Instruction i) const; | 672 virtual Register base_address_register(Instruction i) const; |
| 673 virtual RegisterList defs(Instruction inst) const; | 673 virtual RegisterList defs(Instruction inst) const; |
| 674 virtual SafetyLevel safety(Instruction i) const; | 674 virtual SafetyLevel safety(Instruction i) const; |
| 675 virtual bool base_address_register_writeback_small_immediate( | 675 virtual bool base_address_register_writeback_small_immediate( |
| 676 Instruction i) const; | 676 Instruction i) const; |
| 677 virtual RegisterList uses(Instruction i) const; | 677 virtual RegisterList uses(Instruction i) const; |
| 678 private: | 678 private: |
| 679 NACL_DISALLOW_COPY_AND_ASSIGN( | 679 NACL_DISALLOW_COPY_AND_ASSIGN( |
| 680 STMIB_STMFA_cccc100110w0nnnnrrrrrrrrrrrrrrrr_case_0); | 680 STMIB_STMFA_cccc100110w0nnnnrrrrrrrrrrrrrrrr_case_0); |
| 681 }; | 681 }; |
| 682 | 682 |
| 683 // STM_STMIA_STMEA_cccc100010w0nnnnrrrrrrrrrrrrrrrr_case_0: | 683 // STM_STMIA_STMEA_cccc100010w0nnnnrrrrrrrrrrrrrrrr_case_0: |
| 684 // | 684 // |
| 685 // {None: 32, | 685 // {None: 32, |
| 686 // Pc: 15, | 686 // Pc: 15, |
| 687 // Rn: Rn(19:16), | 687 // Rn: Rn(19:16), |
| 688 // W: W(21), | 688 // W: W(21), |
| 689 // actual: Actual_STMDA_STMED_cccc100000w0nnnnrrrrrrrrrrrrrrrr_case_1, |
| 689 // base: Rn, | 690 // base: Rn, |
| 690 // baseline: StoreRegisterList, | 691 // baseline: StoreRegisterList, |
| 691 // cond: cond(31:28), | 692 // cond: cond(31:28), |
| 692 // constraints: , | 693 // constraints: , |
| 693 // defs: {Rn | 694 // defs: {Rn |
| 694 // if wback | 695 // if wback |
| 695 // else None}, | 696 // else None}, |
| 696 // fields: [cond(31:28), W(21), Rn(19:16), register_list(15:0)], | 697 // fields: [cond(31:28), W(21), Rn(19:16), register_list(15:0)], |
| 697 // generated_baseline: STM_STMIA_STMEA_cccc100010w0nnnnrrrrrrrrrrrrrrrr_case_
0, | 698 // generated_baseline: STM_STMIA_STMEA_cccc100010w0nnnnrrrrrrrrrrrrrrrr_case_
0, |
| 698 // pattern: cccc100010w0nnnnrrrrrrrrrrrrrrrr, | 699 // pattern: cccc100010w0nnnnrrrrrrrrrrrrrrrr, |
| 699 // register_list: register_list(15:0), | 700 // register_list: register_list(15:0), |
| 700 // registers: RegisterList(register_list), | 701 // registers: RegisterList(register_list), |
| 701 // rule: STM_STMIA_STMEA, | 702 // rule: STM_STMIA_STMEA, |
| 702 // safety: [Rn == | 703 // safety: [Rn == |
| 703 // Pc || | 704 // Pc || |
| 704 // NumGPRs(registers) < | 705 // NumGPRs(registers) < |
| 705 // 1 => UNPREDICTABLE, | 706 // 1 => UNPREDICTABLE, |
| 706 // wback && | 707 // wback && |
| 707 // Contains(registers, Rn) && | 708 // Contains(registers, Rn) && |
| 708 // Rn != | 709 // Rn != |
| 709 // SmallestGPR(registers) => UNKNOWN], | 710 // SmallestGPR(registers) => UNKNOWN], |
| 710 // small_imm_base_wb: true, | 711 // small_imm_base_wb: wback, |
| 711 // true: true, | |
| 712 // uses: Union({Rn}, registers), | 712 // uses: Union({Rn}, registers), |
| 713 // wback: W(21)=1} | 713 // wback: W(21)=1} |
| 714 class STM_STMIA_STMEA_cccc100010w0nnnnrrrrrrrrrrrrrrrr_case_0 | 714 class STM_STMIA_STMEA_cccc100010w0nnnnrrrrrrrrrrrrrrrr_case_0 |
| 715 : public ClassDecoder { | 715 : public ClassDecoder { |
| 716 public: | 716 public: |
| 717 STM_STMIA_STMEA_cccc100010w0nnnnrrrrrrrrrrrrrrrr_case_0() | 717 STM_STMIA_STMEA_cccc100010w0nnnnrrrrrrrrrrrrrrrr_case_0() |
| 718 : ClassDecoder() {} | 718 : ClassDecoder() {} |
| 719 virtual Register base_address_register(Instruction i) const; | 719 virtual Register base_address_register(Instruction i) const; |
| 720 virtual RegisterList defs(Instruction inst) const; | 720 virtual RegisterList defs(Instruction inst) const; |
| 721 virtual SafetyLevel safety(Instruction i) const; | 721 virtual SafetyLevel safety(Instruction i) const; |
| (...skipping 5690 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6412 virtual SafetyLevel safety(Instruction i) const; | 6412 virtual SafetyLevel safety(Instruction i) const; |
| 6413 virtual RegisterList uses(Instruction i) const; | 6413 virtual RegisterList uses(Instruction i) const; |
| 6414 private: | 6414 private: |
| 6415 NACL_DISALLOW_COPY_AND_ASSIGN( | 6415 NACL_DISALLOW_COPY_AND_ASSIGN( |
| 6416 VHSUB_1111001u0dssnnnndddd0010nqm0mmmm_case_0); | 6416 VHSUB_1111001u0dssnnnndddd0010nqm0mmmm_case_0); |
| 6417 }; | 6417 }; |
| 6418 | 6418 |
| 6419 } // namespace nacl_arm_test | 6419 } // namespace nacl_arm_test |
| 6420 | 6420 |
| 6421 #endif // NATIVE_CLIENT_SRC_TRUSTED_VALIDATOR_ARM_GEN_ARM32_DECODE_BASELINES_2_
H_ | 6421 #endif // NATIVE_CLIENT_SRC_TRUSTED_VALIDATOR_ARM_GEN_ARM32_DECODE_BASELINES_2_
H_ |
| OLD | NEW |