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

Side by Side Diff: src/trusted/validator_arm/gen/arm32_decode_actuals_2.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_ACTUALS_2_H_ 9 #ifndef NATIVE_CLIENT_SRC_TRUSTED_VALIDATOR_ARM_GEN_ARM32_DECODE_ACTUALS_2_H_
10 #define NATIVE_CLIENT_SRC_TRUSTED_VALIDATOR_ARM_GEN_ARM32_DECODE_ACTUALS_2_H_ 10 #define NATIVE_CLIENT_SRC_TRUSTED_VALIDATOR_ARM_GEN_ARM32_DECODE_ACTUALS_2_H_
(...skipping 3240 matching lines...) Expand 10 before | Expand all | Expand 10 after
3251 virtual SafetyLevel safety(Instruction i) const; 3251 virtual SafetyLevel safety(Instruction i) const;
3252 virtual RegisterList uses(Instruction i) const; 3252 virtual RegisterList uses(Instruction i) const;
3253 private: 3253 private:
3254 NACL_DISALLOW_COPY_AND_ASSIGN( 3254 NACL_DISALLOW_COPY_AND_ASSIGN(
3255 Actual_VADD_integer_111100100dssnnnndddd1000nqm0mmmm_case_1); 3255 Actual_VADD_integer_111100100dssnnnndddd1000nqm0mmmm_case_1);
3256 }; 3256 };
3257 3257
3258 // Actual_VBIC_immediate_1111001i1d000mmmddddcccc0q11mmmm_case_1 3258 // Actual_VBIC_immediate_1111001i1d000mmmddddcccc0q11mmmm_case_1
3259 // 3259 //
3260 // Actual: 3260 // Actual:
3261 // {safety: [inst(11:8)(0)=0 || 3261 // {defs: {},
3262 // safety: [inst(11:8)(0)=0 ||
3262 // inst(11:8)(3:2)=11 => DECODER_ERROR, 3263 // inst(11:8)(3:2)=11 => DECODER_ERROR,
3263 // inst(6)=1 && 3264 // inst(6)=1 &&
3264 // inst(15:12)(0)=1 => UNDEFINED]} 3265 // inst(15:12)(0)=1 => UNDEFINED],
3266 // uses: {}}
3265 // 3267 //
3266 // Baseline: 3268 // Baseline:
3267 // {D: D(22), 3269 // {D: D(22),
3268 // Q: Q(6), 3270 // Q: Q(6),
3269 // Vd: Vd(15:12), 3271 // Vd: Vd(15:12),
3270 // arch: ASIMD, 3272 // arch: ASIMD,
3271 // baseline: Vector1RegisterImmediate_BIT, 3273 // baseline: Vector1RegisterImmediate_BIT,
3272 // cmode: cmode(11:8), 3274 // cmode: cmode(11:8),
3273 // constraints: , 3275 // constraints: ,
3274 // d: D:Vd, 3276 // d: D:Vd,
3277 // defs: {},
3275 // fields: [i(24), 3278 // fields: [i(24),
3276 // D(22), 3279 // D(22),
3277 // imm3(18:16), 3280 // imm3(18:16),
3278 // Vd(15:12), 3281 // Vd(15:12),
3279 // cmode(11:8), 3282 // cmode(11:8),
3280 // Q(6), 3283 // Q(6),
3281 // op(5), 3284 // op(5),
3282 // imm4(3:0)], 3285 // imm4(3:0)],
3283 // generated_baseline: VBIC_immediate_1111001i1d000mmmddddcccc0q11mmmm_case_0 , 3286 // generated_baseline: VBIC_immediate_1111001i1d000mmmddddcccc0q11mmmm_case_0 ,
3284 // i: i(24), 3287 // i: i(24),
3285 // imm3: imm3(18:16), 3288 // imm3: imm3(18:16),
3286 // imm4: imm4(3:0), 3289 // imm4: imm4(3:0),
3287 // imm64: AdvSIMDExpandImm(op, cmode, i:imm3:imm4), 3290 // imm64: AdvSIMDExpandImm(op, cmode, i:imm3:imm4),
3288 // op: op(5), 3291 // op: op(5),
3289 // pattern: 1111001i1d000mmmddddcccc0q11mmmm, 3292 // pattern: 1111001i1d000mmmddddcccc0q11mmmm,
3290 // regs: 1 3293 // regs: 1
3291 // if Q(6)=0 3294 // if Q(6)=0
3292 // else 2, 3295 // else 2,
3293 // rule: VBIC_immediate, 3296 // rule: VBIC_immediate,
3294 // safety: [cmode(0)=0 || 3297 // safety: [cmode(0)=0 ||
3295 // cmode(3:2)=11 => DECODER_ERROR, 3298 // cmode(3:2)=11 => DECODER_ERROR,
3296 // Q(6)=1 && 3299 // Q(6)=1 &&
3297 // Vd(0)=1 => UNDEFINED]} 3300 // Vd(0)=1 => UNDEFINED],
3301 // uses: {}}
3298 // 3302 //
3299 // Baseline: 3303 // Baseline:
3300 // {D: D(22), 3304 // {D: D(22),
3301 // Q: Q(6), 3305 // Q: Q(6),
3302 // Vd: Vd(15:12), 3306 // Vd: Vd(15:12),
3303 // arch: ASIMD, 3307 // arch: ASIMD,
3304 // baseline: Vector1RegisterImmediate_BIT, 3308 // baseline: Vector1RegisterImmediate_BIT,
3305 // cmode: cmode(11:8), 3309 // cmode: cmode(11:8),
3306 // constraints: , 3310 // constraints: ,
3307 // d: D:Vd, 3311 // d: D:Vd,
3312 // defs: {},
3308 // fields: [i(24), 3313 // fields: [i(24),
3309 // D(22), 3314 // D(22),
3310 // imm3(18:16), 3315 // imm3(18:16),
3311 // Vd(15:12), 3316 // Vd(15:12),
3312 // cmode(11:8), 3317 // cmode(11:8),
3313 // Q(6), 3318 // Q(6),
3314 // op(5), 3319 // op(5),
3315 // imm4(3:0)], 3320 // imm4(3:0)],
3316 // generated_baseline: VORR_immediate_1111001i1d000mmmddddcccc0q01mmmm_case_0 , 3321 // generated_baseline: VORR_immediate_1111001i1d000mmmddddcccc0q01mmmm_case_0 ,
3317 // i: i(24), 3322 // i: i(24),
3318 // imm3: imm3(18:16), 3323 // imm3: imm3(18:16),
3319 // imm4: imm4(3:0), 3324 // imm4: imm4(3:0),
3320 // imm64: AdvSIMDExpandImm(op, cmode, i:imm3:imm4), 3325 // imm64: AdvSIMDExpandImm(op, cmode, i:imm3:imm4),
3321 // op: op(5), 3326 // op: op(5),
3322 // pattern: 1111001i1d000mmmddddcccc0q01mmmm, 3327 // pattern: 1111001i1d000mmmddddcccc0q01mmmm,
3323 // regs: 1 3328 // regs: 1
3324 // if Q(6)=0 3329 // if Q(6)=0
3325 // else 2, 3330 // else 2,
3326 // rule: VORR_immediate, 3331 // rule: VORR_immediate,
3327 // safety: [cmode(0)=0 || 3332 // safety: [cmode(0)=0 ||
3328 // cmode(3:2)=11 => DECODER_ERROR, 3333 // cmode(3:2)=11 => DECODER_ERROR,
3329 // Q(6)=1 && 3334 // Q(6)=1 &&
3330 // Vd(0)=1 => UNDEFINED]} 3335 // Vd(0)=1 => UNDEFINED],
3336 // uses: {}}
3331 class Actual_VBIC_immediate_1111001i1d000mmmddddcccc0q11mmmm_case_1 3337 class Actual_VBIC_immediate_1111001i1d000mmmddddcccc0q11mmmm_case_1
3332 : public ClassDecoder { 3338 : public ClassDecoder {
3333 public: 3339 public:
3334 Actual_VBIC_immediate_1111001i1d000mmmddddcccc0q11mmmm_case_1() 3340 Actual_VBIC_immediate_1111001i1d000mmmddddcccc0q11mmmm_case_1()
3335 : ClassDecoder() {} 3341 : ClassDecoder() {}
3342 virtual RegisterList defs(Instruction inst) const;
3336 virtual SafetyLevel safety(Instruction i) const; 3343 virtual SafetyLevel safety(Instruction i) const;
3344 virtual RegisterList uses(Instruction i) const;
3337 private: 3345 private:
3338 NACL_DISALLOW_COPY_AND_ASSIGN( 3346 NACL_DISALLOW_COPY_AND_ASSIGN(
3339 Actual_VBIC_immediate_1111001i1d000mmmddddcccc0q11mmmm_case_1); 3347 Actual_VBIC_immediate_1111001i1d000mmmddddcccc0q11mmmm_case_1);
3340 }; 3348 };
3341 3349
3342 // Actual_VCNT_111100111d11ss00dddd01010qm0mmmm_case_1 3350 // Actual_VCNT_111100111d11ss00dddd01010qm0mmmm_case_1
3343 // 3351 //
3344 // Actual: 3352 // Actual:
3345 // {defs: {}, 3353 // {defs: {},
3346 // safety: [inst(19:18)=~00 => UNDEFINED, 3354 // safety: [inst(19:18)=~00 => UNDEFINED,
(...skipping 3647 matching lines...) Expand 10 before | Expand all | Expand 10 after
6994 virtual SafetyLevel safety(Instruction i) const; 7002 virtual SafetyLevel safety(Instruction i) const;
6995 virtual RegisterList uses(Instruction i) const; 7003 virtual RegisterList uses(Instruction i) const;
6996 private: 7004 private:
6997 NACL_DISALLOW_COPY_AND_ASSIGN( 7005 NACL_DISALLOW_COPY_AND_ASSIGN(
6998 Actual_VMOV_between_two_ARM_core_registers_and_two_single_precision_regist ers_cccc1100010otttttttt101000m1mmmm_case_1); 7006 Actual_VMOV_between_two_ARM_core_registers_and_two_single_precision_regist ers_cccc1100010otttttttt101000m1mmmm_case_1);
6999 }; 7007 };
7000 7008
7001 // Actual_VMOV_immediate_A1_1111001m1d000mmmddddcccc0qp1mmmm_case_1 7009 // Actual_VMOV_immediate_A1_1111001m1d000mmmddddcccc0qp1mmmm_case_1
7002 // 7010 //
7003 // Actual: 7011 // Actual:
7004 // {safety: [inst(5)=0 && 7012 // {defs: {},
7013 // safety: [inst(5)=0 &&
7005 // inst(11:8)(0)=1 && 7014 // inst(11:8)(0)=1 &&
7006 // inst(11:8)(3:2)=~11 => DECODER_ERROR, 7015 // inst(11:8)(3:2)=~11 => DECODER_ERROR,
7007 // inst(5)=1 && 7016 // inst(5)=1 &&
7008 // inst(11:8)=~1110 => DECODER_ERROR, 7017 // inst(11:8)=~1110 => DECODER_ERROR,
7009 // inst(6)=1 && 7018 // inst(6)=1 &&
7010 // inst(15:12)(0)=1 => UNDEFINED]} 7019 // inst(15:12)(0)=1 => UNDEFINED],
7020 // uses: {}}
7011 // 7021 //
7012 // Baseline: 7022 // Baseline:
7013 // {D: D(22), 7023 // {D: D(22),
7014 // Q: Q(6), 7024 // Q: Q(6),
7015 // Vd: Vd(15:12), 7025 // Vd: Vd(15:12),
7016 // arch: ASIMD, 7026 // arch: ASIMD,
7017 // baseline: Vector1RegisterImmediate_MOV, 7027 // baseline: Vector1RegisterImmediate_MOV,
7018 // cmode: cmode(11:8), 7028 // cmode: cmode(11:8),
7019 // constraints: , 7029 // constraints: ,
7020 // d: D:Vd, 7030 // d: D:Vd,
7031 // defs: {},
7021 // false: false, 7032 // false: false,
7022 // fields: [i(24), 7033 // fields: [i(24),
7023 // D(22), 7034 // D(22),
7024 // imm3(18:16), 7035 // imm3(18:16),
7025 // Vd(15:12), 7036 // Vd(15:12),
7026 // cmode(11:8), 7037 // cmode(11:8),
7027 // Q(6), 7038 // Q(6),
7028 // op(5), 7039 // op(5),
7029 // imm4(3:0)], 7040 // imm4(3:0)],
7030 // generated_baseline: VMOV_immediate_A1_1111001m1d000mmmddddcccc0qp1mmmm_cas e_0, 7041 // generated_baseline: VMOV_immediate_A1_1111001m1d000mmmddddcccc0qp1mmmm_cas e_0,
7031 // i: i(24), 7042 // i: i(24),
7032 // imm3: imm3(18:16), 7043 // imm3: imm3(18:16),
7033 // imm4: imm4(3:0), 7044 // imm4: imm4(3:0),
7034 // imm64: AdvSIMDExpandImm(op, cmode, i:imm3:imm4), 7045 // imm64: AdvSIMDExpandImm(op, cmode, i:imm3:imm4),
7035 // op: op(5), 7046 // op: op(5),
7036 // pattern: 1111001m1d000mmmddddcccc0qp1mmmm, 7047 // pattern: 1111001m1d000mmmddddcccc0qp1mmmm,
7037 // regs: 1 7048 // regs: 1
7038 // if Q(6)=0 7049 // if Q(6)=0
7039 // else 2, 7050 // else 2,
7040 // rule: VMOV_immediate_A1, 7051 // rule: VMOV_immediate_A1,
7041 // safety: [op(5)=0 && 7052 // safety: [op(5)=0 &&
7042 // cmode(0)=1 && 7053 // cmode(0)=1 &&
7043 // cmode(3:2)=~11 => DECODER_ERROR, 7054 // cmode(3:2)=~11 => DECODER_ERROR,
7044 // op(5)=1 && 7055 // op(5)=1 &&
7045 // cmode(11:8)=~1110 => DECODER_ERROR, 7056 // cmode(11:8)=~1110 => DECODER_ERROR,
7046 // Q(6)=1 && 7057 // Q(6)=1 &&
7047 // Vd(0)=1 => UNDEFINED], 7058 // Vd(0)=1 => UNDEFINED],
7048 // single_register: false} 7059 // single_register: false,
7060 // uses: {}}
7049 class Actual_VMOV_immediate_A1_1111001m1d000mmmddddcccc0qp1mmmm_case_1 7061 class Actual_VMOV_immediate_A1_1111001m1d000mmmddddcccc0qp1mmmm_case_1
7050 : public ClassDecoder { 7062 : public ClassDecoder {
7051 public: 7063 public:
7052 Actual_VMOV_immediate_A1_1111001m1d000mmmddddcccc0qp1mmmm_case_1() 7064 Actual_VMOV_immediate_A1_1111001m1d000mmmddddcccc0qp1mmmm_case_1()
7053 : ClassDecoder() {} 7065 : ClassDecoder() {}
7066 virtual RegisterList defs(Instruction inst) const;
7054 virtual SafetyLevel safety(Instruction i) const; 7067 virtual SafetyLevel safety(Instruction i) const;
7068 virtual RegisterList uses(Instruction i) const;
7055 private: 7069 private:
7056 NACL_DISALLOW_COPY_AND_ASSIGN( 7070 NACL_DISALLOW_COPY_AND_ASSIGN(
7057 Actual_VMOV_immediate_A1_1111001m1d000mmmddddcccc0qp1mmmm_case_1); 7071 Actual_VMOV_immediate_A1_1111001m1d000mmmddddcccc0qp1mmmm_case_1);
7058 }; 7072 };
7059 7073
7060 // Actual_VMRS_cccc111011110001tttt101000010000_case_1 7074 // Actual_VMRS_cccc111011110001tttt101000010000_case_1
7061 // 7075 //
7062 // Actual: 7076 // Actual:
7063 // {defs: {16 7077 // {defs: {16
7064 // if 15 == 7078 // if 15 ==
(...skipping 189 matching lines...) Expand 10 before | Expand all | Expand 10 after
7254 virtual SafetyLevel safety(Instruction i) const; 7268 virtual SafetyLevel safety(Instruction i) const;
7255 virtual RegisterList uses(Instruction i) const; 7269 virtual RegisterList uses(Instruction i) const;
7256 private: 7270 private:
7257 NACL_DISALLOW_COPY_AND_ASSIGN( 7271 NACL_DISALLOW_COPY_AND_ASSIGN(
7258 Actual_VMUL_polynomial_A1_1111001u0dssnnnndddd1001nqm1mmmm_case_1); 7272 Actual_VMUL_polynomial_A1_1111001u0dssnnnndddd1001nqm1mmmm_case_1);
7259 }; 7273 };
7260 7274
7261 // Actual_VMVN_immediate_1111001i1d000mmmddddcccc0q11mmmm_case_1 7275 // Actual_VMVN_immediate_1111001i1d000mmmddddcccc0q11mmmm_case_1
7262 // 7276 //
7263 // Actual: 7277 // Actual:
7264 // {safety: [(inst(11:8)(0)=1 && 7278 // {defs: {},
7279 // safety: [(inst(11:8)(0)=1 &&
7265 // inst(11:8)(3:2)=~11) || 7280 // inst(11:8)(3:2)=~11) ||
7266 // inst(11:8)(3:1)=111 => DECODER_ERROR, 7281 // inst(11:8)(3:1)=111 => DECODER_ERROR,
7267 // inst(6)=1 && 7282 // inst(6)=1 &&
7268 // inst(15:12)(0)=1 => UNDEFINED]} 7283 // inst(15:12)(0)=1 => UNDEFINED],
7284 // uses: {}}
7269 // 7285 //
7270 // Baseline: 7286 // Baseline:
7271 // {D: D(22), 7287 // {D: D(22),
7272 // Q: Q(6), 7288 // Q: Q(6),
7273 // Vd: Vd(15:12), 7289 // Vd: Vd(15:12),
7274 // arch: ASIMD, 7290 // arch: ASIMD,
7275 // baseline: Vector1RegisterImmediate_MVN, 7291 // baseline: Vector1RegisterImmediate_MVN,
7276 // cmode: cmode(11:8), 7292 // cmode: cmode(11:8),
7277 // constraints: , 7293 // constraints: ,
7278 // d: D:Vd, 7294 // d: D:Vd,
7295 // defs: {},
7279 // fields: [i(24), 7296 // fields: [i(24),
7280 // D(22), 7297 // D(22),
7281 // imm3(18:16), 7298 // imm3(18:16),
7282 // Vd(15:12), 7299 // Vd(15:12),
7283 // cmode(11:8), 7300 // cmode(11:8),
7284 // Q(6), 7301 // Q(6),
7285 // op(5), 7302 // op(5),
7286 // imm4(3:0)], 7303 // imm4(3:0)],
7287 // generated_baseline: VMVN_immediate_1111001i1d000mmmddddcccc0q11mmmm_case_0 , 7304 // generated_baseline: VMVN_immediate_1111001i1d000mmmddddcccc0q11mmmm_case_0 ,
7288 // i: i(24), 7305 // i: i(24),
7289 // imm3: imm3(18:16), 7306 // imm3: imm3(18:16),
7290 // imm4: imm4(3:0), 7307 // imm4: imm4(3:0),
7291 // imm64: AdvSIMDExpandImm(op, cmode, i:imm3:imm4), 7308 // imm64: AdvSIMDExpandImm(op, cmode, i:imm3:imm4),
7292 // op: op(5), 7309 // op: op(5),
7293 // pattern: 1111001i1d000mmmddddcccc0q11mmmm, 7310 // pattern: 1111001i1d000mmmddddcccc0q11mmmm,
7294 // regs: 1 7311 // regs: 1
7295 // if Q(6)=0 7312 // if Q(6)=0
7296 // else 2, 7313 // else 2,
7297 // rule: VMVN_immediate, 7314 // rule: VMVN_immediate,
7298 // safety: [(cmode(0)=1 && 7315 // safety: [(cmode(0)=1 &&
7299 // cmode(3:2)=~11) || 7316 // cmode(3:2)=~11) ||
7300 // cmode(3:1)=111 => DECODER_ERROR, 7317 // cmode(3:1)=111 => DECODER_ERROR,
7301 // Q(6)=1 && 7318 // Q(6)=1 &&
7302 // Vd(0)=1 => UNDEFINED]} 7319 // Vd(0)=1 => UNDEFINED],
7320 // uses: {}}
7303 class Actual_VMVN_immediate_1111001i1d000mmmddddcccc0q11mmmm_case_1 7321 class Actual_VMVN_immediate_1111001i1d000mmmddddcccc0q11mmmm_case_1
7304 : public ClassDecoder { 7322 : public ClassDecoder {
7305 public: 7323 public:
7306 Actual_VMVN_immediate_1111001i1d000mmmddddcccc0q11mmmm_case_1() 7324 Actual_VMVN_immediate_1111001i1d000mmmddddcccc0q11mmmm_case_1()
7307 : ClassDecoder() {} 7325 : ClassDecoder() {}
7326 virtual RegisterList defs(Instruction inst) const;
7308 virtual SafetyLevel safety(Instruction i) const; 7327 virtual SafetyLevel safety(Instruction i) const;
7328 virtual RegisterList uses(Instruction i) const;
7309 private: 7329 private:
7310 NACL_DISALLOW_COPY_AND_ASSIGN( 7330 NACL_DISALLOW_COPY_AND_ASSIGN(
7311 Actual_VMVN_immediate_1111001i1d000mmmddddcccc0q11mmmm_case_1); 7331 Actual_VMVN_immediate_1111001i1d000mmmddddcccc0q11mmmm_case_1);
7312 }; 7332 };
7313 7333
7314 // Actual_VPADD_floating_point_111100110d0snnnndddd1101nqm0mmmm_case_1 7334 // Actual_VPADD_floating_point_111100110d0snnnndddd1101nqm0mmmm_case_1
7315 // 7335 //
7316 // Actual: 7336 // Actual:
7317 // {defs: {}, 7337 // {defs: {},
7318 // safety: [inst(21:20)(0)=1 || 7338 // safety: [inst(21:20)(0)=1 ||
(...skipping 2522 matching lines...) Expand 10 before | Expand all | Expand 10 after
9841 virtual SafetyLevel safety(Instruction i) const; 9861 virtual SafetyLevel safety(Instruction i) const;
9842 virtual RegisterList uses(Instruction i) const; 9862 virtual RegisterList uses(Instruction i) const;
9843 private: 9863 private:
9844 NACL_DISALLOW_COPY_AND_ASSIGN( 9864 NACL_DISALLOW_COPY_AND_ASSIGN(
9845 Actual_VUZP_111100111d11ss10dddd00010qm0mmmm_case_1); 9865 Actual_VUZP_111100111d11ss10dddd00010qm0mmmm_case_1);
9846 }; 9866 };
9847 9867
9848 } // namespace nacl_arm_test 9868 } // namespace nacl_arm_test
9849 9869
9850 #endif // NATIVE_CLIENT_SRC_TRUSTED_VALIDATOR_ARM_GEN_ARM32_DECODE_ACTUALS_2_H_ 9870 #endif // NATIVE_CLIENT_SRC_TRUSTED_VALIDATOR_ARM_GEN_ARM32_DECODE_ACTUALS_2_H_
OLDNEW
« no previous file with comments | « src/trusted/validator_arm/armv7.table ('k') | src/trusted/validator_arm/gen/arm32_decode_actuals_2.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698