| OLD | NEW |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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_ |
| OLD | NEW |