| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright 2012 The Native Client Authors. All rights reserved. | 2 * Copyright 2012 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 NACL_TRUSTED_BUT_NOT_TCB | 9 #ifndef NACL_TRUSTED_BUT_NOT_TCB |
| 10 #error This file is not meant for use in the TCB | 10 #error This file is not meant for use in the TCB |
| (...skipping 488 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 499 return Store3RegisterOp_Strh_Rule_208_A1_P412_instance_; | 499 return Store3RegisterOp_Strh_Rule_208_A1_P412_instance_; |
| 500 | 500 |
| 501 if ((insn.Bits() & 0x00000060) == 0x00000020 /* op2(6:5) == 01 */ && | 501 if ((insn.Bits() & 0x00000060) == 0x00000020 /* op2(6:5) == 01 */ && |
| 502 (insn.Bits() & 0x00500000) == 0x00100000 /* op1(24:20) == xx0x1 */ && | 502 (insn.Bits() & 0x00500000) == 0x00100000 /* op1(24:20) == xx0x1 */ && |
| 503 true) | 503 true) |
| 504 return Load3RegisterOp_Ldrh_Rule_76_A1_P156_instance_; | 504 return Load3RegisterOp_Ldrh_Rule_76_A1_P156_instance_; |
| 505 | 505 |
| 506 if ((insn.Bits() & 0x00000060) == 0x00000020 /* op2(6:5) == 01 */ && | 506 if ((insn.Bits() & 0x00000060) == 0x00000020 /* op2(6:5) == 01 */ && |
| 507 (insn.Bits() & 0x00500000) == 0x00400000 /* op1(24:20) == xx1x0 */ && | 507 (insn.Bits() & 0x00500000) == 0x00400000 /* op1(24:20) == xx1x0 */ && |
| 508 true) | 508 true) |
| 509 return Store2RegisterImmediateOp_Strh_Rule_207_A1_P410_instance_; | 509 return Store2RegisterImm8Op_Strh_Rule_207_A1_P410_instance_; |
| 510 | 510 |
| 511 if ((insn.Bits() & 0x00000060) == 0x00000020 /* op2(6:5) == 01 */ && | 511 if ((insn.Bits() & 0x00000060) == 0x00000020 /* op2(6:5) == 01 */ && |
| 512 (insn.Bits() & 0x00500000) == 0x00500000 /* op1(24:20) == xx1x1 */ && | 512 (insn.Bits() & 0x00500000) == 0x00500000 /* op1(24:20) == xx1x1 */ && |
| 513 (insn.Bits() & 0x000F0000) != 0x000F0000 /* Rn(19:16) == ~1111 */) | 513 (insn.Bits() & 0x000F0000) != 0x000F0000 /* Rn(19:16) == ~1111 */) |
| 514 return Load2RegisterImmediateOp_Ldrh_Rule_74_A1_P152_instance_; | 514 return Load2RegisterImm8Op_Ldrh_Rule_74_A1_P152_instance_; |
| 515 | 515 |
| 516 if ((insn.Bits() & 0x00000060) == 0x00000020 /* op2(6:5) == 01 */ && | 516 if ((insn.Bits() & 0x00000060) == 0x00000020 /* op2(6:5) == 01 */ && |
| 517 (insn.Bits() & 0x00500000) == 0x00500000 /* op1(24:20) == xx1x1 */ && | 517 (insn.Bits() & 0x00500000) == 0x00500000 /* op1(24:20) == xx1x1 */ && |
| 518 (insn.Bits() & 0x000F0000) == 0x000F0000 /* Rn(19:16) == 1111 */) | 518 (insn.Bits() & 0x000F0000) == 0x000F0000 /* Rn(19:16) == 1111 */) |
| 519 return Load2RegisterImmediateOp_Ldrh_Rule_75_A1_P154_instance_; | 519 return Load2RegisterImm8Op_Ldrh_Rule_75_A1_P154_instance_; |
| 520 | 520 |
| 521 if ((insn.Bits() & 0x00000060) == 0x00000040 /* op2(6:5) == 10 */ && | 521 if ((insn.Bits() & 0x00000060) == 0x00000040 /* op2(6:5) == 10 */ && |
| 522 (insn.Bits() & 0x00500000) == 0x00000000 /* op1(24:20) == xx0x0 */ && | 522 (insn.Bits() & 0x00500000) == 0x00000000 /* op1(24:20) == xx0x0 */ && |
| 523 true) | 523 true) |
| 524 return Load3RegisterDoubleOp_Ldrd_Rule_68_A1_P140_instance_; | 524 return Load3RegisterDoubleOp_Ldrd_Rule_68_A1_P140_instance_; |
| 525 | 525 |
| 526 if ((insn.Bits() & 0x00000060) == 0x00000040 /* op2(6:5) == 10 */ && | 526 if ((insn.Bits() & 0x00000060) == 0x00000040 /* op2(6:5) == 10 */ && |
| 527 (insn.Bits() & 0x00500000) == 0x00100000 /* op1(24:20) == xx0x1 */ && | 527 (insn.Bits() & 0x00500000) == 0x00100000 /* op1(24:20) == xx0x1 */ && |
| 528 true) | 528 true) |
| 529 return Load3RegisterOp_Ldrsb_Rule_80_A1_P164_instance_; | 529 return Load3RegisterOp_Ldrsb_Rule_80_A1_P164_instance_; |
| 530 | 530 |
| 531 if ((insn.Bits() & 0x00000060) == 0x00000040 /* op2(6:5) == 10 */ && | 531 if ((insn.Bits() & 0x00000060) == 0x00000040 /* op2(6:5) == 10 */ && |
| 532 (insn.Bits() & 0x00500000) == 0x00400000 /* op1(24:20) == xx1x0 */ && | 532 (insn.Bits() & 0x00500000) == 0x00400000 /* op1(24:20) == xx1x0 */ && |
| 533 (insn.Bits() & 0x000F0000) != 0x000F0000 /* Rn(19:16) == ~1111 */) | 533 (insn.Bits() & 0x000F0000) != 0x000F0000 /* Rn(19:16) == ~1111 */) |
| 534 return Load2RegisterImmediateDoubleOp_Ldrd_Rule_66_A1_P136_instance_; | 534 return Load2RegisterImm8DoubleOp_Ldrd_Rule_66_A1_P136_instance_; |
| 535 | 535 |
| 536 if ((insn.Bits() & 0x00000060) == 0x00000040 /* op2(6:5) == 10 */ && | 536 if ((insn.Bits() & 0x00000060) == 0x00000040 /* op2(6:5) == 10 */ && |
| 537 (insn.Bits() & 0x00500000) == 0x00400000 /* op1(24:20) == xx1x0 */ && | 537 (insn.Bits() & 0x00500000) == 0x00400000 /* op1(24:20) == xx1x0 */ && |
| 538 (insn.Bits() & 0x000F0000) == 0x000F0000 /* Rn(19:16) == 1111 */) | 538 (insn.Bits() & 0x000F0000) == 0x000F0000 /* Rn(19:16) == 1111 */) |
| 539 return Load2RegisterImmediateDoubleOp_Ldrd_Rule_67_A1_P138_instance_; | 539 return Load2RegisterImm8DoubleOp_Ldrd_Rule_67_A1_P138_instance_; |
| 540 | 540 |
| 541 if ((insn.Bits() & 0x00000060) == 0x00000040 /* op2(6:5) == 10 */ && | 541 if ((insn.Bits() & 0x00000060) == 0x00000040 /* op2(6:5) == 10 */ && |
| 542 (insn.Bits() & 0x00500000) == 0x00500000 /* op1(24:20) == xx1x1 */ && | 542 (insn.Bits() & 0x00500000) == 0x00500000 /* op1(24:20) == xx1x1 */ && |
| 543 (insn.Bits() & 0x000F0000) != 0x000F0000 /* Rn(19:16) == ~1111 */) | 543 (insn.Bits() & 0x000F0000) != 0x000F0000 /* Rn(19:16) == ~1111 */) |
| 544 return Load2RegisterImmediateOp_Ldrsb_Rule_78_A1_P160_instance_; | 544 return Load2RegisterImm8Op_Ldrsb_Rule_78_A1_P160_instance_; |
| 545 | 545 |
| 546 if ((insn.Bits() & 0x00000060) == 0x00000040 /* op2(6:5) == 10 */ && | 546 if ((insn.Bits() & 0x00000060) == 0x00000040 /* op2(6:5) == 10 */ && |
| 547 (insn.Bits() & 0x00500000) == 0x00500000 /* op1(24:20) == xx1x1 */ && | 547 (insn.Bits() & 0x00500000) == 0x00500000 /* op1(24:20) == xx1x1 */ && |
| 548 (insn.Bits() & 0x000F0000) == 0x000F0000 /* Rn(19:16) == 1111 */) | 548 (insn.Bits() & 0x000F0000) == 0x000F0000 /* Rn(19:16) == 1111 */) |
| 549 return Load2RegisterImmediateOp_ldrsb_Rule_79_A1_162_instance_; | 549 return Load2RegisterImm8Op_ldrsb_Rule_79_A1_162_instance_; |
| 550 | 550 |
| 551 if ((insn.Bits() & 0x00000060) == 0x00000060 /* op2(6:5) == 11 */ && | 551 if ((insn.Bits() & 0x00000060) == 0x00000060 /* op2(6:5) == 11 */ && |
| 552 (insn.Bits() & 0x00500000) == 0x00000000 /* op1(24:20) == xx0x0 */ && | 552 (insn.Bits() & 0x00500000) == 0x00000000 /* op1(24:20) == xx0x0 */ && |
| 553 true) | 553 true) |
| 554 return Store3RegisterDoubleOp_Strd_Rule_201_A1_P398_instance_; | 554 return Store3RegisterDoubleOp_Strd_Rule_201_A1_P398_instance_; |
| 555 | 555 |
| 556 if ((insn.Bits() & 0x00000060) == 0x00000060 /* op2(6:5) == 11 */ && | 556 if ((insn.Bits() & 0x00000060) == 0x00000060 /* op2(6:5) == 11 */ && |
| 557 (insn.Bits() & 0x00500000) == 0x00100000 /* op1(24:20) == xx0x1 */ && | 557 (insn.Bits() & 0x00500000) == 0x00100000 /* op1(24:20) == xx0x1 */ && |
| 558 true) | 558 true) |
| 559 return Load3RegisterOp_Ldrsh_Rule_84_A1_P172_instance_; | 559 return Load3RegisterOp_Ldrsh_Rule_84_A1_P172_instance_; |
| 560 | 560 |
| 561 if ((insn.Bits() & 0x00000060) == 0x00000060 /* op2(6:5) == 11 */ && | 561 if ((insn.Bits() & 0x00000060) == 0x00000060 /* op2(6:5) == 11 */ && |
| 562 (insn.Bits() & 0x00500000) == 0x00400000 /* op1(24:20) == xx1x0 */ && | 562 (insn.Bits() & 0x00500000) == 0x00400000 /* op1(24:20) == xx1x0 */ && |
| 563 true) | 563 true) |
| 564 return Store2RegisterImmediateDoubleOp_Strd_Rule_200_A1_P396_instance_; | 564 return Store2RegisterImm8DoubleOp_Strd_Rule_200_A1_P396_instance_; |
| 565 | 565 |
| 566 if ((insn.Bits() & 0x00000060) == 0x00000060 /* op2(6:5) == 11 */ && | 566 if ((insn.Bits() & 0x00000060) == 0x00000060 /* op2(6:5) == 11 */ && |
| 567 (insn.Bits() & 0x00500000) == 0x00500000 /* op1(24:20) == xx1x1 */ && | 567 (insn.Bits() & 0x00500000) == 0x00500000 /* op1(24:20) == xx1x1 */ && |
| 568 (insn.Bits() & 0x000F0000) != 0x000F0000 /* Rn(19:16) == ~1111 */) | 568 (insn.Bits() & 0x000F0000) != 0x000F0000 /* Rn(19:16) == ~1111 */) |
| 569 return Load2RegisterImmediateOp_Ldrsh_Rule_82_A1_P168_instance_; | 569 return Load2RegisterImm8Op_Ldrsh_Rule_82_A1_P168_instance_; |
| 570 | 570 |
| 571 if ((insn.Bits() & 0x00000060) == 0x00000060 /* op2(6:5) == 11 */ && | 571 if ((insn.Bits() & 0x00000060) == 0x00000060 /* op2(6:5) == 11 */ && |
| 572 (insn.Bits() & 0x00500000) == 0x00500000 /* op1(24:20) == xx1x1 */ && | 572 (insn.Bits() & 0x00500000) == 0x00500000 /* op1(24:20) == xx1x1 */ && |
| 573 (insn.Bits() & 0x000F0000) == 0x000F0000 /* Rn(19:16) == 1111 */) | 573 (insn.Bits() & 0x000F0000) == 0x000F0000 /* Rn(19:16) == 1111 */) |
| 574 return Load2RegisterImmediateOp_Ldrsh_Rule_83_A1_P170_instance_; | 574 return Load2RegisterImm8Op_Ldrsh_Rule_83_A1_P170_instance_; |
| 575 | 575 |
| 576 // Catch any attempt to fall through... | 576 // Catch any attempt to fall through... |
| 577 fprintf(stderr, "TABLE IS INCOMPLETE: extra_load_store could not parse %08X", | 577 fprintf(stderr, "TABLE IS INCOMPLETE: extra_load_store could not parse %08X", |
| 578 insn.Bits()); | 578 insn.Bits()); |
| 579 return Forbidden_None_instance_; | 579 return Forbidden_None_instance_; |
| 580 } | 580 } |
| 581 | 581 |
| 582 | 582 |
| 583 /* | 583 /* |
| 584 * Implementation of table half_mult. | 584 * Implementation of table half_mult. |
| (...skipping 30 matching lines...) Expand all Loading... |
| 615 | 615 |
| 616 | 616 |
| 617 /* | 617 /* |
| 618 * Implementation of table load_store_word_byte. | 618 * Implementation of table load_store_word_byte. |
| 619 * Specified by: ('See Section A5.3',) | 619 * Specified by: ('See Section A5.3',) |
| 620 */ | 620 */ |
| 621 const NamedClassDecoder& NamedArm32DecoderState::decode_load_store_word_byte( | 621 const NamedClassDecoder& NamedArm32DecoderState::decode_load_store_word_byte( |
| 622 const nacl_arm_dec::Instruction insn) const { | 622 const nacl_arm_dec::Instruction insn) const { |
| 623 UNREFERENCED_PARAMETER(insn); | 623 UNREFERENCED_PARAMETER(insn); |
| 624 if ((insn.Bits() & 0x02000000) == 0x00000000 /* A(25:25) == 0 */ && | 624 if ((insn.Bits() & 0x02000000) == 0x00000000 /* A(25:25) == 0 */ && |
| 625 (insn.Bits() & 0x01300000) == 0x00000000 /* op1(24:20) == 0xx00 */ && | 625 (insn.Bits() & 0x01700000) == 0x00000000 /* op1(24:20) == 0x000 */ && |
| 626 true && |
| 626 true) | 627 true) |
| 627 return StoreImmediate_None_instance_; | 628 return Store2RegisterImm12Op_Str_Rule_194_A1_P384_instance_; |
| 628 | 629 |
| 629 if ((insn.Bits() & 0x02000000) == 0x00000000 /* A(25:25) == 0 */ && | 630 if ((insn.Bits() & 0x02000000) == 0x00000000 /* A(25:25) == 0 */ && |
| 630 (insn.Bits() & 0x01300000) == 0x00100000 /* op1(24:20) == 0xx01 */ && | 631 (insn.Bits() & 0x01700000) == 0x00100000 /* op1(24:20) == 0x001 */ && |
| 631 true) | 632 true && |
| 632 return LoadImmediate_None_instance_; | 633 (insn.Bits() & 0x000F0000) != 0x000F0000 /* Rn(19:16) == ~1111 */) |
| 634 return Load2RegisterImm12Op_Ldr_Rule_58_A1_P120_instance_; |
| 633 | 635 |
| 634 if ((insn.Bits() & 0x02000000) == 0x00000000 /* A(25:25) == 0 */ && | 636 if ((insn.Bits() & 0x02000000) == 0x00000000 /* A(25:25) == 0 */ && |
| 635 (insn.Bits() & 0x01100000) == 0x01000000 /* op1(24:20) == 1xxx0 */ && | 637 (insn.Bits() & 0x01700000) == 0x00100000 /* op1(24:20) == 0x001 */ && |
| 636 true) | 638 true && |
| 637 return StoreImmediate_None_instance_; | 639 (insn.Bits() & 0x000F0000) == 0x000F0000 /* Rn(19:16) == 1111 */) |
| 640 return Load2RegisterImm12Op_Ldr_Rule_59_A1_P122_instance_; |
| 638 | 641 |
| 639 if ((insn.Bits() & 0x02000000) == 0x00000000 /* A(25:25) == 0 */ && | 642 if ((insn.Bits() & 0x02000000) == 0x00000000 /* A(25:25) == 0 */ && |
| 640 (insn.Bits() & 0x01100000) == 0x01100000 /* op1(24:20) == 1xxx1 */ && | 643 (insn.Bits() & 0x01700000) == 0x00400000 /* op1(24:20) == 0x100 */ && |
| 644 true && |
| 641 true) | 645 true) |
| 642 return LoadImmediate_None_instance_; | 646 return Store2RegisterImm12Op_Strb_Rule_197_A1_P390_instance_; |
| 647 |
| 648 if ((insn.Bits() & 0x02000000) == 0x00000000 /* A(25:25) == 0 */ && |
| 649 (insn.Bits() & 0x01700000) == 0x00500000 /* op1(24:20) == 0x101 */ && |
| 650 true && |
| 651 (insn.Bits() & 0x000F0000) != 0x000F0000 /* Rn(19:16) == ~1111 */) |
| 652 return Load2RegisterImm12Op_Ldrb_Rule_62_A1_P128_instance_; |
| 653 |
| 654 if ((insn.Bits() & 0x02000000) == 0x00000000 /* A(25:25) == 0 */ && |
| 655 (insn.Bits() & 0x01700000) == 0x00500000 /* op1(24:20) == 0x101 */ && |
| 656 true && |
| 657 (insn.Bits() & 0x000F0000) == 0x000F0000 /* Rn(19:16) == 1111 */) |
| 658 return Load2RegisterImm12Op_Ldrb_Rule_63_A1_P130_instance_; |
| 659 |
| 660 if ((insn.Bits() & 0x02000000) == 0x00000000 /* A(25:25) == 0 */ && |
| 661 (insn.Bits() & 0x01500000) == 0x01000000 /* op1(24:20) == 1x0x0 */ && |
| 662 true && |
| 663 true) |
| 664 return Store2RegisterImm12Op_Str_Rule_194_A1_P384_instance_; |
| 665 |
| 666 if ((insn.Bits() & 0x02000000) == 0x00000000 /* A(25:25) == 0 */ && |
| 667 (insn.Bits() & 0x01500000) == 0x01100000 /* op1(24:20) == 1x0x1 */ && |
| 668 true && |
| 669 (insn.Bits() & 0x000F0000) != 0x000F0000 /* Rn(19:16) == ~1111 */) |
| 670 return Load2RegisterImm12Op_Ldr_Rule_58_A1_P120_instance_; |
| 671 |
| 672 if ((insn.Bits() & 0x02000000) == 0x00000000 /* A(25:25) == 0 */ && |
| 673 (insn.Bits() & 0x01500000) == 0x01100000 /* op1(24:20) == 1x0x1 */ && |
| 674 true && |
| 675 (insn.Bits() & 0x000F0000) == 0x000F0000 /* Rn(19:16) == 1111 */) |
| 676 return Load2RegisterImm12Op_Ldr_Rule_59_A1_P122_instance_; |
| 677 |
| 678 if ((insn.Bits() & 0x02000000) == 0x00000000 /* A(25:25) == 0 */ && |
| 679 (insn.Bits() & 0x01500000) == 0x01400000 /* op1(24:20) == 1x1x0 */ && |
| 680 true && |
| 681 true) |
| 682 return Store2RegisterImm12Op_Strb_Rule_197_A1_P390_instance_; |
| 683 |
| 684 if ((insn.Bits() & 0x02000000) == 0x00000000 /* A(25:25) == 0 */ && |
| 685 (insn.Bits() & 0x01500000) == 0x01500000 /* op1(24:20) == 1x1x1 */ && |
| 686 true && |
| 687 (insn.Bits() & 0x000F0000) != 0x000F0000 /* Rn(19:16) == ~1111 */) |
| 688 return Load2RegisterImm12Op_Ldrb_Rule_62_A1_P128_instance_; |
| 689 |
| 690 if ((insn.Bits() & 0x02000000) == 0x00000000 /* A(25:25) == 0 */ && |
| 691 (insn.Bits() & 0x01500000) == 0x01500000 /* op1(24:20) == 1x1x1 */ && |
| 692 true && |
| 693 (insn.Bits() & 0x000F0000) == 0x000F0000 /* Rn(19:16) == 1111 */) |
| 694 return Load2RegisterImm12Op_Ldrb_Rule_63_A1_P130_instance_; |
| 643 | 695 |
| 644 if ((insn.Bits() & 0x02000000) == 0x00000000 /* A(25:25) == 0 */ && | 696 if ((insn.Bits() & 0x02000000) == 0x00000000 /* A(25:25) == 0 */ && |
| 645 (insn.Bits() & 0x01200000) == 0x00200000 /* op1(24:20) == 0xx1x */ && | 697 (insn.Bits() & 0x01200000) == 0x00200000 /* op1(24:20) == 0xx1x */ && |
| 698 true && |
| 646 true) | 699 true) |
| 647 return Forbidden_None_instance_; | 700 return Forbidden_None_instance_; |
| 648 | 701 |
| 649 if ((insn.Bits() & 0x02000000) == 0x02000000 /* A(25:25) == 1 */ && | 702 if ((insn.Bits() & 0x02000000) == 0x02000000 /* A(25:25) == 1 */ && |
| 703 (insn.Bits() & 0x01700000) == 0x00000000 /* op1(24:20) == 0x000 */ && |
| 704 (insn.Bits() & 0x00000010) == 0x00000000 /* B(4:4) == 0 */ && |
| 705 true) |
| 706 return Store3RegisterImm5Op_Str_Rule_195_A1_P386_instance_; |
| 707 |
| 708 if ((insn.Bits() & 0x02000000) == 0x02000000 /* A(25:25) == 1 */ && |
| 709 (insn.Bits() & 0x01700000) == 0x00400000 /* op1(24:20) == 0x100 */ && |
| 710 (insn.Bits() & 0x00000010) == 0x00000000 /* B(4:4) == 0 */ && |
| 711 true) |
| 712 return Store3RegisterImm5Op_Strb_Rule_198_A1_P392_instance_; |
| 713 |
| 714 if ((insn.Bits() & 0x02000000) == 0x02000000 /* A(25:25) == 1 */ && |
| 650 (insn.Bits() & 0x01700000) == 0x00500000 /* op1(24:20) == 0x101 */ && | 715 (insn.Bits() & 0x01700000) == 0x00500000 /* op1(24:20) == 0x101 */ && |
| 651 (insn.Bits() & 0x00000010) == 0x00000000 /* B(4:4) == 0 */) | 716 (insn.Bits() & 0x00000010) == 0x00000000 /* B(4:4) == 0 */ && |
| 652 return LoadRegister_None_instance_; | 717 true) |
| 718 return Load3RegisterImm5Op_Ldrb_Rule_64_A1_P132_instance_; |
| 653 | 719 |
| 654 if ((insn.Bits() & 0x02000000) == 0x02000000 /* A(25:25) == 1 */ && | 720 if ((insn.Bits() & 0x02000000) == 0x02000000 /* A(25:25) == 1 */ && |
| 655 (insn.Bits() & 0x00700000) == 0x00100000 /* op1(24:20) == xx001 */ && | 721 (insn.Bits() & 0x00700000) == 0x00100000 /* op1(24:20) == xx001 */ && |
| 656 (insn.Bits() & 0x00000010) == 0x00000000 /* B(4:4) == 0 */) | 722 (insn.Bits() & 0x00000010) == 0x00000000 /* B(4:4) == 0 */ && |
| 657 return LoadRegister_None_instance_; | 723 true) |
| 724 return Load3RegisterImm5Op_Ldr_Rule_60_A1_P124_instance_; |
| 658 | 725 |
| 659 if ((insn.Bits() & 0x02000000) == 0x02000000 /* A(25:25) == 1 */ && | 726 if ((insn.Bits() & 0x02000000) == 0x02000000 /* A(25:25) == 1 */ && |
| 660 (insn.Bits() & 0x01300000) == 0x00000000 /* op1(24:20) == 0xx00 */ && | 727 (insn.Bits() & 0x01500000) == 0x01000000 /* op1(24:20) == 1x0x0 */ && |
| 661 (insn.Bits() & 0x00000010) == 0x00000000 /* B(4:4) == 0 */) | 728 (insn.Bits() & 0x00000010) == 0x00000000 /* B(4:4) == 0 */ && |
| 662 return StoreRegister_None_instance_; | 729 true) |
| 730 return Store3RegisterImm5Op_Str_Rule_195_A1_P386_instance_; |
| 663 | 731 |
| 664 if ((insn.Bits() & 0x02000000) == 0x02000000 /* A(25:25) == 1 */ && | 732 if ((insn.Bits() & 0x02000000) == 0x02000000 /* A(25:25) == 1 */ && |
| 665 (insn.Bits() & 0x01100000) == 0x01000000 /* op1(24:20) == 1xxx0 */ && | 733 (insn.Bits() & 0x01500000) == 0x01100000 /* op1(24:20) == 1x0x1 */ && |
| 666 (insn.Bits() & 0x00000010) == 0x00000000 /* B(4:4) == 0 */) | 734 (insn.Bits() & 0x00000010) == 0x00000000 /* B(4:4) == 0 */ && |
| 667 return StoreRegister_None_instance_; | 735 true) |
| 736 return Load3RegisterImm5Op_Ldr_Rule_60_A1_P124_instance_; |
| 668 | 737 |
| 669 if ((insn.Bits() & 0x02000000) == 0x02000000 /* A(25:25) == 1 */ && | 738 if ((insn.Bits() & 0x02000000) == 0x02000000 /* A(25:25) == 1 */ && |
| 670 (insn.Bits() & 0x01100000) == 0x01100000 /* op1(24:20) == 1xxx1 */ && | 739 (insn.Bits() & 0x01500000) == 0x01400000 /* op1(24:20) == 1x1x0 */ && |
| 671 (insn.Bits() & 0x00000010) == 0x00000000 /* B(4:4) == 0 */) | 740 (insn.Bits() & 0x00000010) == 0x00000000 /* B(4:4) == 0 */ && |
| 672 return LoadRegister_None_instance_; | 741 true) |
| 742 return Store3RegisterImm5Op_Strb_Rule_198_A1_P392_instance_; |
| 743 |
| 744 if ((insn.Bits() & 0x02000000) == 0x02000000 /* A(25:25) == 1 */ && |
| 745 (insn.Bits() & 0x01500000) == 0x01500000 /* op1(24:20) == 1x1x1 */ && |
| 746 (insn.Bits() & 0x00000010) == 0x00000000 /* B(4:4) == 0 */ && |
| 747 true) |
| 748 return Load3RegisterImm5Op_Ldrb_Rule_64_A1_P132_instance_; |
| 673 | 749 |
| 674 if ((insn.Bits() & 0x02000000) == 0x02000000 /* A(25:25) == 1 */ && | 750 if ((insn.Bits() & 0x02000000) == 0x02000000 /* A(25:25) == 1 */ && |
| 675 (insn.Bits() & 0x01200000) == 0x00200000 /* op1(24:20) == 0xx1x */ && | 751 (insn.Bits() & 0x01200000) == 0x00200000 /* op1(24:20) == 0xx1x */ && |
| 676 (insn.Bits() & 0x00000010) == 0x00000000 /* B(4:4) == 0 */) | 752 (insn.Bits() & 0x00000010) == 0x00000000 /* B(4:4) == 0 */ && |
| 753 true) |
| 677 return Forbidden_None_instance_; | 754 return Forbidden_None_instance_; |
| 678 | 755 |
| 679 // Catch any attempt to fall through... | 756 // Catch any attempt to fall through... |
| 680 fprintf(stderr, "TABLE IS INCOMPLETE: load_store_word_byte could not parse %08
X", | 757 fprintf(stderr, "TABLE IS INCOMPLETE: load_store_word_byte could not parse %08
X", |
| 681 insn.Bits()); | 758 insn.Bits()); |
| 682 return Forbidden_None_instance_; | 759 return Forbidden_None_instance_; |
| 683 } | 760 } |
| 684 | 761 |
| 685 | 762 |
| 686 /* | 763 /* |
| (...skipping 1336 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2023 decode_named(const nacl_arm_dec::Instruction insn) const { | 2100 decode_named(const nacl_arm_dec::Instruction insn) const { |
| 2024 return decode_ARMv7(insn); | 2101 return decode_ARMv7(insn); |
| 2025 } | 2102 } |
| 2026 | 2103 |
| 2027 const nacl_arm_dec::ClassDecoder& NamedArm32DecoderState:: | 2104 const nacl_arm_dec::ClassDecoder& NamedArm32DecoderState:: |
| 2028 decode(const nacl_arm_dec::Instruction insn) const { | 2105 decode(const nacl_arm_dec::Instruction insn) const { |
| 2029 return decode_named(insn).named_decoder(); | 2106 return decode_named(insn).named_decoder(); |
| 2030 } | 2107 } |
| 2031 | 2108 |
| 2032 } // namespace nacl_arm_test | 2109 } // namespace nacl_arm_test |
| OLD | NEW |