/art/compiler/optimizing/ |
D | instruction_simplifier_riscv64.cc | 44 bool TryReplaceShiftAddWithOneInstruction(HShl* shl, HAdd* add) { in TryReplaceShiftAddWithOneInstruction() argument 47 if (shl->GetType() != DataType::Type::kInt64) { in TryReplaceShiftAddWithOneInstruction() 51 if (!shl->GetRight()->IsIntConstant()) { in TryReplaceShiftAddWithOneInstruction() 55 const int32_t distance = shl->GetRight()->AsIntConstant()->GetValue(); in TryReplaceShiftAddWithOneInstruction() 60 if (!shl->HasOnlyOneNonEnvironmentUse()) { in TryReplaceShiftAddWithOneInstruction() 64 auto* const add_other_input = add->GetLeft() == shl ? add->GetRight() : add->GetLeft(); in TryReplaceShiftAddWithOneInstruction() 66 HRiscv64ShiftAdd(shl->GetLeft(), add_other_input, distance); in TryReplaceShiftAddWithOneInstruction() 71 shl->GetBlock()->RemoveInstruction(shl); in TryReplaceShiftAddWithOneInstruction()
|
D | instruction_simplifier.cc | 62 bool ReplaceRotateWithRor(HBinaryOperation* op, HUShr* ushr, HShl* shl); 64 bool TryReplaceWithRotateConstantPattern(HBinaryOperation* op, HUShr* ushr, HShl* shl); 65 bool TryReplaceWithRotateRegisterNegPattern(HBinaryOperation* op, HUShr* ushr, HShl* shl); 66 bool TryReplaceWithRotateRegisterSubPattern(HBinaryOperation* op, HUShr* ushr, HShl* shl); 438 HShl *shl = shr_value->AsShl(); in TryReplaceShiftsByConstantWithTypeConversion() local 439 if (!shl->HasOnlyOneNonEnvironmentUse()) { in TryReplaceShiftsByConstantWithTypeConversion() 444 if (shl->GetRight() != shr_amount) { in TryReplaceShiftsByConstantWithTypeConversion() 456 HInstruction* shl_value = shl->GetLeft(); in TryReplaceShiftsByConstantWithTypeConversion() 469 shl->GetBlock()->RemoveInstruction(shl); in TryReplaceShiftsByConstantWithTypeConversion() 557 HShl* shl) { in ReplaceRotateWithRor() argument [all …]
|
D | instruction_simplifier_arm.cc | 280 HInstruction* shl = instruction->GetRight()->InputAt(0); in VisitSub() local 281 if (shl->InputAt(1)->IsConstant() && TryReplaceSubSubWithSubAdd(instruction)) { in VisitSub() 282 if (TryMergeIntoUsersShifterOperand(shl)) { in VisitSub()
|
D | instruction_simplifier_arm64.cc | 251 HInstruction* shl = instruction->GetRight()->InputAt(0); in VisitSub() local 252 if (shl->InputAt(1)->IsConstant() && TryReplaceSubSubWithSubAdd(instruction)) { in VisitSub() 253 if (TryMergeIntoUsersShifterOperand(shl)) { in VisitSub()
|
D | induction_var_analysis_test.cc | 291 HInstruction* shl = InsertInstruction( in TEST_F() local 300 EXPECT_STREQ("((2) * i + (0)):Int32", GetInductionInfo(shl, 0).c_str()); in TEST_F() 476 HInstruction* shl = InsertInstruction( in TEST_F() local 495 GetInductionInfo(shl, 0).c_str()); in TEST_F() 617 HInstruction* shl = InsertInstruction( in TEST_F() local 630 EXPECT_STREQ("", GetInductionInfo(shl, 0).c_str()); in TEST_F() 696 HInstruction* shl = InsertInstruction( in TEST_F() local 714 GetInductionInfo(shl, 0).c_str()); in TEST_F() 1021 HInstruction* shl = InsertInstruction( in TEST_F() local 1034 EXPECT_STREQ("periodic((2), (0)):Int32", GetInductionInfo(shl, 0).c_str()); in TEST_F()
|
D | bounds_check_elimination.cc | 1044 auto is_needed_shl = [](HShl* shl) { in TryToAssignRangeIfOptimizedRemWithConstantDivisor() argument 1045 return shl != nullptr && shl->GetRight()->IsConstant() && shl->GetLeft()->IsDiv(); in TryToAssignRangeIfOptimizedRemWithConstantDivisor() 1057 HShl* shl = add->GetRight()->AsShlOrNull(); in TryToAssignRangeIfOptimizedRemWithConstantDivisor() local 1058 if (!is_needed_shl(shl)) { in TryToAssignRangeIfOptimizedRemWithConstantDivisor() 1062 div = shl->GetLeft()->AsDiv(); in TryToAssignRangeIfOptimizedRemWithConstantDivisor() 1067 int32_t n = shl->GetRight()->AsIntConstant()->GetValue(); in TryToAssignRangeIfOptimizedRemWithConstantDivisor() 1074 HShl* shl = sub->GetLeft()->AsShlOrNull(); in TryToAssignRangeIfOptimizedRemWithConstantDivisor() local 1075 if (!is_needed_shl(shl)) { in TryToAssignRangeIfOptimizedRemWithConstantDivisor() 1079 div = shl->GetLeft()->AsDiv(); in TryToAssignRangeIfOptimizedRemWithConstantDivisor() 1084 int32_t n = shl->GetRight()->AsIntConstant()->GetValue(); in TryToAssignRangeIfOptimizedRemWithConstantDivisor()
|
D | code_generator_arm64.cc | 6370 void LocationsBuilderARM64::VisitShl(HShl* shl) { in VisitShl() argument 6371 HandleShift(shl); in VisitShl() 6374 void InstructionCodeGeneratorARM64::VisitShl(HShl* shl) { in VisitShl() argument 6375 HandleShift(shl); in VisitShl()
|
D | code_generator_x86_64.cc | 5077 void LocationsBuilderX86_64::VisitShl(HShl* shl) { in VisitShl() argument 5078 HandleShift(shl); in VisitShl() 5081 void InstructionCodeGeneratorX86_64::VisitShl(HShl* shl) { in VisitShl() argument 5082 HandleShift(shl); in VisitShl()
|
D | code_generator_x86.cc | 5143 void LocationsBuilderX86::VisitShl(HShl* shl) { in VisitShl() argument 5144 HandleShift(shl); in VisitShl() 5147 void InstructionCodeGeneratorX86::VisitShl(HShl* shl) { in VisitShl() argument 5148 HandleShift(shl); in VisitShl()
|
D | code_generator_arm_vixl.cc | 5636 void LocationsBuilderARMVIXL::VisitShl(HShl* shl) { in VisitShl() argument 5637 HandleShift(shl); in VisitShl() 5640 void InstructionCodeGeneratorARMVIXL::VisitShl(HShl* shl) { in VisitShl() argument 5641 HandleShift(shl); in VisitShl()
|
/art/test/685-shifts/smali/ |
D | Test.smali | 21 shl-long v0, p0, v2 42 shl-long v0, p0, v2
|
/art/test/467-regalloc-pair/smali/ |
D | TestCase.smali | 38 shl-long/2addr v4, v3
|
/art/test/593-checker-shift-and-simplifier/smali/ |
D | SmaliTests.smali | 53 shl-int/lit8 v3, v2, 0x2
|
/art/test/dexdump/ |
D | all.txt | 169 0004c0: 9800 0102 |0010: shl-int v0, v1, v2 180 0004ec: a300 0102 |0026: shl-long v0, v1, v2 217 000544: b810 |0008: shl-int/2addr v0, v1 228 00055a: c310 |0013: shl-long/2addr v0, v1 289 0005dc: e000 0112 |0010: shl-int/lit8 v0, v1, #int 18 // #12
|
D | checkers.txt | 1886 0029ee: e003 0501 |005f: shl-int/lit8 v3, v5, #int 1 // #01 1965 002aba: b820 |002d: shl-int/2addr v0, v2 1967 002abe: b831 |002f: shl-int/2addr v1, v3 1970 002ac4: b871 |0032: shl-int/2addr v1, v7 1972 002ac8: b864 |0034: shl-int/2addr v4, v6 2305 002ee4: e003 0003 |000e: shl-int/lit8 v3, v0, #int 3 // #03 2765 0033e6: e017 1603 |0011: shl-int/lit8 v23, v22, #int 3 // #03 3103 0038be: e007 0f01 |027d: shl-int/lit8 v7, v15, #int 1 // #01 5066 0053c2: e004 0403 |041d: shl-int/lit8 v4, v4, #int 3 // #03 5124 005498: e004 0405 |0488: shl-int/lit8 v4, v4, #int 5 // #05 [all …]
|
D | bytecodes.txt | 1463 001584: 9802 0809 |0036: shl-int v2, v8, v9 1509 0015d4: e00d 0d01 |0000: shl-int/lit8 v13, v13, #int 1 // #01 1512 0015e0: b8ed |0006: shl-int/2addr v13, v14 1522 001602: 9806 0e09 |0017: shl-int v6, v14, v9 1625 0016a4: a31c 1c16 |0002: shl-long v28, v28, v22 1633 0016c2: a31c 1c16 |0011: shl-long v28, v28, v22 1653 00170c: a30e 1e16 |0036: shl-long v14, v30, v22
|
D | all-dex-files.txt | 169 0004c0: 9800 0102 |0010: shl-int v0, v1, v2 180 0004ec: a300 0102 |0026: shl-long v0, v1, v2 217 000544: b810 |0008: shl-int/2addr v0, v1 228 00055a: c310 |0013: shl-long/2addr v0, v1 289 0005dc: e000 0112 |0010: shl-int/lit8 v0, v1, #int 18 // #12 2527 0029ee: e003 0501 |005f: shl-int/lit8 v3, v5, #int 1 // #01 2606 002aba: b820 |002d: shl-int/2addr v0, v2 2608 002abe: b831 |002f: shl-int/2addr v1, v3 2611 002ac4: b871 |0032: shl-int/2addr v1, v7 2613 002ac8: b864 |0034: shl-int/2addr v4, v6 [all …]
|
/art/runtime/interpreter/mterp/x86_64ng/ |
D | main.S | 912 jz 6f # shl sets the Z flag 1132 jz .Linvoke_fast_path_\suffix # shl sets the Z flag
|
/art/runtime/arch/x86/ |
D | memcmp16_x86.S | 52 shl $1, %ecx
|
D | quick_entrypoints_x86.S | 1424 shl %cl,%eax
|
/art/runtime/arch/x86_64/ |
D | memcmp16_x86_64.S | 47 shl $1, %rdx
|
/art/runtime/interpreter/mterp/x86ng/ |
D | main.S | 1124 jz .Linvoke_fast_path_\suffix # shl sets the Z flag
|