/art/runtime/interpreter/mterp/mips/ |
H A D | op_shl_long_2addr.S | 2 * 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 D | op_shr_long_2addr.S | 2 * 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 D | op_ushr_long_2addr.S | 2 * 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 D | op_shl_long.S | 2 * 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 D | op_shr_long.S | 2 * 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 D | op_ushr_long.S | 2 * 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 D | op_aget.S | 1 %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 D | op_aput.S | 1 %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 D | code_generator_utils.h | 26 // 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 D | code_generator_utils.cc | 25 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 D | nodes_arm64.h | 27 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 D | bitmap-inl.h | 89 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 D | space_bitmap-inl.h | 110 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 D | space_bitmap.cc | 122 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 D | op_aget.S | 1 %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 D | op_aput.S | 1 %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 D | op_const_4.S | 5 sra a0, a0, 12 # shift B into its final position
|
/art/tools/dexfuzz/src/dexfuzz/rawdex/ |
H A D | DexRandomAccessFile.java | 99 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 D | op_aget.S | 1 %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 D | op_aput.S | 1 %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 D | op_aget.S | 1 %default { "load":"movl", "shift":"4", "data_offset":"MIRROR_INT_ARRAY_DATA_OFFSET" } 17 $load $data_offset(%eax,%ecx,$shift), %eax
|
H A D | op_aput.S | 1 %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 D | op_aget.S | 1 %default { "load":"movl", "shift":"4", "data_offset":"MIRROR_INT_ARRAY_DATA_OFFSET", "wide":"0" } 21 $load $data_offset(%rax,%rcx,$shift), %eax
|
H A D | op_aput.S | 1 %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 D | assembler_arm32_test.cc | 40 // 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...] |