| 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 517 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 528 NACL_DISALLOW_COPY_AND_ASSIGN( | 528 NACL_DISALLOW_COPY_AND_ASSIGN( |
| 529 STC_cccc110pudw0nnnnddddcccciiiiiiii_case_0); | 529 STC_cccc110pudw0nnnnddddcccciiiiiiii_case_0); |
| 530 }; | 530 }; |
| 531 | 531 |
| 532 // STMDA_STMED_cccc100000w0nnnnrrrrrrrrrrrrrrrr_case_0: | 532 // STMDA_STMED_cccc100000w0nnnnrrrrrrrrrrrrrrrr_case_0: |
| 533 // | 533 // |
| 534 // {None: 32, | 534 // {None: 32, |
| 535 // Pc: 15, | 535 // Pc: 15, |
| 536 // Rn: Rn(19:16), | 536 // Rn: Rn(19:16), |
| 537 // W: W(21), | 537 // W: W(21), |
| 538 // actual: Actual_STMDA_STMED_cccc100000w0nnnnrrrrrrrrrrrrrrrr_case_1, |
| 538 // base: Rn, | 539 // base: Rn, |
| 539 // baseline: StoreRegisterList, | 540 // baseline: StoreRegisterList, |
| 540 // cond: cond(31:28), | 541 // cond: cond(31:28), |
| 541 // constraints: , | 542 // constraints: , |
| 542 // defs: {Rn | 543 // defs: {Rn |
| 543 // if wback | 544 // if wback |
| 544 // else None}, | 545 // else None}, |
| 545 // fields: [cond(31:28), W(21), Rn(19:16), register_list(15:0)], | 546 // fields: [cond(31:28), W(21), Rn(19:16), register_list(15:0)], |
| 546 // generated_baseline: STMDA_STMED_cccc100000w0nnnnrrrrrrrrrrrrrrrr_case_0, | 547 // generated_baseline: STMDA_STMED_cccc100000w0nnnnrrrrrrrrrrrrrrrr_case_0, |
| 547 // pattern: cccc100000w0nnnnrrrrrrrrrrrrrrrr, | 548 // pattern: cccc100000w0nnnnrrrrrrrrrrrrrrrr, |
| 548 // register_list: register_list(15:0), | 549 // register_list: register_list(15:0), |
| 549 // registers: RegisterList(register_list), | 550 // registers: RegisterList(register_list), |
| 550 // rule: STMDA_STMED, | 551 // rule: STMDA_STMED, |
| 551 // safety: [Rn == | 552 // safety: [Rn == |
| 552 // Pc || | 553 // Pc || |
| 553 // NumGPRs(registers) < | 554 // NumGPRs(registers) < |
| 554 // 1 => UNPREDICTABLE, | 555 // 1 => UNPREDICTABLE, |
| 555 // wback && | 556 // wback && |
| 556 // Contains(registers, Rn) && | 557 // Contains(registers, Rn) && |
| 557 // Rn != | 558 // Rn != |
| 558 // SmallestGPR(registers) => UNKNOWN], | 559 // SmallestGPR(registers) => UNKNOWN], |
| 559 // small_imm_base_wb: true, | 560 // small_imm_base_wb: wback, |
| 560 // true: true, | |
| 561 // uses: Union({Rn}, registers), | 561 // uses: Union({Rn}, registers), |
| 562 // wback: W(21)=1} | 562 // wback: W(21)=1} |
| 563 class STMDA_STMED_cccc100000w0nnnnrrrrrrrrrrrrrrrr_case_0 | 563 class STMDA_STMED_cccc100000w0nnnnrrrrrrrrrrrrrrrr_case_0 |
| 564 : public ClassDecoder { | 564 : public ClassDecoder { |
| 565 public: | 565 public: |
| 566 STMDA_STMED_cccc100000w0nnnnrrrrrrrrrrrrrrrr_case_0() | 566 STMDA_STMED_cccc100000w0nnnnrrrrrrrrrrrrrrrr_case_0() |
| 567 : ClassDecoder() {} | 567 : ClassDecoder() {} |
| 568 virtual Register base_address_register(Instruction i) const; | 568 virtual Register base_address_register(Instruction i) const; |
| 569 virtual RegisterList defs(Instruction inst) const; | 569 virtual RegisterList defs(Instruction inst) const; |
| 570 virtual SafetyLevel safety(Instruction i) const; | 570 virtual SafetyLevel safety(Instruction i) const; |
| 571 virtual bool base_address_register_writeback_small_immediate( | 571 virtual bool base_address_register_writeback_small_immediate( |
| 572 Instruction i) const; | 572 Instruction i) const; |
| 573 virtual RegisterList uses(Instruction i) const; | 573 virtual RegisterList uses(Instruction i) const; |
| 574 private: | 574 private: |
| 575 NACL_DISALLOW_COPY_AND_ASSIGN( | 575 NACL_DISALLOW_COPY_AND_ASSIGN( |
| 576 STMDA_STMED_cccc100000w0nnnnrrrrrrrrrrrrrrrr_case_0); | 576 STMDA_STMED_cccc100000w0nnnnrrrrrrrrrrrrrrrr_case_0); |
| 577 }; | 577 }; |
| 578 | 578 |
| 579 // STMDB_STMFD_cccc100100w0nnnnrrrrrrrrrrrrrrrr_case_0: | 579 // STMDB_STMFD_cccc100100w0nnnnrrrrrrrrrrrrrrrr_case_0: |
| 580 // | 580 // |
| 581 // {None: 32, | 581 // {None: 32, |
| 582 // Pc: 15, | 582 // Pc: 15, |
| 583 // Rn: Rn(19:16), | 583 // Rn: Rn(19:16), |
| 584 // W: W(21), | 584 // W: W(21), |
| 585 // actual: Actual_STMDA_STMED_cccc100000w0nnnnrrrrrrrrrrrrrrrr_case_1, |
| 585 // base: Rn, | 586 // base: Rn, |
| 586 // baseline: StoreRegisterList, | 587 // baseline: StoreRegisterList, |
| 587 // cond: cond(31:28), | 588 // cond: cond(31:28), |
| 588 // constraints: , | 589 // constraints: , |
| 589 // defs: {Rn | 590 // defs: {Rn |
| 590 // if wback | 591 // if wback |
| 591 // else None}, | 592 // else None}, |
| 592 // fields: [cond(31:28), W(21), Rn(19:16), register_list(15:0)], | 593 // fields: [cond(31:28), W(21), Rn(19:16), register_list(15:0)], |
| 593 // generated_baseline: STMDB_STMFD_cccc100100w0nnnnrrrrrrrrrrrrrrrr_case_0, | 594 // generated_baseline: STMDB_STMFD_cccc100100w0nnnnrrrrrrrrrrrrrrrr_case_0, |
| 594 // pattern: cccc100100w0nnnnrrrrrrrrrrrrrrrr, | 595 // pattern: cccc100100w0nnnnrrrrrrrrrrrrrrrr, |
| 595 // register_list: register_list(15:0), | 596 // register_list: register_list(15:0), |
| 596 // registers: RegisterList(register_list), | 597 // registers: RegisterList(register_list), |
| 597 // rule: STMDB_STMFD, | 598 // rule: STMDB_STMFD, |
| 598 // safety: [Rn == | 599 // safety: [Rn == |
| 599 // Pc || | 600 // Pc || |
| 600 // NumGPRs(registers) < | 601 // NumGPRs(registers) < |
| 601 // 1 => UNPREDICTABLE, | 602 // 1 => UNPREDICTABLE, |
| 602 // wback && | 603 // wback && |
| 603 // Contains(registers, Rn) && | 604 // Contains(registers, Rn) && |
| 604 // Rn != | 605 // Rn != |
| 605 // SmallestGPR(registers) => UNKNOWN], | 606 // SmallestGPR(registers) => UNKNOWN], |
| 606 // small_imm_base_wb: true, | 607 // small_imm_base_wb: wback, |
| 607 // true: true, | |
| 608 // uses: Union({Rn}, registers), | 608 // uses: Union({Rn}, registers), |
| 609 // wback: W(21)=1} | 609 // wback: W(21)=1} |
| 610 class STMDB_STMFD_cccc100100w0nnnnrrrrrrrrrrrrrrrr_case_0 | 610 class STMDB_STMFD_cccc100100w0nnnnrrrrrrrrrrrrrrrr_case_0 |
| 611 : public ClassDecoder { | 611 : public ClassDecoder { |
| 612 public: | 612 public: |
| 613 STMDB_STMFD_cccc100100w0nnnnrrrrrrrrrrrrrrrr_case_0() | 613 STMDB_STMFD_cccc100100w0nnnnrrrrrrrrrrrrrrrr_case_0() |
| 614 : ClassDecoder() {} | 614 : ClassDecoder() {} |
| 615 virtual Register base_address_register(Instruction i) const; | 615 virtual Register base_address_register(Instruction i) const; |
| 616 virtual RegisterList defs(Instruction inst) const; | 616 virtual RegisterList defs(Instruction inst) const; |
| 617 virtual SafetyLevel safety(Instruction i) const; | 617 virtual SafetyLevel safety(Instruction i) const; |
| 618 virtual bool base_address_register_writeback_small_immediate( | 618 virtual bool base_address_register_writeback_small_immediate( |
| 619 Instruction i) const; | 619 Instruction i) const; |
| 620 virtual RegisterList uses(Instruction i) const; | 620 virtual RegisterList uses(Instruction i) const; |
| 621 private: | 621 private: |
| 622 NACL_DISALLOW_COPY_AND_ASSIGN( | 622 NACL_DISALLOW_COPY_AND_ASSIGN( |
| 623 STMDB_STMFD_cccc100100w0nnnnrrrrrrrrrrrrrrrr_case_0); | 623 STMDB_STMFD_cccc100100w0nnnnrrrrrrrrrrrrrrrr_case_0); |
| 624 }; | 624 }; |
| 625 | 625 |
| 626 // STMIB_STMFA_cccc100110w0nnnnrrrrrrrrrrrrrrrr_case_0: | 626 // STMIB_STMFA_cccc100110w0nnnnrrrrrrrrrrrrrrrr_case_0: |
| 627 // | 627 // |
| 628 // {None: 32, | 628 // {None: 32, |
| 629 // Pc: 15, | 629 // Pc: 15, |
| 630 // Rn: Rn(19:16), | 630 // Rn: Rn(19:16), |
| 631 // W: W(21), | 631 // W: W(21), |
| 632 // actual: Actual_STMDA_STMED_cccc100000w0nnnnrrrrrrrrrrrrrrrr_case_1, |
| 632 // base: Rn, | 633 // base: Rn, |
| 633 // baseline: StoreRegisterList, | 634 // baseline: StoreRegisterList, |
| 634 // cond: cond(31:28), | 635 // cond: cond(31:28), |
| 635 // constraints: , | 636 // constraints: , |
| 636 // defs: {Rn | 637 // defs: {Rn |
| 637 // if wback | 638 // if wback |
| 638 // else None}, | 639 // else None}, |
| 639 // fields: [cond(31:28), W(21), Rn(19:16), register_list(15:0)], | 640 // fields: [cond(31:28), W(21), Rn(19:16), register_list(15:0)], |
| 640 // generated_baseline: STMIB_STMFA_cccc100110w0nnnnrrrrrrrrrrrrrrrr_case_0, | 641 // generated_baseline: STMIB_STMFA_cccc100110w0nnnnrrrrrrrrrrrrrrrr_case_0, |
| 641 // pattern: cccc100110w0nnnnrrrrrrrrrrrrrrrr, | 642 // pattern: cccc100110w0nnnnrrrrrrrrrrrrrrrr, |
| 642 // register_list: register_list(15:0), | 643 // register_list: register_list(15:0), |
| 643 // registers: RegisterList(register_list), | 644 // registers: RegisterList(register_list), |
| 644 // rule: STMIB_STMFA, | 645 // rule: STMIB_STMFA, |
| 645 // safety: [Rn == | 646 // safety: [Rn == |
| 646 // Pc || | 647 // Pc || |
| 647 // NumGPRs(registers) < | 648 // NumGPRs(registers) < |
| 648 // 1 => UNPREDICTABLE, | 649 // 1 => UNPREDICTABLE, |
| 649 // wback && | 650 // wback && |
| 650 // Contains(registers, Rn) && | 651 // Contains(registers, Rn) && |
| 651 // Rn != | 652 // Rn != |
| 652 // SmallestGPR(registers) => UNKNOWN], | 653 // SmallestGPR(registers) => UNKNOWN], |
| 653 // small_imm_base_wb: true, | 654 // small_imm_base_wb: wback, |
| 654 // true: true, | |
| 655 // uses: Union({Rn}, registers), | 655 // uses: Union({Rn}, registers), |
| 656 // wback: W(21)=1} | 656 // wback: W(21)=1} |
| 657 class STMIB_STMFA_cccc100110w0nnnnrrrrrrrrrrrrrrrr_case_0 | 657 class STMIB_STMFA_cccc100110w0nnnnrrrrrrrrrrrrrrrr_case_0 |
| 658 : public ClassDecoder { | 658 : public ClassDecoder { |
| 659 public: | 659 public: |
| 660 STMIB_STMFA_cccc100110w0nnnnrrrrrrrrrrrrrrrr_case_0() | 660 STMIB_STMFA_cccc100110w0nnnnrrrrrrrrrrrrrrrr_case_0() |
| 661 : ClassDecoder() {} | 661 : ClassDecoder() {} |
| 662 virtual Register base_address_register(Instruction i) const; | 662 virtual Register base_address_register(Instruction i) const; |
| 663 virtual RegisterList defs(Instruction inst) const; | 663 virtual RegisterList defs(Instruction inst) const; |
| 664 virtual SafetyLevel safety(Instruction i) const; | 664 virtual SafetyLevel safety(Instruction i) const; |
| 665 virtual bool base_address_register_writeback_small_immediate( | 665 virtual bool base_address_register_writeback_small_immediate( |
| 666 Instruction i) const; | 666 Instruction i) const; |
| 667 virtual RegisterList uses(Instruction i) const; | 667 virtual RegisterList uses(Instruction i) const; |
| 668 private: | 668 private: |
| 669 NACL_DISALLOW_COPY_AND_ASSIGN( | 669 NACL_DISALLOW_COPY_AND_ASSIGN( |
| 670 STMIB_STMFA_cccc100110w0nnnnrrrrrrrrrrrrrrrr_case_0); | 670 STMIB_STMFA_cccc100110w0nnnnrrrrrrrrrrrrrrrr_case_0); |
| 671 }; | 671 }; |
| 672 | 672 |
| 673 // STM_STMIA_STMEA_cccc100010w0nnnnrrrrrrrrrrrrrrrr_case_0: | 673 // STM_STMIA_STMEA_cccc100010w0nnnnrrrrrrrrrrrrrrrr_case_0: |
| 674 // | 674 // |
| 675 // {None: 32, | 675 // {None: 32, |
| 676 // Pc: 15, | 676 // Pc: 15, |
| 677 // Rn: Rn(19:16), | 677 // Rn: Rn(19:16), |
| 678 // W: W(21), | 678 // W: W(21), |
| 679 // actual: Actual_STMDA_STMED_cccc100000w0nnnnrrrrrrrrrrrrrrrr_case_1, |
| 679 // base: Rn, | 680 // base: Rn, |
| 680 // baseline: StoreRegisterList, | 681 // baseline: StoreRegisterList, |
| 681 // cond: cond(31:28), | 682 // cond: cond(31:28), |
| 682 // constraints: , | 683 // constraints: , |
| 683 // defs: {Rn | 684 // defs: {Rn |
| 684 // if wback | 685 // if wback |
| 685 // else None}, | 686 // else None}, |
| 686 // fields: [cond(31:28), W(21), Rn(19:16), register_list(15:0)], | 687 // fields: [cond(31:28), W(21), Rn(19:16), register_list(15:0)], |
| 687 // generated_baseline: STM_STMIA_STMEA_cccc100010w0nnnnrrrrrrrrrrrrrrrr_case_
0, | 688 // generated_baseline: STM_STMIA_STMEA_cccc100010w0nnnnrrrrrrrrrrrrrrrr_case_
0, |
| 688 // pattern: cccc100010w0nnnnrrrrrrrrrrrrrrrr, | 689 // pattern: cccc100010w0nnnnrrrrrrrrrrrrrrrr, |
| 689 // register_list: register_list(15:0), | 690 // register_list: register_list(15:0), |
| 690 // registers: RegisterList(register_list), | 691 // registers: RegisterList(register_list), |
| 691 // rule: STM_STMIA_STMEA, | 692 // rule: STM_STMIA_STMEA, |
| 692 // safety: [Rn == | 693 // safety: [Rn == |
| 693 // Pc || | 694 // Pc || |
| 694 // NumGPRs(registers) < | 695 // NumGPRs(registers) < |
| 695 // 1 => UNPREDICTABLE, | 696 // 1 => UNPREDICTABLE, |
| 696 // wback && | 697 // wback && |
| 697 // Contains(registers, Rn) && | 698 // Contains(registers, Rn) && |
| 698 // Rn != | 699 // Rn != |
| 699 // SmallestGPR(registers) => UNKNOWN], | 700 // SmallestGPR(registers) => UNKNOWN], |
| 700 // small_imm_base_wb: true, | 701 // small_imm_base_wb: wback, |
| 701 // true: true, | |
| 702 // uses: Union({Rn}, registers), | 702 // uses: Union({Rn}, registers), |
| 703 // wback: W(21)=1} | 703 // wback: W(21)=1} |
| 704 class STM_STMIA_STMEA_cccc100010w0nnnnrrrrrrrrrrrrrrrr_case_0 | 704 class STM_STMIA_STMEA_cccc100010w0nnnnrrrrrrrrrrrrrrrr_case_0 |
| 705 : public ClassDecoder { | 705 : public ClassDecoder { |
| 706 public: | 706 public: |
| 707 STM_STMIA_STMEA_cccc100010w0nnnnrrrrrrrrrrrrrrrr_case_0() | 707 STM_STMIA_STMEA_cccc100010w0nnnnrrrrrrrrrrrrrrrr_case_0() |
| 708 : ClassDecoder() {} | 708 : ClassDecoder() {} |
| 709 virtual Register base_address_register(Instruction i) const; | 709 virtual Register base_address_register(Instruction i) const; |
| 710 virtual RegisterList defs(Instruction inst) const; | 710 virtual RegisterList defs(Instruction inst) const; |
| 711 virtual SafetyLevel safety(Instruction i) const; | 711 virtual SafetyLevel safety(Instruction i) const; |
| (...skipping 5647 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6359 virtual SafetyLevel safety(Instruction i) const; | 6359 virtual SafetyLevel safety(Instruction i) const; |
| 6360 virtual RegisterList uses(Instruction i) const; | 6360 virtual RegisterList uses(Instruction i) const; |
| 6361 private: | 6361 private: |
| 6362 NACL_DISALLOW_COPY_AND_ASSIGN( | 6362 NACL_DISALLOW_COPY_AND_ASSIGN( |
| 6363 VHSUB_1111001u0dssnnnndddd0010nqm0mmmm_case_0); | 6363 VHSUB_1111001u0dssnnnndddd0010nqm0mmmm_case_0); |
| 6364 }; | 6364 }; |
| 6365 | 6365 |
| 6366 } // namespace nacl_arm_test | 6366 } // namespace nacl_arm_test |
| 6367 | 6367 |
| 6368 #endif // NATIVE_CLIENT_SRC_TRUSTED_VALIDATOR_ARM_GEN_ARM32_DECODE_BASELINES_2_
H_ | 6368 #endif // NATIVE_CLIENT_SRC_TRUSTED_VALIDATOR_ARM_GEN_ARM32_DECODE_BASELINES_2_
H_ |
| OLD | NEW |