thumb.isa (7117:5d18ca349ca1) thumb.isa (7121:bcd0a07000ed)
1// -*- mode:c++ -*-
2
3// Copyright (c) 2010 ARM Limited
4// All rights reserved
5//
6// The license below extends only to copyright in the software and shall
7// not be construed as granting a license to any other intellectual
8// property including but not limited to intellectual property relating

--- 405 unchanged lines hidden (view full) ---

414 0x5: WarnUnimpl::strh(); // immediate, thumb
415 0x6: WarnUnimpl::str(); // immediate, thumb
416 }
417 0x1: WarnUnimpl::Advanced_SIMD_or_structure_load_store();
418 }
419 0x1: decode HTOPCODE_6_5 {
420 0x0: WarnUnimpl::Load_byte_memory_hints();
421 0x1: WarnUnimpl::Load_halfword_memory_hints();
1// -*- mode:c++ -*-
2
3// Copyright (c) 2010 ARM Limited
4// All rights reserved
5//
6// The license below extends only to copyright in the software and shall
7// not be construed as granting a license to any other intellectual
8// property including but not limited to intellectual property relating

--- 405 unchanged lines hidden (view full) ---

414 0x5: WarnUnimpl::strh(); // immediate, thumb
415 0x6: WarnUnimpl::str(); // immediate, thumb
416 }
417 0x1: WarnUnimpl::Advanced_SIMD_or_structure_load_store();
418 }
419 0x1: decode HTOPCODE_6_5 {
420 0x0: WarnUnimpl::Load_byte_memory_hints();
421 0x1: WarnUnimpl::Load_halfword_memory_hints();
422 0x2: decode HTOPCODE_8 {
423 0x0: decode HTRN {
424 0xf: ArmLoadMemory::ldr1(
425 {{ Rd.uw = Mem.uw }},
426 {{ EA = roundUp(PC, 4) +
427 (UP ? IMMED_11_0 : -IMMED_11_0); }});
428 default: decode HTOPCODE_7 {
429 0x0: decode LTOPCODE_11_8 {
430 0x0: decode LTOPCODE_7_6 {
431 0x0: ArmLoadMemory::ldr2(
432 {{ Rd = Mem; }},
433 {{ EA = Rn +
434 (Rm <<
435 bits(machInst, 5, 4)); }}
436 );
437 }
438 0x9: ArmLoadMemory::ldr3(
439 {{ Rd = Mem;
440 Rn = Rn - IMMED_11_0; }},
441 {{ EA = Rn; }}
442 );
443 0xb: ArmLoadMemory::ldr4(
444 {{ Rd = Mem;
445 Rn = Rn + IMMED_11_0; }},
446 {{ EA = Rn; }}
447 );
448 0xc: ArmLoadMemory::ldr5(
449 {{ Rd = Mem; }},
450 {{ EA = Rn - IMMED_11_0; }}
451 );
452 0xd: ArmLoadMemory::ldr6(
453 {{ Rd = Mem;
454 Rn = Rn - IMMED_11_0; }},
455 {{ EA = Rn - IMMED_11_0; }}
456 );
457 0xf: ArmLoadMemory::ldr7(
458 {{ Rd = Mem;
459 Rn = Rn + IMMED_11_0; }},
460 {{ EA = Rn + IMMED_11_0; }}
461 );
462 0xe: ArmLoadMemory::ldrt(
463 {{ Rd = Mem; }},
464 {{ EA = Rn + IMMED_11_0; }}
465 ); // This should force user level access
466 }
467 0x1: ArmLoadMemory::ldr8(
468 {{ Rd = Mem; }},
469 {{ EA = Rn + IMMED_11_0; }}
470 );
471 }
472 }
473 }
422 0x2: Thumb32LoadWord::thumb32LoadWord();
474 0x3: WarnUnimpl::undefined();
475 }
476 }
477 0x1: decode HTOPCODE_8_7 {
478 0x2: WarnUnimpl::Multiply_multiply_accumulate_and_absolute_difference();
479 0x3: WarnUnimpl::Long_multiply_long_multiply_accumulate_and_divide();
480 default: WarnUnimpl::Data_processing_register();
481 }

--- 42 unchanged lines hidden ---
423 0x3: WarnUnimpl::undefined();
424 }
425 }
426 0x1: decode HTOPCODE_8_7 {
427 0x2: WarnUnimpl::Multiply_multiply_accumulate_and_absolute_difference();
428 0x3: WarnUnimpl::Long_multiply_long_multiply_accumulate_and_divide();
429 default: WarnUnimpl::Data_processing_register();
430 }

--- 42 unchanged lines hidden ---