Searched refs:shift (Results 1 - 25 of 51) sorted by relevance

123

/art/runtime/interpreter/mterp/mips/
H A Dop_shl_long_2addr.S2 * Long integer shift, 2addr version. vA is 64-bit value/result, vB is
3 * 32-bit shift distance.
15 andi v1, a2, 0x20 # shift< shift & 0x20
16 sll v0, a0, a2 # rlo<- alo << (shift&31)
18 not v1, a2 # rhi<- 31-shift (shift is 5b)
20 srl a0, v1 # alo<- alo >> (32-(shift&31))
21 sll v1, a1, a2 # rhi<- ahi << (shift&31)
H A Dop_shr_long_2addr.S2 * Long integer shift, 2addr version. vA is 64-bit value/result, vB is
3 * 32-bit shift distance.
14 andi v0, a2, 0x20 # shift & 0x20
15 sra v1, a1, a2 # rhi<- ahi >> (shift&31)
17 srl v0, a0, a2 # rlo<- alo >> (shift&31)
18 not a0, a2 # alo<- 31-shift (shift is 5b)
20 sll a1, a0 # ahi<- ahi << (32-(shift&31))
H A Dop_ushr_long_2addr.S2 * Long integer shift, 2addr version. vA is 64-bit value/result, vB is
3 * 32-bit shift distance.
15 andi v0, a2, 0x20 # shift & 0x20
16 srl v1, a1, a2 # rhi<- ahi >> (shift&31)
18 srl v0, a0, a2 # rlo<- alo >> (shift&31)
19 not a0, a2 # alo<- 31-n (shift is 5b)
21 sll a1, a0 # ahi<- ahi << (32-(shift&31))
H A Dop_shl_long.S2 * Long integer shift. This is different from the generic 32/64-bit
3 * binary operations because vAA/vBB are 64-bit but vCC (the shift
5 * 6 bits of the shift distance.
19 andi v1, a2, 0x20 # shift< shift & 0x20
20 sll v0, a0, a2 # rlo<- alo << (shift&31)
22 not v1, a2 # rhi<- 31-shift (shift is 5b)
24 srl a0, v1 # alo<- alo >> (32-(shift&31))
25 sll v1, a1, a2 # rhi<- ahi << (shift
[all...]
H A Dop_shr_long.S2 * Long integer shift. This is different from the generic 32/64-bit
3 * binary operations because vAA/vBB are 64-bit but vCC (the shift
5 * 6 bits of the shift distance.
18 andi v0, a2, 0x20 # shift & 0x20
19 sra v1, a1, a2 # rhi<- ahi >> (shift&31)
21 srl v0, a0, a2 # rlo<- alo >> (shift&31)
22 not a0, a2 # alo<- 31-shift (shift is 5b)
24 sll a1, a0 # ahi<- ahi << (32-(shift&31))
H A Dop_ushr_long.S2 * Long integer shift. This is different from the generic 32/64-bit
3 * binary operations because vAA/vBB are 64-bit but vCC (the shift
5 * 6 bits of the shift distance.
19 andi v0, a2, 0x20 # shift & 0x20
20 srl v1, a1, a2 # rhi<- ahi >> (shift&31)
22 srl v0, a0, a2 # rlo<- alo >> (shift&31)
23 not a0, a2 # alo<- 31-n (shift is 5b)
25 sll a1, a0 # ahi<- ahi << (32-(shift&31))
H A Dop_aget.S1 %default { "load":"lw", "shift":"2", "data_offset":"MIRROR_INT_ARRAY_DATA_OFFSET" }
5 * Note: using the usual FETCH/and/shift stuff, this fits in exactly 17
22 .if $shift
23 EASN(a0, a0, a1, $shift) # a0 <- arrayObj + index*width
H A Dop_aput.S1 %default { "store":"sw", "shift":"2", "data_offset":"MIRROR_INT_ARRAY_DATA_OFFSET" }
20 .if $shift
21 EASN(a0, a0, a1, $shift) # a0 <- arrayObj + index*width
/art/compiler/optimizing/
H A Dcode_generator_utils.h26 // Computes the magic number and the shift needed in the div/rem by constant algorithm, as out
27 // arguments `magic` and `shift`
28 void CalculateMagicAndShiftForDivRem(int64_t divisor, bool is_long, int64_t* magic, int* shift);
H A Dcode_generator_utils.cc25 int64_t* magic, int* shift) {
26 // It does not make sense to calculate magic and shift for zero divisor.
32 * The magic number M and shift S can be calculated in the following way:
41 * So the shift p is the smallest p satisfying
50 * (resp. 64 - p) as the shift number S.
95 *shift = is_long ? p - 64 : p - 32;
24 CalculateMagicAndShiftForDivRem(int64_t divisor, bool is_long, int64_t* magic, int* shift) argument
H A Dnodes_arm64.h27 kLSL, // Logical shift left.
28 kLSR, // Logical shift right.
29 kASR, // Arithmetic shift right.
47 // The shift argument is unused if the operation
49 int shift = 0,
52 instr_kind_(instr->GetKind()), op_kind_(op), shift_amount_(shift) {
74 // Find the operation kind and shift amount from a bitfield move instruction.
/art/runtime/gc/accounting/
H A Dbitmap-inl.h89 const size_t shift = CTZ(left_edge); local
90 visitor(ptr_base + shift);
91 left_edge ^= static_cast<uintptr_t>(1) << shift;
101 const size_t shift = CTZ(w); local
102 visitor(ptr_base + shift);
103 w ^= static_cast<uintptr_t>(1) << shift;
125 const size_t shift = CTZ(right_edge); local
126 visitor(ptr_base + shift);
127 right_edge ^= (static_cast<uintptr_t>(1)) << shift;
H A Dspace_bitmap-inl.h110 const size_t shift = CTZ(left_edge); local
111 mirror::Object* obj = reinterpret_cast<mirror::Object*>(ptr_base + shift * kAlignment);
113 left_edge ^= (static_cast<uintptr_t>(1)) << shift;
123 const size_t shift = CTZ(w); local
124 mirror::Object* obj = reinterpret_cast<mirror::Object*>(ptr_base + shift * kAlignment);
126 w ^= (static_cast<uintptr_t>(1)) << shift;
149 const size_t shift = CTZ(right_edge); local
150 mirror::Object* obj = reinterpret_cast<mirror::Object*>(ptr_base + shift * kAlignment);
152 right_edge ^= (static_cast<uintptr_t>(1)) << shift;
H A Dspace_bitmap.cc122 const size_t shift = CTZ(w); local
123 mirror::Object* obj = reinterpret_cast<mirror::Object*>(ptr_base + shift * kAlignment);
125 w ^= (static_cast<uintptr_t>(1)) << shift;
170 const size_t shift = CTZ(garbage); local
171 garbage ^= (static_cast<uintptr_t>(1)) << shift;
172 *pb++ = reinterpret_cast<mirror::Object*>(ptr_base + shift * kAlignment);
253 // Need uint for unsigned shift.
258 const size_t shift = CTZ(w); local
259 mirror::Object* obj = reinterpret_cast<mirror::Object*>(ptr_base + shift * kAlignment);
261 w ^= (static_cast<uintptr_t>(1)) << shift;
[all...]
/art/runtime/interpreter/mterp/mips64/
H A Dop_aget.S1 %default { "load":"lw", "shift":"2", "data_offset":"MIRROR_INT_ARRAY_DATA_OFFSET" }
18 .if $shift
19 # [d]lsa does not support shift count of 0.
20 dlsa a0, a1, a0, $shift # a0 <- arrayObj + index*width
H A Dop_aput.S1 %default { "store":"sw", "shift":"2", "data_offset":"MIRROR_INT_ARRAY_DATA_OFFSET" }
18 .if $shift
19 # [d]lsa does not support shift count of 0.
20 dlsa a0, a1, a0, $shift # a0 <- arrayObj + index*width
H A Dop_const_4.S5 sra a0, a0, 12 # shift B into its final position
/art/tools/dexfuzz/src/dexfuzz/rawdex/
H A DDexRandomAccessFile.java99 int shift = 0;
106 value |= ((rawByte & 0x7f) << shift);
107 shift += 7;
179 int shift = 0;
187 value |= ((rawByte & 0x7f) << shift);
188 shift += 7;
213 int upperOnes = ~((1 << shift) - 1);
/art/runtime/interpreter/mterp/arm64/
H A Dop_aget.S1 %default { "load":"ldr", "shift":"2", "data_offset":"MIRROR_INT_ARRAY_DATA_OFFSET" }
5 * Note: using the usual FETCH/and/shift stuff, this fits in exactly 17
21 add x0, x0, w1, uxtw #$shift // w0<- arrayObj + index*width
H A Dop_aput.S1 %default { "store":"str", "shift":"2", "data_offset":"MIRROR_INT_ARRAY_DATA_OFFSET" }
5 * Note: using the usual FETCH/and/shift stuff, this fits in exactly 17
21 add x0, x0, w1, lsl #$shift // w0<- arrayObj + index*width
/art/runtime/interpreter/mterp/x86/
H A Dop_aget.S1 %default { "load":"movl", "shift":"4", "data_offset":"MIRROR_INT_ARRAY_DATA_OFFSET" }
17 $load $data_offset(%eax,%ecx,$shift), %eax
H A Dop_aput.S1 %default { "reg":"rINST", "store":"movl", "shift":"4", "data_offset":"MIRROR_INT_ARRAY_DATA_OFFSET" }
17 leal $data_offset(%eax,%ecx,$shift), %eax
/art/runtime/interpreter/mterp/x86_64/
H A Dop_aget.S1 %default { "load":"movl", "shift":"4", "data_offset":"MIRROR_INT_ARRAY_DATA_OFFSET", "wide":"0" }
21 $load $data_offset(%rax,%rcx,$shift), %eax
H A Dop_aput.S1 %default { "reg":"rINST", "store":"movl", "shift":"4", "data_offset":"MIRROR_INT_ARRAY_DATA_OFFSET", "wide":"0" }
22 $store $reg, $data_offset(%rax,%rcx,$shift)
/art/compiler/utils/arm/
H A Dassembler_arm32_test.cc40 // To speed up tests, don't use all shift immediates.
173 // ShifterOperands of form "reg shift-type imm."
174 for (arm::Shift shift : shifts) {
179 if (shift != arm::Shift::RRX) {
182 shifter_operands_.push_back(arm::ShifterOperand(*reg, shift, imm));
185 shifter_operands_.push_back(arm::ShifterOperand(*reg, shift, 1));
186 shifter_operands_.push_back(arm::ShifterOperand(*reg, shift, 2));
187 shifter_operands_.push_back(arm::ShifterOperand(*reg, shift, 3));
188 shifter_operands_.push_back(arm::ShifterOperand(*reg, shift, 7));
189 shifter_operands_.push_back(arm::ShifterOperand(*reg, shift, 1
[all...]

Completed in 171 milliseconds

123