| 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 | 9 |
| 10 #include "native_client/src/trusted/validator_arm/gen/arm32_decode.h" | 10 #include "native_client/src/trusted/validator_arm/gen/arm32_decode.h" |
| (...skipping 24 matching lines...) Expand all Loading... |
| 35 , DontCareInstRnRsRmNotPc_instance_() | 35 , DontCareInstRnRsRmNotPc_instance_() |
| 36 , EffectiveNoOp_instance_() | 36 , EffectiveNoOp_instance_() |
| 37 , Forbidden_instance_() | 37 , Forbidden_instance_() |
| 38 , LdrImmediate_instance_() | 38 , LdrImmediate_instance_() |
| 39 , LdrImmediateDouble_instance_() | 39 , LdrImmediateDouble_instance_() |
| 40 , LdrRegister_instance_() | 40 , LdrRegister_instance_() |
| 41 , LdrRegisterDouble_instance_() | 41 , LdrRegisterDouble_instance_() |
| 42 , LoadCoprocessor_instance_() | 42 , LoadCoprocessor_instance_() |
| 43 , LoadDoubleExclusive_instance_() | 43 , LoadDoubleExclusive_instance_() |
| 44 , LoadExclusive_instance_() | 44 , LoadExclusive_instance_() |
| 45 , LoadImmediate_instance_() | |
| 46 , LoadMultiple_instance_() | 45 , LoadMultiple_instance_() |
| 47 , LoadRegister_instance_() | |
| 48 , LongMultiply_instance_() | 46 , LongMultiply_instance_() |
| 49 , MaskAddress_instance_() | 47 , MaskAddress_instance_() |
| 50 , MoveDoubleFromCoprocessor_instance_() | 48 , MoveDoubleFromCoprocessor_instance_() |
| 51 , MoveFromCoprocessor_instance_() | 49 , MoveFromCoprocessor_instance_() |
| 52 , MoveToStatusRegister_instance_() | 50 , MoveToStatusRegister_instance_() |
| 53 , Multiply_instance_() | 51 , Multiply_instance_() |
| 54 , PackSatRev_instance_() | 52 , PackSatRev_instance_() |
| 55 , Roadblock_instance_() | 53 , Roadblock_instance_() |
| 56 , SatAddSub_instance_() | 54 , SatAddSub_instance_() |
| 57 , StoreCoprocessor_instance_() | 55 , StoreCoprocessor_instance_() |
| 58 , StoreExclusive_instance_() | 56 , StoreExclusive_instance_() |
| 59 , StoreImmediate_instance_() | 57 , StoreImmediate_instance_() |
| 60 , StoreRegister_instance_() | |
| 61 , StrImmediate_instance_() | 58 , StrImmediate_instance_() |
| 62 , StrImmediateDouble_instance_() | 59 , StrImmediateDouble_instance_() |
| 63 , StrRegister_instance_() | 60 , StrRegister_instance_() |
| 64 , StrRegisterDouble_instance_() | 61 , StrRegisterDouble_instance_() |
| 65 , TestIfAddressMasked_instance_() | 62 , TestIfAddressMasked_instance_() |
| 66 , Unary1RegisterBitRange_instance_() | 63 , Unary1RegisterBitRange_instance_() |
| 67 , Unary1RegisterImmediateOp_instance_() | 64 , Unary1RegisterImmediateOp_instance_() |
| 68 , Undefined_instance_() | 65 , Undefined_instance_() |
| 69 , Unpredictable_instance_() | 66 , Unpredictable_instance_() |
| 70 , VectorLoad_instance_() | 67 , VectorLoad_instance_() |
| (...skipping 386 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 457 | 454 |
| 458 // Implementation of table: load_store_word_byte. | 455 // Implementation of table: load_store_word_byte. |
| 459 // Specified by: See Section A5.3 | 456 // Specified by: See Section A5.3 |
| 460 const ClassDecoder& Arm32DecoderState::decode_load_store_word_byte( | 457 const ClassDecoder& Arm32DecoderState::decode_load_store_word_byte( |
| 461 const Instruction insn) const | 458 const Instruction insn) const |
| 462 { | 459 { |
| 463 UNREFERENCED_PARAMETER(insn); | 460 UNREFERENCED_PARAMETER(insn); |
| 464 if ((insn.Bits() & 0x02000000) == 0x00000000 /* A(25:25) == 0 */ && | 461 if ((insn.Bits() & 0x02000000) == 0x00000000 /* A(25:25) == 0 */ && |
| 465 (insn.Bits() & 0x01300000) == 0x00000000 /* op1(24:20) == 0xx00 */ && | 462 (insn.Bits() & 0x01300000) == 0x00000000 /* op1(24:20) == 0xx00 */ && |
| 466 true) | 463 true) |
| 467 return StoreImmediate_instance_; | 464 return StrImmediate_instance_; |
| 468 | 465 |
| 469 if ((insn.Bits() & 0x02000000) == 0x00000000 /* A(25:25) == 0 */ && | 466 if ((insn.Bits() & 0x02000000) == 0x00000000 /* A(25:25) == 0 */ && |
| 470 (insn.Bits() & 0x01300000) == 0x00100000 /* op1(24:20) == 0xx01 */ && | 467 (insn.Bits() & 0x01300000) == 0x00100000 /* op1(24:20) == 0xx01 */ && |
| 471 true) | 468 true) |
| 472 return LoadImmediate_instance_; | 469 return LdrImmediate_instance_; |
| 473 | 470 |
| 474 if ((insn.Bits() & 0x02000000) == 0x00000000 /* A(25:25) == 0 */ && | 471 if ((insn.Bits() & 0x02000000) == 0x00000000 /* A(25:25) == 0 */ && |
| 475 (insn.Bits() & 0x01100000) == 0x01000000 /* op1(24:20) == 1xxx0 */ && | 472 (insn.Bits() & 0x01100000) == 0x01000000 /* op1(24:20) == 1xxx0 */ && |
| 476 true) | 473 true) |
| 477 return StoreImmediate_instance_; | 474 return StrImmediate_instance_; |
| 478 | 475 |
| 479 if ((insn.Bits() & 0x02000000) == 0x00000000 /* A(25:25) == 0 */ && | 476 if ((insn.Bits() & 0x02000000) == 0x00000000 /* A(25:25) == 0 */ && |
| 480 (insn.Bits() & 0x01100000) == 0x01100000 /* op1(24:20) == 1xxx1 */ && | 477 (insn.Bits() & 0x01100000) == 0x01100000 /* op1(24:20) == 1xxx1 */ && |
| 481 true) | 478 true) |
| 482 return LoadImmediate_instance_; | 479 return LdrImmediate_instance_; |
| 483 | 480 |
| 484 if ((insn.Bits() & 0x02000000) == 0x00000000 /* A(25:25) == 0 */ && | 481 if ((insn.Bits() & 0x02000000) == 0x00000000 /* A(25:25) == 0 */ && |
| 485 (insn.Bits() & 0x01200000) == 0x00200000 /* op1(24:20) == 0xx1x */ && | 482 (insn.Bits() & 0x01200000) == 0x00200000 /* op1(24:20) == 0xx1x */ && |
| 486 true) | 483 true) |
| 487 return Forbidden_instance_; | 484 return Forbidden_instance_; |
| 488 | 485 |
| 489 if ((insn.Bits() & 0x02000000) == 0x02000000 /* A(25:25) == 1 */ && | 486 if ((insn.Bits() & 0x02000000) == 0x02000000 /* A(25:25) == 1 */ && |
| 490 (insn.Bits() & 0x01700000) == 0x00500000 /* op1(24:20) == 0x101 */ && | 487 (insn.Bits() & 0x01700000) == 0x00500000 /* op1(24:20) == 0x101 */ && |
| 491 (insn.Bits() & 0x00000010) == 0x00000000 /* B(4:4) == 0 */) | 488 (insn.Bits() & 0x00000010) == 0x00000000 /* B(4:4) == 0 */) |
| 492 return LoadRegister_instance_; | 489 return LdrRegister_instance_; |
| 493 | 490 |
| 494 if ((insn.Bits() & 0x02000000) == 0x02000000 /* A(25:25) == 1 */ && | 491 if ((insn.Bits() & 0x02000000) == 0x02000000 /* A(25:25) == 1 */ && |
| 495 (insn.Bits() & 0x00700000) == 0x00100000 /* op1(24:20) == xx001 */ && | 492 (insn.Bits() & 0x00700000) == 0x00100000 /* op1(24:20) == xx001 */ && |
| 496 (insn.Bits() & 0x00000010) == 0x00000000 /* B(4:4) == 0 */) | 493 (insn.Bits() & 0x00000010) == 0x00000000 /* B(4:4) == 0 */) |
| 497 return LoadRegister_instance_; | 494 return LdrRegister_instance_; |
| 498 | 495 |
| 499 if ((insn.Bits() & 0x02000000) == 0x02000000 /* A(25:25) == 1 */ && | 496 if ((insn.Bits() & 0x02000000) == 0x02000000 /* A(25:25) == 1 */ && |
| 500 (insn.Bits() & 0x01300000) == 0x00000000 /* op1(24:20) == 0xx00 */ && | 497 (insn.Bits() & 0x01300000) == 0x00000000 /* op1(24:20) == 0xx00 */ && |
| 501 (insn.Bits() & 0x00000010) == 0x00000000 /* B(4:4) == 0 */) | 498 (insn.Bits() & 0x00000010) == 0x00000000 /* B(4:4) == 0 */) |
| 502 return StoreRegister_instance_; | 499 return StrRegister_instance_; |
| 503 | 500 |
| 504 if ((insn.Bits() & 0x02000000) == 0x02000000 /* A(25:25) == 1 */ && | 501 if ((insn.Bits() & 0x02000000) == 0x02000000 /* A(25:25) == 1 */ && |
| 505 (insn.Bits() & 0x01100000) == 0x01000000 /* op1(24:20) == 1xxx0 */ && | 502 (insn.Bits() & 0x01100000) == 0x01000000 /* op1(24:20) == 1xxx0 */ && |
| 506 (insn.Bits() & 0x00000010) == 0x00000000 /* B(4:4) == 0 */) | 503 (insn.Bits() & 0x00000010) == 0x00000000 /* B(4:4) == 0 */) |
| 507 return StoreRegister_instance_; | 504 return StrRegister_instance_; |
| 508 | 505 |
| 509 if ((insn.Bits() & 0x02000000) == 0x02000000 /* A(25:25) == 1 */ && | 506 if ((insn.Bits() & 0x02000000) == 0x02000000 /* A(25:25) == 1 */ && |
| 510 (insn.Bits() & 0x01100000) == 0x01100000 /* op1(24:20) == 1xxx1 */ && | 507 (insn.Bits() & 0x01100000) == 0x01100000 /* op1(24:20) == 1xxx1 */ && |
| 511 (insn.Bits() & 0x00000010) == 0x00000000 /* B(4:4) == 0 */) | 508 (insn.Bits() & 0x00000010) == 0x00000000 /* B(4:4) == 0 */) |
| 512 return LoadRegister_instance_; | 509 return LdrRegister_instance_; |
| 513 | 510 |
| 514 if ((insn.Bits() & 0x02000000) == 0x02000000 /* A(25:25) == 1 */ && | 511 if ((insn.Bits() & 0x02000000) == 0x02000000 /* A(25:25) == 1 */ && |
| 515 (insn.Bits() & 0x01200000) == 0x00200000 /* op1(24:20) == 0xx1x */ && | 512 (insn.Bits() & 0x01200000) == 0x00200000 /* op1(24:20) == 0xx1x */ && |
| 516 (insn.Bits() & 0x00000010) == 0x00000000 /* B(4:4) == 0 */) | 513 (insn.Bits() & 0x00000010) == 0x00000000 /* B(4:4) == 0 */) |
| 517 return Forbidden_instance_; | 514 return Forbidden_instance_; |
| 518 | 515 |
| 519 // Catch any attempt to fall though ... | 516 // Catch any attempt to fall though ... |
| 520 fprintf(stderr, "TABLE IS INCOMPLETE: load_store_word_byte could not parse %08
X", | 517 fprintf(stderr, "TABLE IS INCOMPLETE: load_store_word_byte could not parse %08
X", |
| 521 insn.Bits()); | 518 insn.Bits()); |
| 522 return Forbidden_instance_; | 519 return Forbidden_instance_; |
| (...skipping 1225 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1748 fprintf(stderr, "TABLE IS INCOMPLETE: unconditional could not parse %08X", | 1745 fprintf(stderr, "TABLE IS INCOMPLETE: unconditional could not parse %08X", |
| 1749 insn.Bits()); | 1746 insn.Bits()); |
| 1750 return Forbidden_instance_; | 1747 return Forbidden_instance_; |
| 1751 } | 1748 } |
| 1752 | 1749 |
| 1753 const ClassDecoder& Arm32DecoderState::decode(const Instruction insn) const { | 1750 const ClassDecoder& Arm32DecoderState::decode(const Instruction insn) const { |
| 1754 return decode_ARMv7(insn); | 1751 return decode_ARMv7(insn); |
| 1755 } | 1752 } |
| 1756 | 1753 |
| 1757 } // namespace nacl_arm_dec | 1754 } // namespace nacl_arm_dec |
| OLD | NEW |