@@ -418,15 +418,8 @@ void Assembler::umaal(Register rd_lo,
418418 ASSERT (rd_hi != IP);
419419 ASSERT (rn != IP);
420420 ASSERT (rm != IP);
421- if (TargetCPUFeatures::arm_version () != ARMv5TE) {
422- // Assembler registers rd_lo, rd_hi, rn, rm are encoded as rd, rn, rm, rs.
423- EmitMulOp (AL, B22, rd_lo, rd_hi, rn, rm);
424- } else {
425- mov (IP, Operand (0 ));
426- umlal (rd_lo, IP, rn, rm);
427- adds (rd_lo, rd_lo, Operand (rd_hi));
428- adc (rd_hi, IP, Operand (0 ));
429- }
421+ // Assembler registers rd_lo, rd_hi, rn, rm are encoded as rd, rn, rm, rs.
422+ EmitMulOp (AL, B22, rd_lo, rd_hi, rn, rm);
430423}
431424
432425void Assembler::EmitDivOp (Condition cond,
@@ -493,12 +486,7 @@ void Assembler::ldrd(Register rd,
493486 Condition cond) {
494487 ASSERT ((rd % 2 ) == 0 );
495488 ASSERT (rd2 == rd + 1 );
496- if (TargetCPUFeatures::arm_version () == ARMv5TE) {
497- ldr (rd, Address (rn, offset), cond);
498- ldr (rd2, Address (rn, offset + target::kWordSize ), cond);
499- } else {
500- EmitMemOpAddressMode3 (cond, B7 | B6 | B4, rd, Address (rn, offset));
501- }
489+ EmitMemOpAddressMode3 (cond, B7 | B6 | B4, rd, Address (rn, offset));
502490}
503491
504492void Assembler::strd (Register rd,
@@ -508,12 +496,7 @@ void Assembler::strd(Register rd,
508496 Condition cond) {
509497 ASSERT ((rd % 2 ) == 0 );
510498 ASSERT (rd2 == rd + 1 );
511- if (TargetCPUFeatures::arm_version () == ARMv5TE) {
512- str (rd, Address (rn, offset), cond);
513- str (rd2, Address (rn, offset + target::kWordSize ), cond);
514- } else {
515- EmitMemOpAddressMode3 (cond, B7 | B6 | B5 | B4, rd, Address (rn, offset));
516- }
499+ EmitMemOpAddressMode3 (cond, B7 | B6 | B5 | B4, rd, Address (rn, offset));
517500}
518501
519502void Assembler::ldm (BlockAddressMode am,
@@ -533,7 +516,6 @@ void Assembler::stm(BlockAddressMode am,
533516}
534517
535518void Assembler::ldrex (Register rt, Register rn, Condition cond) {
536- ASSERT (TargetCPUFeatures::arm_version () != ARMv5TE);
537519 ASSERT (rn != kNoRegister );
538520 ASSERT (rt != kNoRegister );
539521 ASSERT (cond != kNoCondition );
@@ -545,7 +527,6 @@ void Assembler::ldrex(Register rt, Register rn, Condition cond) {
545527}
546528
547529void Assembler::strex (Register rd, Register rt, Register rn, Condition cond) {
548- ASSERT (TargetCPUFeatures::arm_version () != ARMv5TE);
549530 ASSERT (rn != kNoRegister );
550531 ASSERT (rd != kNoRegister );
551532 ASSERT (rt != kNoRegister );
@@ -562,7 +543,7 @@ void Assembler::EnterSafepoint(Register addr, Register state) {
562543 // We generate the same number of instructions whether or not the slow-path is
563544 // forced. This simplifies GenerateJitCallbackTrampolines.
564545 Label slow_path, done, retry;
565- if (FLAG_use_slow_path || TargetCPUFeatures::arm_version () == ARMv5TE ) {
546+ if (FLAG_use_slow_path) {
566547 b (&slow_path);
567548 }
568549
@@ -578,7 +559,7 @@ void Assembler::EnterSafepoint(Register addr, Register state) {
578559 cmp (TMP, Operand (0 )); // 0 means strex was successful.
579560 b (&done, EQ);
580561
581- if (!FLAG_use_slow_path && TargetCPUFeatures::arm_version () != ARMv5TE ) {
562+ if (!FLAG_use_slow_path) {
582563 b (&retry);
583564 }
584565
@@ -614,7 +595,7 @@ void Assembler::ExitSafepoint(Register addr, Register state) {
614595 // We generate the same number of instructions whether or not the slow-path is
615596 // forced, for consistency with EnterSafepoint.
616597 Label slow_path, done, retry;
617- if (FLAG_use_slow_path || TargetCPUFeatures::arm_version () == ARMv5TE ) {
598+ if (FLAG_use_slow_path) {
618599 b (&slow_path);
619600 }
620601
@@ -630,7 +611,7 @@ void Assembler::ExitSafepoint(Register addr, Register state) {
630611 cmp (TMP, Operand (0 )); // 0 means strex was successful.
631612 b (&done, EQ);
632613
633- if (!FLAG_use_slow_path && TargetCPUFeatures::arm_version () != ARMv5TE ) {
614+ if (!FLAG_use_slow_path) {
634615 b (&retry);
635616 }
636617
@@ -673,7 +654,6 @@ void Assembler::TransitionNativeToGenerated(Register addr,
673654}
674655
675656void Assembler::clrex () {
676- ASSERT (TargetCPUFeatures::arm_version () != ARMv5TE);
677657 int32_t encoding = (kSpecialCondition << kConditionShift ) | B26 | B24 | B22 |
678658 B21 | B20 | (0xff << 12 ) | B4 | 0xf ;
679659 Emit (encoding);
@@ -894,13 +874,13 @@ void Assembler::EmitMultiVDMemOp(Condition cond,
894874 ASSERT (cond != kNoCondition );
895875 ASSERT (start != kNoDRegister );
896876 ASSERT (static_cast <int32_t >(start) + count <= kNumberOfDRegisters );
897- const int armv5te = TargetCPUFeatures::arm_version () == ARMv5TE ? 1 : 0 ;
877+ const int notArmv5te = 0 ;
898878
899879 int32_t encoding =
900880 (static_cast <int32_t >(cond) << kConditionShift ) | B27 | B26 | B11 | B9 |
901881 B8 | am | (load ? L : 0 ) | ArmEncode::Rn (base) |
902882 ((static_cast <int32_t >(start) & 0x10 ) ? D : 0 ) |
903- ((static_cast <int32_t >(start) & 0xf ) << 12 ) | (count << 1 ) | armv5te ;
883+ ((static_cast <int32_t >(start) & 0xf ) << 12 ) | (count << 1 ) | notArmv5te ;
904884 Emit (encoding);
905885}
906886
@@ -2075,7 +2055,7 @@ class PatchFarBranch : public AssemblerFixup {
20752055
20762056 void Process (const MemoryRegion& region, intptr_t position) {
20772057 const ARMVersion version = TargetCPUFeatures::arm_version ();
2078- if (( version == ARMv5TE) || (version == ARMv6) ) {
2058+ if (version == ARMv6) {
20792059 ProcessARMv6 (region, position);
20802060 } else {
20812061 ASSERT (version == ARMv7);
@@ -2329,7 +2309,7 @@ void Assembler::BindARMv7(Label* label) {
23292309
23302310void Assembler::Bind (Label* label) {
23312311 const ARMVersion version = TargetCPUFeatures::arm_version ();
2332- if (( version == ARMv5TE) || (version == ARMv6) ) {
2312+ if (version == ARMv6) {
23332313 BindARMv6 (label);
23342314 } else {
23352315 ASSERT (version == ARMv7);
@@ -2788,7 +2768,7 @@ void Assembler::LoadPatchableImmediate(Register rd,
27882768 int32_t value,
27892769 Condition cond) {
27902770 const ARMVersion version = TargetCPUFeatures::arm_version ();
2791- if (( version == ARMv5TE) || (version == ARMv6) ) {
2771+ if (version == ARMv6) {
27922772 // This sequence is patched in a few places, and should remain fixed.
27932773 const uint32_t byte0 = (value & 0x000000ff );
27942774 const uint32_t byte1 = (value & 0x0000ff00 ) >> 8 ;
@@ -2811,7 +2791,7 @@ void Assembler::LoadDecodableImmediate(Register rd,
28112791 int32_t value,
28122792 Condition cond) {
28132793 const ARMVersion version = TargetCPUFeatures::arm_version ();
2814- if (( version == ARMv5TE) || (version == ARMv6) ) {
2794+ if (version == ARMv6) {
28152795 if (constant_pool_allowed ()) {
28162796 const int32_t offset =
28172797 target::ObjectPool::element_offset (FindImmediate (value));
0 commit comments