OLD | NEW |
---|---|
1 /* | 1 /* |
2 * Copyright (c) 2012 The Native Client Authors. All rights reserved. | 2 * Copyright (c) 2012 The Native Client Authors. All rights reserved. |
3 * Use of this source code is governed by a BSD-style license that can be | 3 * Use of this source code is governed by a BSD-style license that can be |
4 * found in the LICENSE file. | 4 * found in the LICENSE file. |
5 */ | 5 */ |
6 | 6 |
7 #ifndef NATIVE_CLIENT_SRC_TRUSTED_VALIDATOR_ARM_BASELINE_CLASSES_H_ | 7 #ifndef NATIVE_CLIENT_SRC_TRUSTED_VALIDATOR_ARM_BASELINE_CLASSES_H_ |
8 #define NATIVE_CLIENT_SRC_TRUSTED_VALIDATOR_ARM_BASELINE_CLASSES_H_ | 8 #define NATIVE_CLIENT_SRC_TRUSTED_VALIDATOR_ARM_BASELINE_CLASSES_H_ |
9 | 9 |
10 #include "native_client/src/trusted/validator_arm/inst_classes.h" | 10 #include "native_client/src/trusted/validator_arm/inst_classes.h" |
(...skipping 453 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
464 static const RegBits0To3Interface n; | 464 static const RegBits0To3Interface n; |
465 static const Imm5Bits7To11Interface lsb; | 465 static const Imm5Bits7To11Interface lsb; |
466 static const RegBits12To15Interface d; | 466 static const RegBits12To15Interface d; |
467 static const Imm5Bits16To20Interface msb; | 467 static const Imm5Bits16To20Interface msb; |
468 static const ConditionBits28To31Interface cond; | 468 static const ConditionBits28To31Interface cond; |
469 | 469 |
470 // Methods for class. | 470 // Methods for class. |
471 Binary2RegisterBitRangeMsbGeLsb() {} | 471 Binary2RegisterBitRangeMsbGeLsb() {} |
472 virtual SafetyLevel safety(Instruction i) const; | 472 virtual SafetyLevel safety(Instruction i) const; |
473 virtual RegisterList defs(Instruction i) const; | 473 virtual RegisterList defs(Instruction i) const; |
474 virtual RegisterList uses(Instruction i) const; | |
474 | 475 |
475 private: | 476 private: |
476 NACL_DISALLOW_COPY_AND_ASSIGN(Binary2RegisterBitRangeMsbGeLsb); | 477 NACL_DISALLOW_COPY_AND_ASSIGN(Binary2RegisterBitRangeMsbGeLsb); |
477 }; | 478 }; |
478 | 479 |
479 // Models a 2-register binary operation with two immediate values | 480 // Models a 2-register binary operation with two immediate values |
480 // defining a bit range. | 481 // defining a bit range. |
481 // Op<c> Rd, Rn, #<lsb>, #width | 482 // Op<c> Rd, Rn, #<lsb>, #width |
482 // +--------+--------------+----------+--------+----------+------+--------+ | 483 // +--------+--------------+----------+--------+----------+------+--------+ |
483 // |31302928|27262524232221|2019181716|15141312|1110 9 8 7| 6 5 4| 3 2 1 0| | 484 // |31302928|27262524232221|2019181716|15141312|1110 9 8 7| 6 5 4| 3 2 1 0| |
(...skipping 16 matching lines...) Expand all Loading... | |
500 // Interface for components of the instruction. | 501 // Interface for components of the instruction. |
501 static const RegBits0To3Interface n; | 502 static const RegBits0To3Interface n; |
502 static const Imm5Bits7To11Interface lsb; | 503 static const Imm5Bits7To11Interface lsb; |
503 static const RegBits12To15Interface d; | 504 static const RegBits12To15Interface d; |
504 static const Imm5Bits16To20Interface widthm1; | 505 static const Imm5Bits16To20Interface widthm1; |
505 static const ConditionBits28To31Interface cond; | 506 static const ConditionBits28To31Interface cond; |
506 | 507 |
507 // Methods for class. | 508 // Methods for class. |
508 Binary2RegisterBitRangeNotRnIsPcBitfieldExtract() {} | 509 Binary2RegisterBitRangeNotRnIsPcBitfieldExtract() {} |
509 virtual SafetyLevel safety(Instruction i) const; | 510 virtual SafetyLevel safety(Instruction i) const; |
510 virtual RegisterList defs(Instruction i) const; | 511 virtual RegisterList defs(Instruction i) const; |
JF
2012/12/14 22:39:33
Add uses.
Karl
2012/12/17 17:35:57
Done.
| |
511 | 512 |
512 private: | 513 private: |
513 NACL_DISALLOW_COPY_AND_ASSIGN( | 514 NACL_DISALLOW_COPY_AND_ASSIGN( |
514 Binary2RegisterBitRangeNotRnIsPcBitfieldExtract); | 515 Binary2RegisterBitRangeNotRnIsPcBitfieldExtract); |
515 }; | 516 }; |
516 | 517 |
517 // Models a 2-register binary operation with an immediate value. | 518 // Models a 2-register binary operation with an immediate value. |
518 // Op(S)<c> <Rd>, <Rn>, #<const> | 519 // Op(S)<c> <Rd>, <Rn>, #<const> |
519 // +--------+--------------+--+--------+--------+------------------------+ | 520 // +--------+--------------+--+--------+--------+------------------------+ |
520 // |31302928|27262524232221|20|19181716|15141312|1110 9 8 7 6 5 4 3 2 1 0| | 521 // |31302928|27262524232221|20|19181716|15141312|1110 9 8 7 6 5 4 3 2 1 0| |
(...skipping 3164 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
3685 InstructionBarrier() {} | 3686 InstructionBarrier() {} |
3686 virtual SafetyLevel safety(Instruction i) const; | 3687 virtual SafetyLevel safety(Instruction i) const; |
3687 | 3688 |
3688 private: | 3689 private: |
3689 NACL_DISALLOW_COPY_AND_ASSIGN(InstructionBarrier); | 3690 NACL_DISALLOW_COPY_AND_ASSIGN(InstructionBarrier); |
3690 }; | 3691 }; |
3691 | 3692 |
3692 } // namespace nacl_arm_dec | 3693 } // namespace nacl_arm_dec |
3693 | 3694 |
3694 #endif // NATIVE_CLIENT_SRC_TRUSTED_VALIDATOR_ARM_BASELINE_CLASSES_H_ | 3695 #endif // NATIVE_CLIENT_SRC_TRUSTED_VALIDATOR_ARM_BASELINE_CLASSES_H_ |
OLD | NEW |