| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright 2012 The Native Client Authors. All rights reserved. | 2 * Copyright 2012 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 | 9 |
| 10 #include "native_client/src/trusted/validator_arm/gen/arm32_decode.h" | 10 #include "native_client/src/trusted/validator_arm/gen/arm32_decode.h" |
| (...skipping 290 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 301 // Catch any attempt to fall though ... | 301 // Catch any attempt to fall though ... |
| 302 return not_implemented_; | 302 return not_implemented_; |
| 303 } | 303 } |
| 304 | 304 |
| 305 // Implementation of table: data_processing_immediate. | 305 // Implementation of table: data_processing_immediate. |
| 306 // Specified by: See Section A5.2.3 | 306 // Specified by: See Section A5.2.3 |
| 307 const ClassDecoder& Arm32DecoderState::decode_data_processing_immediate( | 307 const ClassDecoder& Arm32DecoderState::decode_data_processing_immediate( |
| 308 const Instruction inst) const | 308 const Instruction inst) const |
| 309 { | 309 { |
| 310 UNREFERENCED_PARAMETER(inst); | 310 UNREFERENCED_PARAMETER(inst); |
| 311 if ((inst.Bits() & 0x01F00000) == 0x00400000 /* op(24:20)=00100 */ && | |
| 312 (inst.Bits() & 0x000F0000) == 0x000F0000 /* Rn(19:16)=1111 */) { | |
| 313 return Defs12To15_instance_; | |
| 314 } | |
| 315 | |
| 316 if ((inst.Bits() & 0x01F00000) == 0x00500000 /* op(24:20)=00101 */ && | |
| 317 (inst.Bits() & 0x000F0000) == 0x000F0000 /* Rn(19:16)=1111 */ && | |
| 318 (inst.Bits() & 0x0000F000) == 0x0000F000 /* $pattern(31:0)=xxxxxxxxxxxxxxx
x1111xxxxxxxxxxxx */) { | |
| 319 return Forbidden_instance_; | |
| 320 } | |
| 321 | |
| 322 if ((inst.Bits() & 0x01F00000) == 0x00800000 /* op(24:20)=01000 */ && | |
| 323 (inst.Bits() & 0x000F0000) == 0x000F0000 /* Rn(19:16)=1111 */) { | |
| 324 return Defs12To15_instance_; | |
| 325 } | |
| 326 | |
| 327 if ((inst.Bits() & 0x01F00000) == 0x00900000 /* op(24:20)=01001 */ && | |
| 328 (inst.Bits() & 0x000F0000) == 0x000F0000 /* Rn(19:16)=1111 */ && | |
| 329 (inst.Bits() & 0x0000F000) == 0x0000F000 /* $pattern(31:0)=xxxxxxxxxxxxxxx
x1111xxxxxxxxxxxx */) { | |
| 330 return Forbidden_instance_; | |
| 331 } | |
| 332 | |
| 333 if ((inst.Bits() & 0x01F00000) == 0x01100000 /* op(24:20)=10001 */ && | 311 if ((inst.Bits() & 0x01F00000) == 0x01100000 /* op(24:20)=10001 */ && |
| 334 (inst.Bits() & 0x0000F000) == 0x00000000 /* $pattern(31:0)=xxxxxxxxxxxxxxx
x0000xxxxxxxxxxxx */) { | 312 (inst.Bits() & 0x0000F000) == 0x00000000 /* $pattern(31:0)=xxxxxxxxxxxxxxx
x0000xxxxxxxxxxxx */) { |
| 335 return TestIfAddressMasked_instance_; | 313 return TestIfAddressMasked_instance_; |
| 336 } | 314 } |
| 337 | 315 |
| 338 if ((inst.Bits() & 0x01F00000) == 0x01500000 /* op(24:20)=10101 */ && | 316 if ((inst.Bits() & 0x01F00000) == 0x01500000 /* op(24:20)=10101 */ && |
| 339 (inst.Bits() & 0x0000F000) == 0x00000000 /* $pattern(31:0)=xxxxxxxxxxxxxxx
x0000xxxxxxxxxxxx */) { | 317 (inst.Bits() & 0x0000F000) == 0x00000000 /* $pattern(31:0)=xxxxxxxxxxxxxxx
x0000xxxxxxxxxxxx */) { |
| 340 return DontCareInst_instance_; | 318 return DontCareInst_instance_; |
| 341 } | 319 } |
| 342 | 320 |
| 343 if ((inst.Bits() & 0x01B00000) == 0x01300000 /* op(24:20)=10x11 */ && | 321 if ((inst.Bits() & 0x01B00000) == 0x01300000 /* op(24:20)=10x11 */ && |
| 344 (inst.Bits() & 0x0000F000) == 0x00000000 /* $pattern(31:0)=xxxxxxxxxxxxxxx
x0000xxxxxxxxxxxx */) { | 322 (inst.Bits() & 0x0000F000) == 0x00000000 /* $pattern(31:0)=xxxxxxxxxxxxxxx
x0000xxxxxxxxxxxx */) { |
| 345 return DontCareInst_instance_; | 323 return DontCareInst_instance_; |
| 346 } | 324 } |
| 347 | 325 |
| 348 if ((inst.Bits() & 0x01E00000) == 0x00400000 /* op(24:20)=0010x */ && | |
| 349 (inst.Bits() & 0x000F0000) != 0x000F0000 /* Rn(19:16)=~1111 */) { | |
| 350 return Defs12To15_instance_; | |
| 351 } | |
| 352 | |
| 353 if ((inst.Bits() & 0x01E00000) == 0x00800000 /* op(24:20)=0100x */ && | |
| 354 (inst.Bits() & 0x000F0000) != 0x000F0000 /* Rn(19:16)=~1111 */) { | |
| 355 return Defs12To15_instance_; | |
| 356 } | |
| 357 | |
| 358 if ((inst.Bits() & 0x01E00000) == 0x00A00000 /* op(24:20)=0101x */) { | |
| 359 return Defs12To15_instance_; | |
| 360 } | |
| 361 | |
| 362 if ((inst.Bits() & 0x01E00000) == 0x00C00000 /* op(24:20)=0110x */) { | |
| 363 return Defs12To15_instance_; | |
| 364 } | |
| 365 | |
| 366 if ((inst.Bits() & 0x01E00000) == 0x01800000 /* op(24:20)=1100x */) { | 326 if ((inst.Bits() & 0x01E00000) == 0x01800000 /* op(24:20)=1100x */) { |
| 367 return Defs12To15_instance_; | 327 return Defs12To15_instance_; |
| 368 } | 328 } |
| 369 | 329 |
| 370 if ((inst.Bits() & 0x01E00000) == 0x01C00000 /* op(24:20)=1110x */) { | 330 if ((inst.Bits() & 0x01E00000) == 0x01C00000 /* op(24:20)=1110x */) { |
| 371 return MaskAddress_instance_; | 331 return MaskAddress_instance_; |
| 372 } | 332 } |
| 373 | 333 |
| 374 if ((inst.Bits() & 0x01600000) == 0x00600000 /* op(24:20)=0x11x */) { | |
| 375 return Defs12To15_instance_; | |
| 376 } | |
| 377 | |
| 378 if ((inst.Bits() & 0x01A00000) == 0x01A00000 /* op(24:20)=11x1x */ && | 334 if ((inst.Bits() & 0x01A00000) == 0x01A00000 /* op(24:20)=11x1x */ && |
| 379 (inst.Bits() & 0x000F0000) == 0x00000000 /* $pattern(31:0)=xxxxxxxxxxxx000
0xxxxxxxxxxxxxxxx */) { | 335 (inst.Bits() & 0x000F0000) == 0x00000000 /* $pattern(31:0)=xxxxxxxxxxxx000
0xxxxxxxxxxxxxxxx */) { |
| 380 return Defs12To15_instance_; | 336 return Defs12To15_instance_; |
| 381 } | 337 } |
| 382 | 338 |
| 383 if ((inst.Bits() & 0x01C00000) == 0x00000000 /* op(24:20)=000xx */) { | 339 if ((inst.Bits() & 0x01000000) == 0x00000000 /* op(24:20)=0xxxx */) { |
| 384 return Defs12To15_instance_; | 340 return Defs12To15_instance_; |
| 385 } | 341 } |
| 386 | 342 |
| 387 // Catch any attempt to fall though ... | 343 // Catch any attempt to fall though ... |
| 388 return not_implemented_; | 344 return not_implemented_; |
| 389 } | 345 } |
| 390 | 346 |
| 391 // Implementation of table: data_processing_register. | 347 // Implementation of table: data_processing_register. |
| 392 // Specified by: See Section A5.2.1 | 348 // Specified by: See Section A5.2.1 |
| 393 const ClassDecoder& Arm32DecoderState::decode_data_processing_register( | 349 const ClassDecoder& Arm32DecoderState::decode_data_processing_register( |
| (...skipping 1206 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1600 | 1556 |
| 1601 // Catch any attempt to fall though ... | 1557 // Catch any attempt to fall though ... |
| 1602 return not_implemented_; | 1558 return not_implemented_; |
| 1603 } | 1559 } |
| 1604 | 1560 |
| 1605 const ClassDecoder& Arm32DecoderState::decode(const Instruction inst) const { | 1561 const ClassDecoder& Arm32DecoderState::decode(const Instruction inst) const { |
| 1606 return decode_ARMv7(inst); | 1562 return decode_ARMv7(inst); |
| 1607 } | 1563 } |
| 1608 | 1564 |
| 1609 } // namespace nacl_arm_dec | 1565 } // namespace nacl_arm_dec |
| OLD | NEW |