Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(570)

Side by Side Diff: src/trusted/validator_arm/gen/arm32_decode_baselines_3.h

Issue 12223041: Add uses to two ARM tables. (Closed) Base URL: svn://svn.chromium.org/native_client/trunk/src/native_client/
Patch Set: Created 7 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 /* 1 /*
2 * Copyright 2013 The Native Client Authors. All rights reserved. 2 * Copyright 2013 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 NATIVE_CLIENT_SRC_TRUSTED_VALIDATOR_ARM_GEN_ARM32_DECODE_BASELINES_3_H_ 9 #ifndef NATIVE_CLIENT_SRC_TRUSTED_VALIDATOR_ARM_GEN_ARM32_DECODE_BASELINES_3_H_
10 #define NATIVE_CLIENT_SRC_TRUSTED_VALIDATOR_ARM_GEN_ARM32_DECODE_BASELINES_3_H_ 10 #define NATIVE_CLIENT_SRC_TRUSTED_VALIDATOR_ARM_GEN_ARM32_DECODE_BASELINES_3_H_
(...skipping 2423 matching lines...) Expand 10 before | Expand all | Expand 10 after
2434 // VMOV_immediate_A1_1111001m1d000mmmddddcccc0qp1mmmm_case_0: 2434 // VMOV_immediate_A1_1111001m1d000mmmddddcccc0qp1mmmm_case_0:
2435 // 2435 //
2436 // {D: D(22), 2436 // {D: D(22),
2437 // Q: Q(6), 2437 // Q: Q(6),
2438 // Vd: Vd(15:12), 2438 // Vd: Vd(15:12),
2439 // arch: ASIMD, 2439 // arch: ASIMD,
2440 // baseline: Vector1RegisterImmediate_MOV, 2440 // baseline: Vector1RegisterImmediate_MOV,
2441 // cmode: cmode(11:8), 2441 // cmode: cmode(11:8),
2442 // constraints: , 2442 // constraints: ,
2443 // d: D:Vd, 2443 // d: D:Vd,
2444 // defs: {},
2444 // false: false, 2445 // false: false,
2445 // fields: [i(24), 2446 // fields: [i(24),
2446 // D(22), 2447 // D(22),
2447 // imm3(18:16), 2448 // imm3(18:16),
2448 // Vd(15:12), 2449 // Vd(15:12),
2449 // cmode(11:8), 2450 // cmode(11:8),
2450 // Q(6), 2451 // Q(6),
2451 // op(5), 2452 // op(5),
2452 // imm4(3:0)], 2453 // imm4(3:0)],
2453 // generated_baseline: VMOV_immediate_A1_1111001m1d000mmmddddcccc0qp1mmmm_cas e_0, 2454 // generated_baseline: VMOV_immediate_A1_1111001m1d000mmmddddcccc0qp1mmmm_cas e_0,
2454 // i: i(24), 2455 // i: i(24),
2455 // imm3: imm3(18:16), 2456 // imm3: imm3(18:16),
2456 // imm4: imm4(3:0), 2457 // imm4: imm4(3:0),
2457 // imm64: AdvSIMDExpandImm(op, cmode, i:imm3:imm4), 2458 // imm64: AdvSIMDExpandImm(op, cmode, i:imm3:imm4),
2458 // op: op(5), 2459 // op: op(5),
2459 // pattern: 1111001m1d000mmmddddcccc0qp1mmmm, 2460 // pattern: 1111001m1d000mmmddddcccc0qp1mmmm,
2460 // regs: 1 2461 // regs: 1
2461 // if Q(6)=0 2462 // if Q(6)=0
2462 // else 2, 2463 // else 2,
2463 // rule: VMOV_immediate_A1, 2464 // rule: VMOV_immediate_A1,
2464 // safety: [op(5)=0 && 2465 // safety: [op(5)=0 &&
2465 // cmode(0)=1 && 2466 // cmode(0)=1 &&
2466 // cmode(3:2)=~11 => DECODER_ERROR, 2467 // cmode(3:2)=~11 => DECODER_ERROR,
2467 // op(5)=1 && 2468 // op(5)=1 &&
2468 // cmode(11:8)=~1110 => DECODER_ERROR, 2469 // cmode(11:8)=~1110 => DECODER_ERROR,
2469 // Q(6)=1 && 2470 // Q(6)=1 &&
2470 // Vd(0)=1 => UNDEFINED], 2471 // Vd(0)=1 => UNDEFINED],
2471 // single_register: false} 2472 // single_register: false,
2473 // uses: {}}
2472 class VMOV_immediate_A1_1111001m1d000mmmddddcccc0qp1mmmm_case_0 2474 class VMOV_immediate_A1_1111001m1d000mmmddddcccc0qp1mmmm_case_0
2473 : public ClassDecoder { 2475 : public ClassDecoder {
2474 public: 2476 public:
2475 VMOV_immediate_A1_1111001m1d000mmmddddcccc0qp1mmmm_case_0() 2477 VMOV_immediate_A1_1111001m1d000mmmddddcccc0qp1mmmm_case_0()
2476 : ClassDecoder() {} 2478 : ClassDecoder() {}
2479 virtual RegisterList defs(Instruction inst) const;
2477 virtual SafetyLevel safety(Instruction i) const; 2480 virtual SafetyLevel safety(Instruction i) const;
2481 virtual RegisterList uses(Instruction i) const;
2478 private: 2482 private:
2479 NACL_DISALLOW_COPY_AND_ASSIGN( 2483 NACL_DISALLOW_COPY_AND_ASSIGN(
2480 VMOV_immediate_A1_1111001m1d000mmmddddcccc0qp1mmmm_case_0); 2484 VMOV_immediate_A1_1111001m1d000mmmddddcccc0qp1mmmm_case_0);
2481 }; 2485 };
2482 2486
2483 // VMOV_immediate_cccc11101d11iiiidddd101s0000iiii_case_0: 2487 // VMOV_immediate_cccc11101d11iiiidddd101s0000iiii_case_0:
2484 // 2488 //
2485 // {D: D(22), 2489 // {D: D(22),
2486 // Vd: Vd(15:12), 2490 // Vd: Vd(15:12),
2487 // advsimd: false, 2491 // advsimd: false,
(...skipping 639 matching lines...) Expand 10 before | Expand all | Expand 10 after
3127 // VMVN_immediate_1111001i1d000mmmddddcccc0q11mmmm_case_0: 3131 // VMVN_immediate_1111001i1d000mmmddddcccc0q11mmmm_case_0:
3128 // 3132 //
3129 // {D: D(22), 3133 // {D: D(22),
3130 // Q: Q(6), 3134 // Q: Q(6),
3131 // Vd: Vd(15:12), 3135 // Vd: Vd(15:12),
3132 // arch: ASIMD, 3136 // arch: ASIMD,
3133 // baseline: Vector1RegisterImmediate_MVN, 3137 // baseline: Vector1RegisterImmediate_MVN,
3134 // cmode: cmode(11:8), 3138 // cmode: cmode(11:8),
3135 // constraints: , 3139 // constraints: ,
3136 // d: D:Vd, 3140 // d: D:Vd,
3141 // defs: {},
3137 // fields: [i(24), 3142 // fields: [i(24),
3138 // D(22), 3143 // D(22),
3139 // imm3(18:16), 3144 // imm3(18:16),
3140 // Vd(15:12), 3145 // Vd(15:12),
3141 // cmode(11:8), 3146 // cmode(11:8),
3142 // Q(6), 3147 // Q(6),
3143 // op(5), 3148 // op(5),
3144 // imm4(3:0)], 3149 // imm4(3:0)],
3145 // generated_baseline: VMVN_immediate_1111001i1d000mmmddddcccc0q11mmmm_case_0 , 3150 // generated_baseline: VMVN_immediate_1111001i1d000mmmddddcccc0q11mmmm_case_0 ,
3146 // i: i(24), 3151 // i: i(24),
3147 // imm3: imm3(18:16), 3152 // imm3: imm3(18:16),
3148 // imm4: imm4(3:0), 3153 // imm4: imm4(3:0),
3149 // imm64: AdvSIMDExpandImm(op, cmode, i:imm3:imm4), 3154 // imm64: AdvSIMDExpandImm(op, cmode, i:imm3:imm4),
3150 // op: op(5), 3155 // op: op(5),
3151 // pattern: 1111001i1d000mmmddddcccc0q11mmmm, 3156 // pattern: 1111001i1d000mmmddddcccc0q11mmmm,
3152 // regs: 1 3157 // regs: 1
3153 // if Q(6)=0 3158 // if Q(6)=0
3154 // else 2, 3159 // else 2,
3155 // rule: VMVN_immediate, 3160 // rule: VMVN_immediate,
3156 // safety: [(cmode(0)=1 && 3161 // safety: [(cmode(0)=1 &&
3157 // cmode(3:2)=~11) || 3162 // cmode(3:2)=~11) ||
3158 // cmode(3:1)=111 => DECODER_ERROR, 3163 // cmode(3:1)=111 => DECODER_ERROR,
3159 // Q(6)=1 && 3164 // Q(6)=1 &&
3160 // Vd(0)=1 => UNDEFINED]} 3165 // Vd(0)=1 => UNDEFINED],
3166 // uses: {}}
3161 class VMVN_immediate_1111001i1d000mmmddddcccc0q11mmmm_case_0 3167 class VMVN_immediate_1111001i1d000mmmddddcccc0q11mmmm_case_0
3162 : public ClassDecoder { 3168 : public ClassDecoder {
3163 public: 3169 public:
3164 VMVN_immediate_1111001i1d000mmmddddcccc0q11mmmm_case_0() 3170 VMVN_immediate_1111001i1d000mmmddddcccc0q11mmmm_case_0()
3165 : ClassDecoder() {} 3171 : ClassDecoder() {}
3172 virtual RegisterList defs(Instruction inst) const;
3166 virtual SafetyLevel safety(Instruction i) const; 3173 virtual SafetyLevel safety(Instruction i) const;
3174 virtual RegisterList uses(Instruction i) const;
3167 private: 3175 private:
3168 NACL_DISALLOW_COPY_AND_ASSIGN( 3176 NACL_DISALLOW_COPY_AND_ASSIGN(
3169 VMVN_immediate_1111001i1d000mmmddddcccc0q11mmmm_case_0); 3177 VMVN_immediate_1111001i1d000mmmddddcccc0q11mmmm_case_0);
3170 }; 3178 };
3171 3179
3172 // VMVN_register_111100111d11ss00dddd01011qm0mmmm_case_0: 3180 // VMVN_register_111100111d11ss00dddd01011qm0mmmm_case_0:
3173 // 3181 //
3174 // {D: D(22), 3182 // {D: D(22),
3175 // F: F(10), 3183 // F: F(10),
3176 // M: M(5), 3184 // M: M(5),
(...skipping 348 matching lines...) Expand 10 before | Expand all | Expand 10 after
3525 // VORR_immediate_1111001i1d000mmmddddcccc0q01mmmm_case_0: 3533 // VORR_immediate_1111001i1d000mmmddddcccc0q01mmmm_case_0:
3526 // 3534 //
3527 // {D: D(22), 3535 // {D: D(22),
3528 // Q: Q(6), 3536 // Q: Q(6),
3529 // Vd: Vd(15:12), 3537 // Vd: Vd(15:12),
3530 // arch: ASIMD, 3538 // arch: ASIMD,
3531 // baseline: Vector1RegisterImmediate_BIT, 3539 // baseline: Vector1RegisterImmediate_BIT,
3532 // cmode: cmode(11:8), 3540 // cmode: cmode(11:8),
3533 // constraints: , 3541 // constraints: ,
3534 // d: D:Vd, 3542 // d: D:Vd,
3543 // defs: {},
3535 // fields: [i(24), 3544 // fields: [i(24),
3536 // D(22), 3545 // D(22),
3537 // imm3(18:16), 3546 // imm3(18:16),
3538 // Vd(15:12), 3547 // Vd(15:12),
3539 // cmode(11:8), 3548 // cmode(11:8),
3540 // Q(6), 3549 // Q(6),
3541 // op(5), 3550 // op(5),
3542 // imm4(3:0)], 3551 // imm4(3:0)],
3543 // generated_baseline: VORR_immediate_1111001i1d000mmmddddcccc0q01mmmm_case_0 , 3552 // generated_baseline: VORR_immediate_1111001i1d000mmmddddcccc0q01mmmm_case_0 ,
3544 // i: i(24), 3553 // i: i(24),
3545 // imm3: imm3(18:16), 3554 // imm3: imm3(18:16),
3546 // imm4: imm4(3:0), 3555 // imm4: imm4(3:0),
3547 // imm64: AdvSIMDExpandImm(op, cmode, i:imm3:imm4), 3556 // imm64: AdvSIMDExpandImm(op, cmode, i:imm3:imm4),
3548 // op: op(5), 3557 // op: op(5),
3549 // pattern: 1111001i1d000mmmddddcccc0q01mmmm, 3558 // pattern: 1111001i1d000mmmddddcccc0q01mmmm,
3550 // regs: 1 3559 // regs: 1
3551 // if Q(6)=0 3560 // if Q(6)=0
3552 // else 2, 3561 // else 2,
3553 // rule: VORR_immediate, 3562 // rule: VORR_immediate,
3554 // safety: [cmode(0)=0 || 3563 // safety: [cmode(0)=0 ||
3555 // cmode(3:2)=11 => DECODER_ERROR, 3564 // cmode(3:2)=11 => DECODER_ERROR,
3556 // Q(6)=1 && 3565 // Q(6)=1 &&
3557 // Vd(0)=1 => UNDEFINED]} 3566 // Vd(0)=1 => UNDEFINED],
3567 // uses: {}}
3558 class VORR_immediate_1111001i1d000mmmddddcccc0q01mmmm_case_0 3568 class VORR_immediate_1111001i1d000mmmddddcccc0q01mmmm_case_0
3559 : public ClassDecoder { 3569 : public ClassDecoder {
3560 public: 3570 public:
3561 VORR_immediate_1111001i1d000mmmddddcccc0q01mmmm_case_0() 3571 VORR_immediate_1111001i1d000mmmddddcccc0q01mmmm_case_0()
3562 : ClassDecoder() {} 3572 : ClassDecoder() {}
3573 virtual RegisterList defs(Instruction inst) const;
3563 virtual SafetyLevel safety(Instruction i) const; 3574 virtual SafetyLevel safety(Instruction i) const;
3575 virtual RegisterList uses(Instruction i) const;
3564 private: 3576 private:
3565 NACL_DISALLOW_COPY_AND_ASSIGN( 3577 NACL_DISALLOW_COPY_AND_ASSIGN(
3566 VORR_immediate_1111001i1d000mmmddddcccc0q01mmmm_case_0); 3578 VORR_immediate_1111001i1d000mmmddddcccc0q01mmmm_case_0);
3567 }; 3579 };
3568 3580
3569 // VORR_register_or_VMOV_register_A1_111100100d10nnnndddd0001nqm1mmmm_case_0: 3581 // VORR_register_or_VMOV_register_A1_111100100d10nnnndddd0001nqm1mmmm_case_0:
3570 // 3582 //
3571 // {D: D(22), 3583 // {D: D(22),
3572 // M: M(5), 3584 // M: M(5),
3573 // N: N(7), 3585 // N: N(7),
(...skipping 5004 matching lines...) Expand 10 before | Expand all | Expand 10 after
8578 virtual SafetyLevel safety(Instruction i) const; 8590 virtual SafetyLevel safety(Instruction i) const;
8579 virtual RegisterList uses(Instruction i) const; 8591 virtual RegisterList uses(Instruction i) const;
8580 private: 8592 private:
8581 NACL_DISALLOW_COPY_AND_ASSIGN( 8593 NACL_DISALLOW_COPY_AND_ASSIGN(
8582 YIELD_cccc0011001000001111000000000001_case_0); 8594 YIELD_cccc0011001000001111000000000001_case_0);
8583 }; 8595 };
8584 8596
8585 } // namespace nacl_arm_test 8597 } // namespace nacl_arm_test
8586 8598
8587 #endif // NATIVE_CLIENT_SRC_TRUSTED_VALIDATOR_ARM_GEN_ARM32_DECODE_BASELINES_3_ H_ 8599 #endif // NATIVE_CLIENT_SRC_TRUSTED_VALIDATOR_ARM_GEN_ARM32_DECODE_BASELINES_3_ H_
OLDNEW
« no previous file with comments | « src/trusted/validator_arm/gen/arm32_decode_baselines_2.cc ('k') | src/trusted/validator_arm/gen/arm32_decode_baselines_3.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698