Home
last modified time | relevance | path

Searched full:imm (Results 1 – 25 of 371) sorted by relevance

12345678910>>...15

/arkcompiler/runtime_core/static_core/irtoc/scripts/
Dstrings.irt46 klass := LoadI(str1).Imm(Constants::OBJECT_CLASS_OFFSET).ref
47 length1 := LoadI(str1).Imm(Constants::STRING_LENGTH_OFFSET).u32
48 length2 := LoadI(str2).Imm(Constants::STRING_LENGTH_OFFSET).u32
51 has_uncompressed := AndI(Or(length1, length2).u32).Imm(1).u32
53 count1 := ShrI(length1).Imm(1).u32
54 count2 := ShrI(length2).Imm(1).u32
58 length := Or(ShlI(size).Imm(1).u32, has_uncompressed).u32
61 StoreI(new_str, length).Imm(Constants::STRING_LENGTH_OFFSET).u32
62 StoreI(new_str, Cast(0).u32).Imm(Constants::STRING_HASHCODE_OFFSET).u32
64 src_str_data1 := AddI(str1).Imm(Constants::STRING_DATA_OFFSET).ptr
[all …]
Dmemcopy.irt49 IfImm(compare).Imm(0).NE.Unlikely.b {
69 IfImm(compare).Imm(0).NE.b {
80 IfImm(compare).Imm(0).NE.Unlikely.b {
89 buf1 := LoadI(src_data).Imm(0).u64
91 StoreI(dst_data, buf1).Imm(0).u64
97 first_buf0 := LoadI(src_data).Imm(0).u64
98 first_buf1 := LoadI(src_data).Imm(8).u64
99 first_buf2 := LoadI(src_data).Imm(16).u64
100 first_buf3 := LoadI(src_data).Imm(24).u64
101 first_buf4 := LoadI(src_data).Imm(32).u64
[all …]
Dstring_builder.irt40 value := LoadI(sb).Imm(Constants::SB_VALUE_OFFSET).ref
42 count := LoadI(sb).Imm(Constants::SB_COUNT_OFFSET).u32
43 size := LoadI(value).Imm(Constants::ARRAY_LENGTH_OFFSET).u32
55 buf := AddI(value).Imm(Constants::ARRAY_DATA_OFFSET).ptr
56 buf := Add(buf, ShlI(count).Imm(1).u32).ptr
59 IfImm(compare).Imm(0).NE.b {
61 StoreI(buf, v).Imm(0).u64
65 StoreI(buf, v).Imm(0).u64
66 StoreI(buf, v2).Imm(8).u16
69 StoreI(sb, new_count.u32).Imm(Constants::SB_COUNT_OFFSET).u32
[all …]
Darray_helpers.irt25 IfImm(Compare(len_bytes, 2).LT.b).Imm(0).NE.b {
27 tmp := LoadI(src_data).Imm(0).u8
28 StoreI(dst_data, tmp).Imm(0).u8
33 IfImm(Compare(len_bytes, 2).EQ.b).Imm(0).NE.b {
35 tmp := LoadI(src_data).Imm(0).u16
36 StoreI(dst_data, tmp).Imm(0).u16
40 IfImm(Compare(len_bytes, 4).LT.b).Imm(0).NE.b {
42 tmp2 := LoadI(src_data).Imm(0).u16
43 tmp1 := LoadI(src_data).Imm(2).u8
44 StoreI(dst_data, tmp2).Imm(0).u16
[all …]
Dstring_helpers.irt17 Xor(LoadI(ptr1).Imm(Constants::STRING_DATA_OFFSET + " + " + offset.to_s).u64,
18 LoadI(ptr2).Imm(Constants::STRING_DATA_OFFSET + " + " + offset.to_s).u64).u64
23 char_length := ShrI(length).Imm(length_shift).u64
24 not_compressed := AndI(length).Imm(1).u64
27 unpacked_length := ShrI(length).Imm(length_shift).u64
54 buf1 := LoadI(str1).Imm(Constants::STRING_DATA_OFFSET).u64
55 buf2 := LoadI(str2).Imm(Constants::STRING_DATA_OFFSET).u64
65 length := LoadI(str1).Imm(Constants::STRING_LENGTH_OFFSET).u32
68 last_buf_index := SubI(length).Imm(32).u64
71 first_ptr1 := AddI(str1).Imm(32).ptr
[all …]
Dresolvers.irt28 caller := LoadI(%fp).Imm("-WordSize()").ptr
29 …method_id := LoadI(method).Imm("cross_values::GetMethodCompiledEntryPointOffset(GetArch()) - WordS…
31 entry := LoadI(%tr).Imm(Constants::GET_CALLEE_METHOD).ptr
33 …StoreI(method, callee).Imm("cross_values::GetMethodCompiledEntryPointOffset(GetArch()) + WordSize(…
35 entry := LoadI(callee).Imm("cross_values::GetMethodCompiledEntryPointOffset(GetArch())").ptr
57 method_id := LoadI(slot).Imm("-WordSize()").ptr
59 caller := LoadI(%fp).Imm("-WordSize()").ptr
63 vtable_index := LoadI(method).Imm(Constants::GET_VTABLE_INDEX).u16
65 vtable_index := AddI(vtable_index).Imm(1).u32
67 StoreI(slot, vtable_index).Imm(0).u32
[all …]
Dgc.irt54 min_addr := LoadI(%tr).Imm(Constants::TLS_CARD_TABLE_MIN_ADDR_OFFSET).word
55 cards := LoadI(%tr).Imm(Constants::TLS_CARD_TABLE_ADDR_OFFSET).ptr
58 card_offset := ShrI(Sub(mem_word, min_addr).word).Imm(Constants::CARD_TABLE_CARD_BITS).word
60 StoreI(card, Constants::CARD_DIRTY_VALUE).Imm(Constants::CARD_VALUE_OFFSET).u8
87 If(ShrI(Xor(mem, obj1).ref_uint).Imm(Constants::REGION_SIZE_BIT).ref_uint, 0).EQ.Likely {
131 ref_addr_obj2 := AddI(ref_addr_obj1.ref_uint).Imm(Constants::REFERENCE_TYPE_SIZE).ref_uint
133 If(ShrI(Xor(mem, obj2).ref_uint).Imm(Constants::REGION_SIZE_BIT).ref_uint, 0).NE.Unlikely {
134 If(AndI(ref_addr_obj2).Imm(Constants::CARD_ALIGNMENT_MASK).ref_uint, 0).EQ.Unlikely {
148 If(ShrI(Xor(mem, obj1).ref_uint).Imm(Constants::REGION_SIZE_BIT).ref_uint, 0).EQ.Likely {
165 card_offset := ShrI(Sub(mem_word, min_addr).word).Imm(Constants::CARD_TABLE_CARD_BITS).word
[all …]
Dinterpreter.irt149 OrI(i32toi64(arg)).Imm("ark::coretypes::TaggedValue::TAG_INT").i64
159 LoadI(pc).Imm(offset).u8
164 imm := readbyte(pc, offset).u32
165 AndI(imm).Imm(0xf).u8
167 imm := readbyte(pc, offset).u8
168 AndI(imm).Imm(0xf).u8
174 imm := readbyte(pc, offset).i32
175 shl_imm := ShlI(imm).Imm(24).i32
176 i32toi8(AShrI(shl_imm).Imm(28).i32)
178 imm := readbyte(pc, offset).i8
[all …]
Dmonitors.irt36 …ntid := Cast(LoadI(%tr).Imm(Constants::INTERNAL_THREAD_ID_OFFSET).u32).SrcType("DataType::Type::UI…
40 locked_list_capacity := LoadI(%tr).Imm(Constants::LOCKED_OBJECTS_CAPACITY_OFFSET).u32
41 locked_list_size := LoadI(%tr).Imm(Constants::LOCKED_OBJECTS_SIZE_OFFSET).u32
46 mark_word := LoadI(monitor).Imm(Constants::MARK_WORD_OFFSET).mw
79 locked_objects_base := LoadI(%tr).Imm(Constants::LOCKED_OBJECTS_DATA_OFFSET).ptr
87 StoreI(locked_objects_addr, monitor).Imm(Constants::LOCKED_OBJECT_INFO_MONITOR_OFFSET).ptr
88 StoreI(locked_objects_addr, %fp).Imm(Constants::LOCKED_OBJECT_INFO_FRAME_OFFSET).ptr
92 StoreI(%tr, new_len).Imm(Constants::LOCKED_OBJECTS_SIZE_OFFSET).u32
114 …ntid := Cast(LoadI(%tr).Imm(Constants::INTERNAL_THREAD_ID_OFFSET).u32).SrcType("DataType::Type::UI…
120 mark_word := LoadI(monitor).Imm(Constants::MARK_WORD_OFFSET).mw
[all …]
Dallocation.irt53 tlab_ptr := LoadI(%tr).Imm(Constants::TLAB_OFFSET).ptr
56 start := LoadI(tlab_ptr).Imm(Constants::TLAB_CUR_FREE_POSITION_OFFSET).ptr
59 tls_end := LoadI(tlab_ptr).Imm(Constants::TLAB_MEMORY_END_ADDR_OFFSET).ptr
73 StoreI(start, klass).Imm(Constants::OBJECT_CLASS_OFFSET).ref
75 StoreI(addr, new_start).Imm(0).Volatile.ptr
111 tlab_ptr := LoadI(%tr).Imm(Constants::TLAB_OFFSET).ptr
114 start := LoadI(tlab_ptr).Imm(Constants::TLAB_CUR_FREE_POSITION_OFFSET).ptr
117 tls_end := LoadI(tlab_ptr).Imm(Constants::TLAB_MEMORY_END_ADDR_OFFSET).ptr
131 StoreI(start, klass).Imm(Constants::OBJECT_CLASS_OFFSET).ref
132 StoreI(start, elements_num).Imm(Constants::ARRAY_LENGTH_OFFSET).word
[all …]
/arkcompiler/runtime_core/static_core/plugins/ets/irtoc_scripts/
Dstring_builder.irt37 n_digits2 := AddI(n_digits).Imm(1).u32
41 n_digits3 := AddI(n_digits).Imm(2).u32
45 n_digits4 := AddI(n_digits).Imm(3).u32
48 n_digits5 := AddI(n_digits).Imm(4).u32
66 offs := SubI(ShlI(n_digits).Imm(1).u32).Imm(2).u32
70 c := AddI(dig).Imm(0x0030).u16 # convert it to utf16 char
73 offs2 := SubI(offs1).Imm(2).u32 # decrease offset
81 StoreI(chars, minus).Imm(0).u16
91 StoreI(chars, true_code).Imm(0).u64
95 StoreI(chars, fals_code).Imm(0).u64
[all …]
Dstring.irt30 _klass := LoadI(_str).Imm(Constants::OBJECT_CLASS_OFFSET).ref
46 _data_size2 := Cast(ShlI(_char_count).Imm(1).u32).word
53 StoreI(_new_str1, ShlI(_char_count).Imm(1).u32).Imm(Constants::STRING_LENGTH_OFFSET).u32
57 …StoreI(_new_str1, OrI(ShlI(_char_count).Imm(1).u32).Imm(1).u32).Imm(Constants::STRING_LENGTH_OFFSE…
64 StoreI(_new_str2, ShlI(_char_count).Imm(1).u32).Imm(Constants::STRING_LENGTH_OFFSET).u32
78 IfImm(Compare(ch, 0x0020).EQ.b).Imm(0).NE.b {
82 IfImm(Compare(ch, 0x000E).AE.b).Imm(0).NE.b {
83 IfImm(Compare(ch, 0x00A0).B.b).Imm(0).NE.b {
92 IfImm(Compare(ch, 0x0009).B.b).Imm(0).NE.b {
95 IfImm(Compare(ch, 0x000D).BE.b).Imm(0).NE.b {
[all …]
Dinterpreter_handlers.irt20 method_flag = AndI(res_u64).Imm(0x1).u64
23 field_class := LoadI(res).Imm(Constants::FIELD_CLASS_OFFSET).ref
39 method_flag = AndI(res_u64).Imm(0x1).u64
42 method_class := LoadI(res).Imm(Constants::METHOD_CLASS_OFFSET).ref
59 method_flag = AndI(res_u64).Imm(0x1).u64
62 method_class := LoadI(res).Imm(Constants::METHOD_CLASS_OFFSET).ref
103 offset := LoadI(field).Imm(Constants::FIELD_OFFSET_OFFSET).u32
104 field_access_flags := LoadI(field).Imm(Constants::FIELD_ACCESS_FLAGS_OFFSET).u32
105 field_type_id := ShrI(AndI(field_access_flags).Imm("ACC_TYPE").u32).Imm("ACC_TYPE_SHIFT").u32
124 offset := LoadI(field).Imm(Constants::FIELD_OFFSET_OFFSET).u32
[all …]
Dto_string_cache.irt43 hash := ShrI(hash).Imm(56).u64
45 elem_offset := AddI(ShlI(hash).Imm(2).u64).Imm(Constants::ARRAY_DATA_OFFSET).u64
47 IfImm(Compare(elem, 0).EQ.b).Imm(0).NE.Unlikely {
51 cachedData := LoadI(elem).Imm(Constants::ELEM_DATA_OFFSET).Volatile.u64
52 cachedNumber := LoadI(elem).Imm(Constants::ELEM_NUMBER_OFFSET).Volatile.f64
54 flag := Cast(ShlI(cachedData).Imm(32).u64).u32
59 IfImm(Compare(num, cachedNumber).NE.b).Imm(0).NE.Unlikely {
65 newFlag := LoadI(elem).Imm(Constants::ELEM_FLAG_OFFSET).u32
/arkcompiler/ets_runtime/ecmascript/compiler/assembler/aarch64/
Dassembler_aarch64.cpp28 LogicalImmediate LogicalImmediate::Create(uint64_t imm, int width) in Create() argument
30 if ((imm == 0ULL) || (imm == ~0ULL) || in Create()
31 … ((width != RegXSize) && (((imm >> width) != 0) || (imm == (~0ULL >> (RegXSize - width)))))) { in Create()
41 if ((imm & mask) != ((imm >> size) & mask)) { in Create()
51 imm &= mask; in Create()
53 if (IsShiftedMask_64(imm)) { in Create()
54 i = CountTrailingZeros64(imm); in Create()
56 cto = CountTrailingOnes64(imm >> i); in Create()
58 imm |= ~mask; in Create()
59 if (!IsShiftedMask_64(~imm)) { in Create()
[all …]
Dassembler_aarch64.h132 static LogicalImmediate Create(uint64_t imm, int width);
159 Operand(Immediate imm) in Operand() argument
161 shiftAmount_(0), immediate_(imm) in Operand()
310 void Mov(const Register &rd, const Immediate &imm);
312 void Movz(const Register &rd, uint64_t imm, int shift);
313 void Movk(const Register &rd, uint64_t imm, int shift);
314 void Movn(const Register &rd, uint64_t imm, int shift);
315 void Orr(const Register &rd, const Register &rn, const LogicalImmediate &imm);
319 void And(const Register &rd, const Register &rn, const LogicalImmediate &imm);
320 void Ands(const Register &rd, const Register &rn, const LogicalImmediate &imm);
[all …]
/arkcompiler/runtime_core/static_core/irtoc/backend/compiler/tests/
Ddangling_pointers_checker_test.cpp40 // correct_acc_load := LoadI(LiveIn(frame).ptr).Imm(frame_acc_offset).ref
42 // correct_acc_store := StoreI(LiveIn(frame).ptr, correct_acc_load).Imm(frame_acc_offset).ref
66 INST(5U, Opcode::LoadI).Inputs(0U).ref().Imm(frameAccOffset); in TEST_F()
67 INST(6U, Opcode::StoreI).ref().Inputs(0U, 5U).Imm(frameAccOffset); in TEST_F()
70 INST(30U, Opcode::AddI).Inputs(0U).ptr().Imm(frameAccOffset); in TEST_F()
71 INST(31U, Opcode::StoreI).u64().Inputs(30U, 2U).Imm(accTagOffset); in TEST_F()
85 // acc_ptr := AddI(LiveIn(frame).ptr).Imm(frame_acc_offset).ptr
86 // correct_acc_load := LoadI(acc_ptr).Imm(frame_acc_offset).ref
88 // correct_acc_store := StoreI(LiveIn(frame).ptr, correct_acc_load).Imm(frame_acc_offset).ref
114 INST(5U, Opcode::AddI).Inputs(0U).Imm(frameAccOffset).ptr(); in TEST_F()
[all …]
/arkcompiler/runtime_core/isa/
Disa.yaml394 - sig: getiterator imm:u16
399 - sig: closeiterator imm:u16, v:in:top
409 - sig: getasynciterator imm:u8
429 - sig: definefieldbyname imm:u8, string_id, v:in:top
434 - sig: definepropertybyname imm:u8, string_id, v:in:top
459 - sig: createemptyarray imm:u16
472 - sig: createobjectwithexcludedkeys imm:u8, v1:in:top, v2:in:top
476 - sig: wide.createobjectwithexcludedkeys imm:u16, v1:in:top, v2:in:top
481 - sig: createarraywithbuffer imm:u16, literalarray_id
486 - sig: deprecated.createarraywithbuffer imm:u16
[all …]
/arkcompiler/runtime_core/bytecode_optimizer/
Dbytecode_encoder.h30 static bool CanEncodeImmHelper(int64_t imm, uint32_t size, int64_t min, int64_t max) in CanEncodeImmHelper() argument
37 return imm >= min && imm <= max; in CanEncodeImmHelper()
40 …bool CanEncodeImmAddSubCmp(int64_t imm, uint32_t size, [[maybe_unused]] bool signed_compare) overr… in CanEncodeImmAddSubCmp() argument
42 return CanEncodeImmHelper(imm, size, INT8_MIN, INT8_MAX); in CanEncodeImmAddSubCmp()
45 bool CanEncodeImmMulDivMod(uint64_t imm, uint32_t size) override in CanEncodeImmMulDivMod() argument
47 return CanEncodeImmAddSubCmp(imm, size, false); in CanEncodeImmMulDivMod()
50 bool CanEncodeImmLogical(uint64_t imm, uint32_t size) override in CanEncodeImmLogical() argument
52 return CanEncodeImmHelper(imm, size, INT32_MIN, INT32_MAX); in CanEncodeImmLogical()
/arkcompiler/runtime_core/static_core/bytecode_optimizer/
Dbytecode_encoder.h30 static bool CanEncodeImmHelper(int64_t imm, uint32_t size, int64_t min, int64_t max) in CanEncodeImmHelper() argument
37 return imm >= min && imm <= max; in CanEncodeImmHelper()
40 …bool CanEncodeImmAddSubCmp(int64_t imm, uint32_t size, [[maybe_unused]] bool signedCompare) overri… in CanEncodeImmAddSubCmp() argument
42 return CanEncodeImmHelper(imm, size, INT8_MIN, INT8_MAX); in CanEncodeImmAddSubCmp()
45 bool CanEncodeImmMulDivMod(uint64_t imm, uint32_t size) override in CanEncodeImmMulDivMod() argument
47 return CanEncodeImmAddSubCmp(imm, size, false); in CanEncodeImmMulDivMod()
50 bool CanEncodeImmLogical(uint64_t imm, uint32_t size) override in CanEncodeImmLogical() argument
52 return CanEncodeImmHelper(imm, size, INT32_MIN, INT32_MAX); in CanEncodeImmLogical()
/arkcompiler/runtime_core/static_core/compiler/tests/
Dmemory_coalescing_test.cpp50 INST(225U, Opcode::LoadArrayI).s64().Inputs(42U).Imm(0x0U); in TEST_F()
51 INST(227U, Opcode::LoadArrayI).s64().Inputs(42U).Imm(0x1U); in TEST_F()
54 INST(229U, Opcode::StoreArrayI).s64().Inputs(42U, 51U).Imm(0x0U); in TEST_F()
55 INST(230U, Opcode::StoreArrayI).s64().Inputs(42U, 51U).Imm(0x1U); in TEST_F()
69 INST(231U, Opcode::LoadArrayPairI).s64().Inputs(42U).Imm(0x0U); in TEST_F()
70 INST(232U, Opcode::LoadPairPart).s64().Inputs(231U).Imm(0x0U); in TEST_F()
71 INST(233U, Opcode::LoadPairPart).s64().Inputs(231U).Imm(0x1U); in TEST_F()
74 INST(234U, Opcode::StoreArrayPairI).s64().Inputs(42U, 51U, 51U).Imm(0x0U); in TEST_F()
99 INST(63U, Opcode::AddI).s32().Inputs(9U).Imm(0x1U); in SRC_GRAPH()
103 INST(64U, Opcode::AddI).s32().Inputs(9U).Imm(0x2U); in SRC_GRAPH()
[all …]
/arkcompiler/runtime_core/static_core/runtime/templates/
Dbridge_helpers_arm.rb14 def cmp_opcode(imm) argument
15 if imm <= 255
16 return "cmp r6, ##{imm}"
18 # We need to save imm to temporary register before cmp,
20 return "mov r9, ##{imm}
Dbridge_helpers_aarch64.rb14 def cmp_opcode(imm) argument
15 if imm <= 4095
16 return "cmp w5, ##{imm}"
18 # We need to save imm to temporary register before cmp,
20 return "mov w13, ##{imm}
/arkcompiler/runtime_core/compiler/tests/
Dmove_constants_test.cpp33 INST(2, Opcode::IfImm).CC(CC_GE).Imm(5).Inputs(0); in TEST_F()
38 INST(3, Opcode::ReturnI).u64().Imm(0); in TEST_F()
43 INST(4, Opcode::IfImm).CC(CC_LE).Imm(10).Inputs(0); in TEST_F()
63 INST(2, Opcode::IfImm).CC(CC_GE).Imm(5).Inputs(0); in TEST_F()
68 INST(3, Opcode::ReturnI).u64().Imm(0); in TEST_F()
74 INST(4, Opcode::IfImm).CC(CC_LE).Imm(10).Inputs(0); in TEST_F()
104 INST(2, Opcode::IfImm).CC(CC_GE).Imm(5).Inputs(0); in TEST_F()
109 INST(3, Opcode::ReturnI).u64().Imm(0); in TEST_F()
114 INST(4, Opcode::IfImm).CC(CC_LE).Imm(10).Inputs(0); in TEST_F()
136 INST(2, Opcode::IfImm).CC(CC_GE).Imm(5).Inputs(0); in TEST_F()
[all …]
/arkcompiler/runtime_core/static_core/compiler/optimizer/code_generator/
Dcodegen_native.cpp69 InsertTrace(Imm(static_cast<size_t>(TraceId::METHOD_ENTER)), method_reg, in GeneratePrologue()
70 Imm(static_cast<size_t>(events::MethodEnterKind::COMPILED))); in GeneratePrologue()
72 InsertTrace(Imm(static_cast<size_t>(TraceId::METHOD_ENTER)), in GeneratePrologue()
73 Imm(reinterpret_cast<size_t>(GetGraph()->GetMethod())), in GeneratePrologue()
74 Imm(static_cast<size_t>(events::MethodEnterKind::COMPILED))); in GeneratePrologue()
89 InsertTrace(Imm(static_cast<size_t>(TraceId::METHOD_EXIT)), method_reg, in GenerateEpilogue()
90 Imm(static_cast<size_t>(events::MethodExitKind::COMPILED))); in GenerateEpilogue()
92 InsertTrace(Imm(static_cast<size_t>(TraceId::METHOD_EXIT)), in GenerateEpilogue()
93 Imm(reinterpret_cast<size_t>(GetGraph()->GetMethod())), in GenerateEpilogue()
94 Imm(static_cast<size_t>(events::MethodExitKind::COMPILED))); in GenerateEpilogue()

12345678910>>...15