| /arkcompiler/runtime_core/static_core/irtoc/scripts/ |
| D | memcopy.irt | 49 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 …]
|
| D | strings.irt | 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 65 dst_str_data1 := AddI(new_str).Imm(Constants::STRING_DATA_OFFSET).ptr [all …]
|
| D | string_builder.irt | 40 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 …]
|
| D | array_helpers.irt | 25 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 …]
|
| D | string_helpers.irt | 17 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 …]
|
| D | resolvers.irt | 28 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 …]
|
| D | gc.irt | 54 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 …]
|
| D | interpreter.irt | 149 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/ |
| D | string_builder.irt | 43 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 …]
|
| D | typed_arrays.irt | 57 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 …]
|
| D | string.irt | 65 _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 …]
|
| D | interpreter_handlers.irt | 20 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 …]
|
| D | to_string_cache.irt | 43 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/ |
| D | wrong_imm_tests_IsaApiDynamicImpl_0.cpp | 36 // 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/ |
| D | assembler_aarch64.cpp | 24 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 …]
|
| D | assembler_aarch64.h | 134 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/ |
| D | dangling_pointers_checker_test.cpp | 40 // 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/ |
| D | bytecode_encoder.h | 30 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/ |
| D | insn_info.h.erb | 26 % 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/ |
| D | bytecode_encoder.h | 30 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/ |
| D | isa.yaml | 416 - 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/ |
| D | memory_coalescing_test.cpp | 50 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/ |
| D | bridge_helpers_aarch64.rb | 14 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}
|
| D | bridge_helpers_arm.rb | 14 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/ |
| D | move_constants_test.cpp | 33 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 …]
|