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

Side by Side Diff: src/trusted/validator_arm/gen/arm32_decode_actuals_2.cc

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 #include "native_client/src/trusted/validator_arm/inst_classes.h" 9 #include "native_client/src/trusted/validator_arm/inst_classes.h"
10 #include "native_client/src/trusted/validator_arm/gen/arm32_decode_actuals.h" 10 #include "native_client/src/trusted/validator_arm/gen/arm32_decode_actuals.h"
(...skipping 349 matching lines...) Expand 10 before | Expand all | Expand 10 after
360 RegisterList Actual_VADD_integer_111100100dssnnnndddd1000nqm0mmmm_case_1:: 360 RegisterList Actual_VADD_integer_111100100dssnnnndddd1000nqm0mmmm_case_1::
361 uses(Instruction inst) const { 361 uses(Instruction inst) const {
362 UNREFERENCED_PARAMETER(inst); // To silence compiler. 362 UNREFERENCED_PARAMETER(inst); // To silence compiler.
363 // uses: '{}' 363 // uses: '{}'
364 return RegisterList(); 364 return RegisterList();
365 } 365 }
366 366
367 // Actual_VBIC_immediate_1111001i1d000mmmddddcccc0q11mmmm_case_1 367 // Actual_VBIC_immediate_1111001i1d000mmmddddcccc0q11mmmm_case_1
368 // 368 //
369 // Actual: 369 // Actual:
370 // {safety: [inst(11:8)(0)=0 || 370 // {defs: {},
371 // safety: [inst(11:8)(0)=0 ||
371 // inst(11:8)(3:2)=11 => DECODER_ERROR, 372 // inst(11:8)(3:2)=11 => DECODER_ERROR,
372 // inst(6)=1 && 373 // inst(6)=1 &&
373 // inst(15:12)(0)=1 => UNDEFINED]} 374 // inst(15:12)(0)=1 => UNDEFINED],
375 // uses: {}}
376
377 RegisterList Actual_VBIC_immediate_1111001i1d000mmmddddcccc0q11mmmm_case_1::
378 defs(Instruction inst) const {
379 UNREFERENCED_PARAMETER(inst); // To silence compiler.
380 // defs: '{}'
381 return RegisterList();
382 }
374 383
375 SafetyLevel Actual_VBIC_immediate_1111001i1d000mmmddddcccc0q11mmmm_case_1:: 384 SafetyLevel Actual_VBIC_immediate_1111001i1d000mmmddddcccc0q11mmmm_case_1::
376 safety(Instruction inst) const { 385 safety(Instruction inst) const {
377 UNREFERENCED_PARAMETER(inst); // To silence compiler. 386 UNREFERENCED_PARAMETER(inst); // To silence compiler.
378 387
379 // inst(11:8)(0)=0 || 388 // inst(11:8)(0)=0 ||
380 // inst(11:8)(3:2)=11 => DECODER_ERROR 389 // inst(11:8)(3:2)=11 => DECODER_ERROR
381 if (((((inst.Bits() & 0x00000F00) >> 8) & 0x00000001) == 390 if (((((inst.Bits() & 0x00000F00) >> 8) & 0x00000001) ==
382 0x00000000) || 391 0x00000000) ||
383 ((((inst.Bits() & 0x00000F00) >> 8) & 0x0000000C) == 392 ((((inst.Bits() & 0x00000F00) >> 8) & 0x0000000C) ==
384 0x0000000C)) 393 0x0000000C))
385 return DECODER_ERROR; 394 return DECODER_ERROR;
386 395
387 // inst(6)=1 && 396 // inst(6)=1 &&
388 // inst(15:12)(0)=1 => UNDEFINED 397 // inst(15:12)(0)=1 => UNDEFINED
389 if (((inst.Bits() & 0x00000040) == 398 if (((inst.Bits() & 0x00000040) ==
390 0x00000040) && 399 0x00000040) &&
391 ((((inst.Bits() & 0x0000F000) >> 12) & 0x00000001) == 400 ((((inst.Bits() & 0x0000F000) >> 12) & 0x00000001) ==
392 0x00000001)) 401 0x00000001))
393 return UNDEFINED; 402 return UNDEFINED;
394 403
395 return MAY_BE_SAFE; 404 return MAY_BE_SAFE;
396 } 405 }
397 406
398 407
408 RegisterList Actual_VBIC_immediate_1111001i1d000mmmddddcccc0q11mmmm_case_1::
409 uses(Instruction inst) const {
410 UNREFERENCED_PARAMETER(inst); // To silence compiler.
411 // uses: '{}'
412 return RegisterList();
413 }
414
399 // Actual_VCNT_111100111d11ss00dddd01010qm0mmmm_case_1 415 // Actual_VCNT_111100111d11ss00dddd01010qm0mmmm_case_1
400 // 416 //
401 // Actual: 417 // Actual:
402 // {defs: {}, 418 // {defs: {},
403 // safety: [inst(19:18)=~00 => UNDEFINED, 419 // safety: [inst(19:18)=~00 => UNDEFINED,
404 // inst(6)=1 && 420 // inst(6)=1 &&
405 // (inst(15:12)(0)=1 || 421 // (inst(15:12)(0)=1 ||
406 // inst(3:0)(0)=1) => UNDEFINED], 422 // inst(3:0)(0)=1) => UNDEFINED],
407 // uses: {}} 423 // uses: {}}
408 424
(...skipping 2582 matching lines...) Expand 10 before | Expand all | Expand 10 after
2991 0x00100000 3007 0x00100000
2992 ? RegisterList() 3008 ? RegisterList()
2993 : RegisterList(). 3009 : RegisterList().
2994 Add(Register(((inst.Bits() & 0x0000F000) >> 12))). 3010 Add(Register(((inst.Bits() & 0x0000F000) >> 12))).
2995 Add(Register(((inst.Bits() & 0x000F0000) >> 16)))); 3011 Add(Register(((inst.Bits() & 0x000F0000) >> 16))));
2996 } 3012 }
2997 3013
2998 // Actual_VMOV_immediate_A1_1111001m1d000mmmddddcccc0qp1mmmm_case_1 3014 // Actual_VMOV_immediate_A1_1111001m1d000mmmddddcccc0qp1mmmm_case_1
2999 // 3015 //
3000 // Actual: 3016 // Actual:
3001 // {safety: [inst(5)=0 && 3017 // {defs: {},
3018 // safety: [inst(5)=0 &&
3002 // inst(11:8)(0)=1 && 3019 // inst(11:8)(0)=1 &&
3003 // inst(11:8)(3:2)=~11 => DECODER_ERROR, 3020 // inst(11:8)(3:2)=~11 => DECODER_ERROR,
3004 // inst(5)=1 && 3021 // inst(5)=1 &&
3005 // inst(11:8)=~1110 => DECODER_ERROR, 3022 // inst(11:8)=~1110 => DECODER_ERROR,
3006 // inst(6)=1 && 3023 // inst(6)=1 &&
3007 // inst(15:12)(0)=1 => UNDEFINED]} 3024 // inst(15:12)(0)=1 => UNDEFINED],
3025 // uses: {}}
3026
3027 RegisterList Actual_VMOV_immediate_A1_1111001m1d000mmmddddcccc0qp1mmmm_case_1::
3028 defs(Instruction inst) const {
3029 UNREFERENCED_PARAMETER(inst); // To silence compiler.
3030 // defs: '{}'
3031 return RegisterList();
3032 }
3008 3033
3009 SafetyLevel Actual_VMOV_immediate_A1_1111001m1d000mmmddddcccc0qp1mmmm_case_1:: 3034 SafetyLevel Actual_VMOV_immediate_A1_1111001m1d000mmmddddcccc0qp1mmmm_case_1::
3010 safety(Instruction inst) const { 3035 safety(Instruction inst) const {
3011 UNREFERENCED_PARAMETER(inst); // To silence compiler. 3036 UNREFERENCED_PARAMETER(inst); // To silence compiler.
3012 3037
3013 // inst(5)=0 && 3038 // inst(5)=0 &&
3014 // inst(11:8)(0)=1 && 3039 // inst(11:8)(0)=1 &&
3015 // inst(11:8)(3:2)=~11 => DECODER_ERROR 3040 // inst(11:8)(3:2)=~11 => DECODER_ERROR
3016 if (((inst.Bits() & 0x00000020) == 3041 if (((inst.Bits() & 0x00000020) ==
3017 0x00000000) && 3042 0x00000000) &&
(...skipping 16 matching lines...) Expand all
3034 if (((inst.Bits() & 0x00000040) == 3059 if (((inst.Bits() & 0x00000040) ==
3035 0x00000040) && 3060 0x00000040) &&
3036 ((((inst.Bits() & 0x0000F000) >> 12) & 0x00000001) == 3061 ((((inst.Bits() & 0x0000F000) >> 12) & 0x00000001) ==
3037 0x00000001)) 3062 0x00000001))
3038 return UNDEFINED; 3063 return UNDEFINED;
3039 3064
3040 return MAY_BE_SAFE; 3065 return MAY_BE_SAFE;
3041 } 3066 }
3042 3067
3043 3068
3069 RegisterList Actual_VMOV_immediate_A1_1111001m1d000mmmddddcccc0qp1mmmm_case_1::
3070 uses(Instruction inst) const {
3071 UNREFERENCED_PARAMETER(inst); // To silence compiler.
3072 // uses: '{}'
3073 return RegisterList();
3074 }
3075
3044 // Actual_VMRS_cccc111011110001tttt101000010000_case_1 3076 // Actual_VMRS_cccc111011110001tttt101000010000_case_1
3045 // 3077 //
3046 // Actual: 3078 // Actual:
3047 // {defs: {16 3079 // {defs: {16
3048 // if 15 == 3080 // if 15 ==
3049 // inst(15:12) 3081 // inst(15:12)
3050 // else inst(15:12)}} 3082 // else inst(15:12)}}
3051 3083
3052 RegisterList Actual_VMRS_cccc111011110001tttt101000010000_case_1:: 3084 RegisterList Actual_VMRS_cccc111011110001tttt101000010000_case_1::
3053 defs(Instruction inst) const { 3085 defs(Instruction inst) const {
(...skipping 150 matching lines...) Expand 10 before | Expand all | Expand 10 after
3204 RegisterList Actual_VMUL_polynomial_A1_1111001u0dssnnnndddd1001nqm1mmmm_case_1:: 3236 RegisterList Actual_VMUL_polynomial_A1_1111001u0dssnnnndddd1001nqm1mmmm_case_1::
3205 uses(Instruction inst) const { 3237 uses(Instruction inst) const {
3206 UNREFERENCED_PARAMETER(inst); // To silence compiler. 3238 UNREFERENCED_PARAMETER(inst); // To silence compiler.
3207 // uses: '{}' 3239 // uses: '{}'
3208 return RegisterList(); 3240 return RegisterList();
3209 } 3241 }
3210 3242
3211 // Actual_VMVN_immediate_1111001i1d000mmmddddcccc0q11mmmm_case_1 3243 // Actual_VMVN_immediate_1111001i1d000mmmddddcccc0q11mmmm_case_1
3212 // 3244 //
3213 // Actual: 3245 // Actual:
3214 // {safety: [(inst(11:8)(0)=1 && 3246 // {defs: {},
3247 // safety: [(inst(11:8)(0)=1 &&
3215 // inst(11:8)(3:2)=~11) || 3248 // inst(11:8)(3:2)=~11) ||
3216 // inst(11:8)(3:1)=111 => DECODER_ERROR, 3249 // inst(11:8)(3:1)=111 => DECODER_ERROR,
3217 // inst(6)=1 && 3250 // inst(6)=1 &&
3218 // inst(15:12)(0)=1 => UNDEFINED]} 3251 // inst(15:12)(0)=1 => UNDEFINED],
3252 // uses: {}}
3253
3254 RegisterList Actual_VMVN_immediate_1111001i1d000mmmddddcccc0q11mmmm_case_1::
3255 defs(Instruction inst) const {
3256 UNREFERENCED_PARAMETER(inst); // To silence compiler.
3257 // defs: '{}'
3258 return RegisterList();
3259 }
3219 3260
3220 SafetyLevel Actual_VMVN_immediate_1111001i1d000mmmddddcccc0q11mmmm_case_1:: 3261 SafetyLevel Actual_VMVN_immediate_1111001i1d000mmmddddcccc0q11mmmm_case_1::
3221 safety(Instruction inst) const { 3262 safety(Instruction inst) const {
3222 UNREFERENCED_PARAMETER(inst); // To silence compiler. 3263 UNREFERENCED_PARAMETER(inst); // To silence compiler.
3223 3264
3224 // (inst(11:8)(0)=1 && 3265 // (inst(11:8)(0)=1 &&
3225 // inst(11:8)(3:2)=~11) || 3266 // inst(11:8)(3:2)=~11) ||
3226 // inst(11:8)(3:1)=111 => DECODER_ERROR 3267 // inst(11:8)(3:1)=111 => DECODER_ERROR
3227 if (((((((inst.Bits() & 0x00000F00) >> 8) & 0x00000001) == 3268 if (((((((inst.Bits() & 0x00000F00) >> 8) & 0x00000001) ==
3228 0x00000001) && 3269 0x00000001) &&
3229 ((((inst.Bits() & 0x00000F00) >> 8) & 0x0000000C) != 3270 ((((inst.Bits() & 0x00000F00) >> 8) & 0x0000000C) !=
3230 0x0000000C))) || 3271 0x0000000C))) ||
3231 ((((inst.Bits() & 0x00000F00) >> 8) & 0x0000000E) == 3272 ((((inst.Bits() & 0x00000F00) >> 8) & 0x0000000E) ==
3232 0x0000000E)) 3273 0x0000000E))
3233 return DECODER_ERROR; 3274 return DECODER_ERROR;
3234 3275
3235 // inst(6)=1 && 3276 // inst(6)=1 &&
3236 // inst(15:12)(0)=1 => UNDEFINED 3277 // inst(15:12)(0)=1 => UNDEFINED
3237 if (((inst.Bits() & 0x00000040) == 3278 if (((inst.Bits() & 0x00000040) ==
3238 0x00000040) && 3279 0x00000040) &&
3239 ((((inst.Bits() & 0x0000F000) >> 12) & 0x00000001) == 3280 ((((inst.Bits() & 0x0000F000) >> 12) & 0x00000001) ==
3240 0x00000001)) 3281 0x00000001))
3241 return UNDEFINED; 3282 return UNDEFINED;
3242 3283
3243 return MAY_BE_SAFE; 3284 return MAY_BE_SAFE;
3244 } 3285 }
3245 3286
3246 3287
3288 RegisterList Actual_VMVN_immediate_1111001i1d000mmmddddcccc0q11mmmm_case_1::
3289 uses(Instruction inst) const {
3290 UNREFERENCED_PARAMETER(inst); // To silence compiler.
3291 // uses: '{}'
3292 return RegisterList();
3293 }
3294
3247 // Actual_VPADD_floating_point_111100110d0snnnndddd1101nqm0mmmm_case_1 3295 // Actual_VPADD_floating_point_111100110d0snnnndddd1101nqm0mmmm_case_1
3248 // 3296 //
3249 // Actual: 3297 // Actual:
3250 // {defs: {}, 3298 // {defs: {},
3251 // safety: [inst(21:20)(0)=1 || 3299 // safety: [inst(21:20)(0)=1 ||
3252 // inst(6)=1 => UNDEFINED], 3300 // inst(6)=1 => UNDEFINED],
3253 // uses: {}} 3301 // uses: {}}
3254 3302
3255 RegisterList Actual_VPADD_floating_point_111100110d0snnnndddd1101nqm0mmmm_case_1 :: 3303 RegisterList Actual_VPADD_floating_point_111100110d0snnnndddd1101nqm0mmmm_case_1 ::
3256 defs(Instruction inst) const { 3304 defs(Instruction inst) const {
(...skipping 1131 matching lines...) Expand 10 before | Expand all | Expand 10 after
4388 4436
4389 4437
4390 RegisterList Actual_VUZP_111100111d11ss10dddd00010qm0mmmm_case_1:: 4438 RegisterList Actual_VUZP_111100111d11ss10dddd00010qm0mmmm_case_1::
4391 uses(Instruction inst) const { 4439 uses(Instruction inst) const {
4392 UNREFERENCED_PARAMETER(inst); // To silence compiler. 4440 UNREFERENCED_PARAMETER(inst); // To silence compiler.
4393 // uses: '{}' 4441 // uses: '{}'
4394 return RegisterList(); 4442 return RegisterList();
4395 } 4443 }
4396 4444
4397 } // namespace nacl_arm_dec 4445 } // namespace nacl_arm_dec
OLDNEW
« no previous file with comments | « src/trusted/validator_arm/gen/arm32_decode_actuals_2.h ('k') | src/trusted/validator_arm/gen/arm32_decode_baselines_2.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698