Home
last modified time | relevance | path

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

12345678910>>...17

/arkcompiler/runtime_core/static_core/irtoc/scripts/
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 …]
Dstrings.irt47 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
65 dst_str_data1 := AddI(new_str).Imm(Constants::STRING_DATA_OFFSET).ptr
[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 …]
/arkcompiler/runtime_core/static_core/plugins/ets/irtoc_scripts/
Dstring_builder.irt43 n_digits2 := AddI(n_digits).Imm(1).u32
47 n_digits3 := AddI(n_digits).Imm(2).u32
51 n_digits4 := AddI(n_digits).Imm(3).u32
54 n_digits5 := AddI(n_digits).Imm(4).u32
72 offs := SubI(ShlI(n_digits).Imm(1).u32).Imm(2).u32
76 c := AddI(dig).Imm(0x0030).u16 # convert it to utf16 char
79 offs2 := SubI(offs1).Imm(2).u32 # decrease offset
87 StoreI(chars, minus).Imm(0).u16
97 StoreI(chars, true_code).Imm(0).u64
101 StoreI(chars, fals_code).Imm(0).u64
[all …]
Dtyped_arrays.irt57 buffer := LoadI(arr).Imm(Constants::TYPED_ARRAY_BUFFER_OFFSET).ref
58 bufferData := LoadI(buffer).Imm(Constants::ARRAY_BUFFER_DATA_OFFSET).ref
62 byteOffsetF64 := LoadI(arr).Imm(Constants::TYPED_ARRAY_BYTE_OFFSET_OFFSET).f64
64 arrayDataOffset := AddI(byteOffset).Imm(Constants::ARRAY_DATA_OFFSET).i32
65 offset0 := Add(arrayDataOffset, ShlI(startPos).Imm(scale).i32).i32
66 offsetEnd := Add(arrayDataOffset, ShlI(endPos).Imm(scale).i32).i32
74 offset1 := AddI(offset).Imm(1 << scale).i32
104 buffer := LoadI(arr).Imm(Constants::TYPED_UNSIGNED_ARRAY_BUFFER_OFFSET).ref
105 bufferData := LoadI(buffer).Imm(Constants::ARRAY_BUFFER_DATA_OFFSET).ref
109 byteOffset := LoadI(arr).Imm(Constants::TYPED_ARRAY_BYTE_OFFSET_OFFSET).i32
[all …]
Dstring.irt65 _data_size2 := Cast(ShlI(_char_count).Imm(1).u32).word
72 StoreI(_new_str1, ShlI(_char_count).Imm(1).u32).Imm(Constants::STRING_LENGTH_OFFSET).u32
76 …StoreI(_new_str1, OrI(ShlI(_char_count).Imm(1).u32).Imm(1).u32).Imm(Constants::STRING_LENGTH_OFFSE…
83 StoreI(_new_str2, ShlI(_char_count).Imm(1).u32).Imm(Constants::STRING_LENGTH_OFFSET).u32
97 IfImm(Compare(ch, 0x0020).EQ.b).Imm(0).NE.b {
101 IfImm(Compare(ch, 0x000E).AE.b).Imm(0).NE.b {
102 IfImm(Compare(ch, 0x00A0).B.b).Imm(0).NE.b {
111 IfImm(Compare(ch, 0x0009).B.b).Imm(0).NE.b {
114 IfImm(Compare(ch, 0x000D).BE.b).Imm(0).NE.b {
118 IfImm(Compare(ch, 0x00A0).EQ.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
78 method_flag = AndI(res_u64).Imm(0x1).u64
81 method_class := LoadI(res).Imm(Constants::METHOD_CLASS_OFFSET).ref
121 offset := LoadI(field).Imm(Constants::FIELD_OFFSET_OFFSET).u32
122 field_access_flags := LoadI(field).Imm(Constants::FIELD_ACCESS_FLAGS_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(ShrI(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/runtime_core/libabckit/tests/wrong_imm_tests/
Dwrong_imm_tests_IsaApiDynamicImpl_0.cpp36 // abc-kind=ArkTS1, category=negative-imm
43 // abc-kind=ArkTS1, category=negative-imm
51 // abc-kind=ArkTS1, category=negative-imm
59 // abc-kind=ArkTS1, category=negative-imm
67 // abc-kind=ArkTS1, category=negative-imm
75 // abc-kind=ArkTS1, category=negative-imm
83 // abc-kind=ArkTS1, category=negative-imm
91 // abc-kind=ArkTS1, category=negative-imm
98 // abc-kind=ArkTS1, category=negative-imm
105 // abc-kind=ArkTS1, category=negative-imm
[all …]
/arkcompiler/ets_runtime/ecmascript/compiler/assembler/aarch64/
Dassembler_aarch64.cpp24 LogicalImmediate LogicalImmediate::Create(uint64_t imm, int width) in Create() argument
26 if ((imm == 0ULL) || (imm == ~0ULL) || in Create()
27 … ((width != RegXSize) && (((imm >> width) != 0) || (imm == (~0ULL >> (RegXSize - width)))))) { in Create()
37 if ((imm & mask) != ((imm >> size) & mask)) { in Create()
47 imm &= mask; in Create()
49 if (IsShiftedMask_64(imm)) { in Create()
50 i = CountTrailingZeros64(imm); in Create()
52 cto = CountTrailingOnes64(imm >> i); in Create()
54 imm |= ~mask; in Create()
55 if (!IsShiftedMask_64(~imm)) { in Create()
[all …]
Dassembler_aarch64.h134 static LogicalImmediate Create(uint64_t imm, int width);
161 Operand(Immediate imm) in Operand() argument
163 shiftAmount_(0), immediate_(imm) in Operand()
312 void Mov(const Register &rd, const Immediate &imm);
314 void Movz(const Register &rd, uint64_t imm, int shift);
315 void Movk(const Register &rd, uint64_t imm, int shift);
316 void Movn(const Register &rd, uint64_t imm, int shift);
317 void Orr(const Register &rd, const Register &rn, const LogicalImmediate &imm);
321 void And(const Register &rd, const Register &rn, const LogicalImmediate &imm);
322 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/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/libabckit/src/codegen/templates_dynamic/
Dinsn_info.h.erb26 % def GetBitImmSize(imm)
27 % if (imm.eql? "IMM4")
29 % elsif (imm.eql? "IMM8")
31 % elsif (imm.eql? "IMM16")
33 % elsif (imm.eql? "IMM32")
35 % elsif (imm.eql? "IMM64")
49 % imms = instFormat.scan(/IMM\d+/)
54 % imms.each_with_index do |imm, idx|
56 return <%= GetBitImmSize(imm) %>;
62 LIBABCKIT_LOG(DEBUG) << "imm not found" << '\n';
/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/isa/
Disa.yaml416 - sig: getiterator imm:u16
421 - sig: closeiterator imm:u16, v:in:top
431 - sig: getasynciterator imm:u8
451 - sig: definefieldbyname imm:u8, string_id, v:in:top
456 - sig: definepropertybyname imm:u8, string_id, v:in:top
481 - sig: createemptyarray imm:u16
494 - sig: createobjectwithexcludedkeys imm:u8, v1:in:top, v2:in:top
499 - sig: wide.createobjectwithexcludedkeys imm:u16, v1:in:top, v2:in:top
505 - sig: createarraywithbuffer imm:u16, literalarray_id
510 - sig: deprecated.createarraywithbuffer imm:u16
[all …]
/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_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}
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}
/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 …]

12345678910>>...17