| 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 19 matching lines...) Expand all Loading... |
| 604 | 604 |
| 605 | 605 |
| 606 /* | 606 /* |
| 607 * Implementation of table load_store_word_byte. | 607 * Implementation of table load_store_word_byte. |
| 608 * Specified by: ('See Section A5.3',) | 608 * Specified by: ('See Section A5.3',) |
| 609 */ | 609 */ |
| 610 const NamedClassDecoder& NamedArm32DecoderState::decode_load_store_word_byte( | 610 const NamedClassDecoder& NamedArm32DecoderState::decode_load_store_word_byte( |
| 611 const nacl_arm_dec::Instruction insn) const { | 611 const nacl_arm_dec::Instruction insn) const { |
| 612 UNREFERENCED_PARAMETER(insn); | 612 UNREFERENCED_PARAMETER(insn); |
| 613 if ((insn.Bits() & 0x02000000) == 0x00000000 /* A(25:25) == 0 */ && | 613 if ((insn.Bits() & 0x02000000) == 0x00000000 /* A(25:25) == 0 */ && |
| 614 (insn.Bits() & 0x01300000) == 0x00000000 /* op1(24:20) == 0xx00 */ && | 614 (insn.Bits() & 0x01700000) == 0x00000000 /* op1(24:20) == 0x000 */ && |
| 615 true && |
| 615 true) | 616 true) |
| 616 return StoreImmediate_None_instance_; | 617 return Store2RegisterImm12Op_Str_Rule_194_A1_P384_instance_; |
| 617 | 618 |
| 618 if ((insn.Bits() & 0x02000000) == 0x00000000 /* A(25:25) == 0 */ && | 619 if ((insn.Bits() & 0x02000000) == 0x00000000 /* A(25:25) == 0 */ && |
| 619 (insn.Bits() & 0x01300000) == 0x00100000 /* op1(24:20) == 0xx01 */ && | 620 (insn.Bits() & 0x01700000) == 0x00100000 /* op1(24:20) == 0x001 */ && |
| 620 true) | 621 true && |
| 621 return LoadImmediate_None_instance_; | 622 (insn.Bits() & 0x000F0000) != 0x000F0000 /* Rn(19:16) == ~1111 */) |
| 623 return Load2RegisterImm12Op_Ldr_Rule_58_A1_P120_instance_; |
| 622 | 624 |
| 623 if ((insn.Bits() & 0x02000000) == 0x00000000 /* A(25:25) == 0 */ && | 625 if ((insn.Bits() & 0x02000000) == 0x00000000 /* A(25:25) == 0 */ && |
| 624 (insn.Bits() & 0x01100000) == 0x01000000 /* op1(24:20) == 1xxx0 */ && | 626 (insn.Bits() & 0x01700000) == 0x00100000 /* op1(24:20) == 0x001 */ && |
| 625 true) | 627 true && |
| 626 return StoreImmediate_None_instance_; | 628 (insn.Bits() & 0x000F0000) == 0x000F0000 /* Rn(19:16) == 1111 */) |
| 629 return Load2RegisterImm12Op_Ldr_Rule_59_A1_P122_instance_; |
| 627 | 630 |
| 628 if ((insn.Bits() & 0x02000000) == 0x00000000 /* A(25:25) == 0 */ && | 631 if ((insn.Bits() & 0x02000000) == 0x00000000 /* A(25:25) == 0 */ && |
| 629 (insn.Bits() & 0x01100000) == 0x01100000 /* op1(24:20) == 1xxx1 */ && | 632 (insn.Bits() & 0x01700000) == 0x00400000 /* op1(24:20) == 0x100 */ && |
| 633 true && |
| 630 true) | 634 true) |
| 631 return LoadImmediate_None_instance_; | 635 return Store2RegisterImm12Op_Strb_Rule_197_A1_P390_instance_; |
| 636 |
| 637 if ((insn.Bits() & 0x02000000) == 0x00000000 /* A(25:25) == 0 */ && |
| 638 (insn.Bits() & 0x01700000) == 0x00500000 /* op1(24:20) == 0x101 */ && |
| 639 true && |
| 640 (insn.Bits() & 0x000F0000) != 0x000F0000 /* Rn(19:16) == ~1111 */) |
| 641 return Load2RegisterImm12Op_Ldrb_Rule_62_A1_P128_instance_; |
| 642 |
| 643 if ((insn.Bits() & 0x02000000) == 0x00000000 /* A(25:25) == 0 */ && |
| 644 (insn.Bits() & 0x01700000) == 0x00500000 /* op1(24:20) == 0x101 */ && |
| 645 true && |
| 646 (insn.Bits() & 0x000F0000) == 0x000F0000 /* Rn(19:16) == 1111 */) |
| 647 return Load2RegisterImm12Op_Ldrb_Rule_63_A1_P130_instance_; |
| 648 |
| 649 if ((insn.Bits() & 0x02000000) == 0x00000000 /* A(25:25) == 0 */ && |
| 650 (insn.Bits() & 0x01500000) == 0x01000000 /* op1(24:20) == 1x0x0 */ && |
| 651 true && |
| 652 true) |
| 653 return Store2RegisterImm12Op_Str_Rule_194_A1_P384_instance_; |
| 654 |
| 655 if ((insn.Bits() & 0x02000000) == 0x00000000 /* A(25:25) == 0 */ && |
| 656 (insn.Bits() & 0x01500000) == 0x01100000 /* op1(24:20) == 1x0x1 */ && |
| 657 true && |
| 658 (insn.Bits() & 0x000F0000) != 0x000F0000 /* Rn(19:16) == ~1111 */) |
| 659 return Load2RegisterImm12Op_Ldr_Rule_58_A1_P120_instance_; |
| 660 |
| 661 if ((insn.Bits() & 0x02000000) == 0x00000000 /* A(25:25) == 0 */ && |
| 662 (insn.Bits() & 0x01500000) == 0x01100000 /* op1(24:20) == 1x0x1 */ && |
| 663 true && |
| 664 (insn.Bits() & 0x000F0000) == 0x000F0000 /* Rn(19:16) == 1111 */) |
| 665 return Load2RegisterImm12Op_Ldr_Rule_59_A1_P122_instance_; |
| 666 |
| 667 if ((insn.Bits() & 0x02000000) == 0x00000000 /* A(25:25) == 0 */ && |
| 668 (insn.Bits() & 0x01500000) == 0x01400000 /* op1(24:20) == 1x1x0 */ && |
| 669 true && |
| 670 true) |
| 671 return Store2RegisterImm12Op_Strb_Rule_197_A1_P390_instance_; |
| 672 |
| 673 if ((insn.Bits() & 0x02000000) == 0x00000000 /* A(25:25) == 0 */ && |
| 674 (insn.Bits() & 0x01500000) == 0x01500000 /* op1(24:20) == 1x1x1 */ && |
| 675 true && |
| 676 (insn.Bits() & 0x000F0000) != 0x000F0000 /* Rn(19:16) == ~1111 */) |
| 677 return Load2RegisterImm12Op_Ldrb_Rule_62_A1_P128_instance_; |
| 678 |
| 679 if ((insn.Bits() & 0x02000000) == 0x00000000 /* A(25:25) == 0 */ && |
| 680 (insn.Bits() & 0x01500000) == 0x01500000 /* op1(24:20) == 1x1x1 */ && |
| 681 true && |
| 682 (insn.Bits() & 0x000F0000) == 0x000F0000 /* Rn(19:16) == 1111 */) |
| 683 return Load2RegisterImm12Op_Ldrb_Rule_63_A1_P130_instance_; |
| 632 | 684 |
| 633 if ((insn.Bits() & 0x02000000) == 0x00000000 /* A(25:25) == 0 */ && | 685 if ((insn.Bits() & 0x02000000) == 0x00000000 /* A(25:25) == 0 */ && |
| 634 (insn.Bits() & 0x01200000) == 0x00200000 /* op1(24:20) == 0xx1x */ && | 686 (insn.Bits() & 0x01200000) == 0x00200000 /* op1(24:20) == 0xx1x */ && |
| 687 true && |
| 635 true) | 688 true) |
| 636 return Forbidden_None_instance_; | 689 return Forbidden_None_instance_; |
| 637 | 690 |
| 638 if ((insn.Bits() & 0x02000000) == 0x02000000 /* A(25:25) == 1 */ && | 691 if ((insn.Bits() & 0x02000000) == 0x02000000 /* A(25:25) == 1 */ && |
| 692 (insn.Bits() & 0x01700000) == 0x00000000 /* op1(24:20) == 0x000 */ && |
| 693 (insn.Bits() & 0x00000010) == 0x00000000 /* B(4:4) == 0 */ && |
| 694 true) |
| 695 return Store3RegisterImm5Op_Str_Rule_195_A1_P386_instance_; |
| 696 |
| 697 if ((insn.Bits() & 0x02000000) == 0x02000000 /* A(25:25) == 1 */ && |
| 698 (insn.Bits() & 0x01700000) == 0x00400000 /* op1(24:20) == 0x100 */ && |
| 699 (insn.Bits() & 0x00000010) == 0x00000000 /* B(4:4) == 0 */ && |
| 700 true) |
| 701 return Store3RegisterImm5Op_Strb_Rule_198_A1_P392_instance_; |
| 702 |
| 703 if ((insn.Bits() & 0x02000000) == 0x02000000 /* A(25:25) == 1 */ && |
| 639 (insn.Bits() & 0x01700000) == 0x00500000 /* op1(24:20) == 0x101 */ && | 704 (insn.Bits() & 0x01700000) == 0x00500000 /* op1(24:20) == 0x101 */ && |
| 640 (insn.Bits() & 0x00000010) == 0x00000000 /* B(4:4) == 0 */) | 705 (insn.Bits() & 0x00000010) == 0x00000000 /* B(4:4) == 0 */ && |
| 641 return LoadRegister_None_instance_; | 706 true) |
| 707 return Load3RegisterImm5Op_Ldrb_Rule_64_A1_P132_instance_; |
| 642 | 708 |
| 643 if ((insn.Bits() & 0x02000000) == 0x02000000 /* A(25:25) == 1 */ && | 709 if ((insn.Bits() & 0x02000000) == 0x02000000 /* A(25:25) == 1 */ && |
| 644 (insn.Bits() & 0x00700000) == 0x00100000 /* op1(24:20) == xx001 */ && | 710 (insn.Bits() & 0x00700000) == 0x00100000 /* op1(24:20) == xx001 */ && |
| 645 (insn.Bits() & 0x00000010) == 0x00000000 /* B(4:4) == 0 */) | 711 (insn.Bits() & 0x00000010) == 0x00000000 /* B(4:4) == 0 */ && |
| 646 return LoadRegister_None_instance_; | 712 true) |
| 713 return Load3RegisterImm5Op_Ldr_Rule_60_A1_P124_instance_; |
| 647 | 714 |
| 648 if ((insn.Bits() & 0x02000000) == 0x02000000 /* A(25:25) == 1 */ && | 715 if ((insn.Bits() & 0x02000000) == 0x02000000 /* A(25:25) == 1 */ && |
| 649 (insn.Bits() & 0x01300000) == 0x00000000 /* op1(24:20) == 0xx00 */ && | 716 (insn.Bits() & 0x01500000) == 0x01000000 /* op1(24:20) == 1x0x0 */ && |
| 650 (insn.Bits() & 0x00000010) == 0x00000000 /* B(4:4) == 0 */) | 717 (insn.Bits() & 0x00000010) == 0x00000000 /* B(4:4) == 0 */ && |
| 651 return StoreRegister_None_instance_; | 718 true) |
| 719 return Store3RegisterImm5Op_Str_Rule_195_A1_P386_instance_; |
| 652 | 720 |
| 653 if ((insn.Bits() & 0x02000000) == 0x02000000 /* A(25:25) == 1 */ && | 721 if ((insn.Bits() & 0x02000000) == 0x02000000 /* A(25:25) == 1 */ && |
| 654 (insn.Bits() & 0x01100000) == 0x01000000 /* op1(24:20) == 1xxx0 */ && | 722 (insn.Bits() & 0x01500000) == 0x01100000 /* op1(24:20) == 1x0x1 */ && |
| 655 (insn.Bits() & 0x00000010) == 0x00000000 /* B(4:4) == 0 */) | 723 (insn.Bits() & 0x00000010) == 0x00000000 /* B(4:4) == 0 */ && |
| 656 return StoreRegister_None_instance_; | 724 true) |
| 725 return Load3RegisterImm5Op_Ldr_Rule_60_A1_P124_instance_; |
| 657 | 726 |
| 658 if ((insn.Bits() & 0x02000000) == 0x02000000 /* A(25:25) == 1 */ && | 727 if ((insn.Bits() & 0x02000000) == 0x02000000 /* A(25:25) == 1 */ && |
| 659 (insn.Bits() & 0x01100000) == 0x01100000 /* op1(24:20) == 1xxx1 */ && | 728 (insn.Bits() & 0x01500000) == 0x01400000 /* op1(24:20) == 1x1x0 */ && |
| 660 (insn.Bits() & 0x00000010) == 0x00000000 /* B(4:4) == 0 */) | 729 (insn.Bits() & 0x00000010) == 0x00000000 /* B(4:4) == 0 */ && |
| 661 return LoadRegister_None_instance_; | 730 true) |
| 731 return Store3RegisterImm5Op_Strb_Rule_198_A1_P392_instance_; |
| 732 |
| 733 if ((insn.Bits() & 0x02000000) == 0x02000000 /* A(25:25) == 1 */ && |
| 734 (insn.Bits() & 0x01500000) == 0x01500000 /* op1(24:20) == 1x1x1 */ && |
| 735 (insn.Bits() & 0x00000010) == 0x00000000 /* B(4:4) == 0 */ && |
| 736 true) |
| 737 return Load3RegisterImm5Op_Ldrb_Rule_64_A1_P132_instance_; |
| 662 | 738 |
| 663 if ((insn.Bits() & 0x02000000) == 0x02000000 /* A(25:25) == 1 */ && | 739 if ((insn.Bits() & 0x02000000) == 0x02000000 /* A(25:25) == 1 */ && |
| 664 (insn.Bits() & 0x01200000) == 0x00200000 /* op1(24:20) == 0xx1x */ && | 740 (insn.Bits() & 0x01200000) == 0x00200000 /* op1(24:20) == 0xx1x */ && |
| 665 (insn.Bits() & 0x00000010) == 0x00000000 /* B(4:4) == 0 */) | 741 (insn.Bits() & 0x00000010) == 0x00000000 /* B(4:4) == 0 */ && |
| 742 true) |
| 666 return Forbidden_None_instance_; | 743 return Forbidden_None_instance_; |
| 667 | 744 |
| 668 // Catch any attempt to fall through... | 745 // Catch any attempt to fall through... |
| 669 fprintf(stderr, "TABLE IS INCOMPLETE: load_store_word_byte could not parse %08
X", | 746 fprintf(stderr, "TABLE IS INCOMPLETE: load_store_word_byte could not parse %08
X", |
| 670 insn.Bits()); | 747 insn.Bits()); |
| 671 return Forbidden_None_instance_; | 748 return Forbidden_None_instance_; |
| 672 } | 749 } |
| 673 | 750 |
| 674 | 751 |
| 675 /* | 752 /* |
| (...skipping 1242 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1918 decode_named(const nacl_arm_dec::Instruction insn) const { | 1995 decode_named(const nacl_arm_dec::Instruction insn) const { |
| 1919 return decode_ARMv7(insn); | 1996 return decode_ARMv7(insn); |
| 1920 } | 1997 } |
| 1921 | 1998 |
| 1922 const nacl_arm_dec::ClassDecoder& NamedArm32DecoderState:: | 1999 const nacl_arm_dec::ClassDecoder& NamedArm32DecoderState:: |
| 1923 decode(const nacl_arm_dec::Instruction insn) const { | 2000 decode(const nacl_arm_dec::Instruction insn) const { |
| 1924 return decode_named(insn).named_decoder(); | 2001 return decode_named(insn).named_decoder(); |
| 1925 } | 2002 } |
| 1926 | 2003 |
| 1927 } // namespace nacl_arm_test | 2004 } // namespace nacl_arm_test |
| OLD | NEW |