| 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 355 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 366 virtual SafetyLevel safety(Instruction i) const; | 366 virtual SafetyLevel safety(Instruction i) const; |
| 367 virtual RegisterList defs(Instruction i) const; | 367 virtual RegisterList defs(Instruction i) const; |
| 368 // The shift value to use. | 368 // The shift value to use. |
| 369 inline uint32_t ShiftValue(const Instruction& i) const { | 369 inline uint32_t ShiftValue(const Instruction& i) const { |
| 370 return shift_type.DecodeImmShift(i, imm.value(i)); | 370 return shift_type.DecodeImmShift(i, imm.value(i)); |
| 371 } | 371 } |
| 372 private: | 372 private: |
| 373 NACL_DISALLOW_COPY_AND_ASSIGN(Binary3RegisterImmedShiftedOp); | 373 NACL_DISALLOW_COPY_AND_ASSIGN(Binary3RegisterImmedShiftedOp); |
| 374 }; | 374 }; |
| 375 | 375 |
| 376 // Defines Binary3RegisterImmedShiftedOp instructions where Rn=sp is |
| 377 // deprecated. |
| 378 class Binary3RegisterImmedShiftedOpRnNotSp |
| 379 : public Binary3RegisterImmedShiftedOp { |
| 380 public: |
| 381 inline Binary3RegisterImmedShiftedOpRnNotSp() |
| 382 : Binary3RegisterImmedShiftedOp() {} |
| 383 virtual ~Binary3RegisterImmedShiftedOpRnNotSp() {} |
| 384 virtual SafetyLevel safety(Instruction i) const; |
| 385 }; |
| 386 |
| 376 // Models a 4-register-shifted binary operation of the form: | 387 // Models a 4-register-shifted binary operation of the form: |
| 377 // Op(S)<c> <Rd>, <Rn>, <Rm>, <type> <Rs> | 388 // Op(S)<c> <Rd>, <Rn>, <Rm>, <type> <Rs> |
| 378 // +--------+--------------+--+--------+--------+--------+--+----+--+--------+ | 389 // +--------+--------------+--+--------+--------+--------+--+----+--+--------+ |
| 379 // |31302928|27262524232221|20|19181716|15141312|1110 9 8| 7| 6 5| 4| 3 2 1 0| | 390 // |31302928|27262524232221|20|19181716|15141312|1110 9 8| 7| 6 5| 4| 3 2 1 0| |
| 380 // +--------+--------------+--+--------+--------+--------+--+----+--+--------+ | 391 // +--------+--------------+--+--------+--------+--------+--+----+--+--------+ |
| 381 // | cond | | S| Rn | Rd | Rs | |type| | Rm | | 392 // | cond | | S| Rn | Rd | Rs | |type| | Rm | |
| 382 // +--------+--------------+--+--------+--------+--------+--+----+--+--------+ | 393 // +--------+--------------+--+--------+--------+--------+--+----+--+--------+ |
| 383 // Definitions: | 394 // Definitions: |
| 384 // Rd - The destination register. | 395 // Rd - The destination register. |
| 385 // Rn - The first operand register. | 396 // Rn - The first operand register. |
| (...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 500 virtual SafetyLevel safety(Instruction i) const; | 511 virtual SafetyLevel safety(Instruction i) const; |
| 501 virtual RegisterList defs(Instruction i) const; | 512 virtual RegisterList defs(Instruction i) const; |
| 502 | 513 |
| 503 private: | 514 private: |
| 504 NACL_DISALLOW_COPY_AND_ASSIGN(Binary3RegisterShiftedTest); | 515 NACL_DISALLOW_COPY_AND_ASSIGN(Binary3RegisterShiftedTest); |
| 505 }; | 516 }; |
| 506 | 517 |
| 507 } // namespace | 518 } // namespace |
| 508 | 519 |
| 509 #endif // NATIVE_CLIENT_SRC_TRUSTED_VALIDATOR_ARM_BASELINE_CLASSES_H_ | 520 #endif // NATIVE_CLIENT_SRC_TRUSTED_VALIDATOR_ARM_BASELINE_CLASSES_H_ |
| OLD | NEW |