Home
last modified time | relevance | path

Searched defs:instr (Results 1 – 25 of 491) sorted by relevance

12345678910>>...20

/external/vixl/src/aarch64/
Dcpu-features-auditor-aarch64.cc117 void CPUFeaturesAuditor::LoadStoreHelper(const Instruction* instr) { in LoadStoreHelper()
140 void CPUFeaturesAuditor::LoadStorePairHelper(const Instruction* instr) { in LoadStorePairHelper()
160 void CPUFeaturesAuditor::VisitAddSubExtended(const Instruction* instr) { in VisitAddSubExtended()
165 void CPUFeaturesAuditor::VisitAddSubImmediate(const Instruction* instr) { in VisitAddSubImmediate()
170 void CPUFeaturesAuditor::VisitAddSubShifted(const Instruction* instr) { in VisitAddSubShifted()
175 void CPUFeaturesAuditor::VisitAddSubWithCarry(const Instruction* instr) { in VisitAddSubWithCarry()
180 void CPUFeaturesAuditor::VisitRotateRightIntoFlags(const Instruction* instr) { in VisitRotateRightIntoFlags()
189 void CPUFeaturesAuditor::VisitEvaluateIntoFlags(const Instruction* instr) { in VisitEvaluateIntoFlags()
199 void CPUFeaturesAuditor::VisitAtomicMemory(const Instruction* instr) { in VisitAtomicMemory()
215 void CPUFeaturesAuditor::VisitBitfield(const Instruction* instr) { in VisitBitfield()
[all …]
Ddisasm-aarch64.cc703 void Disassembler::VisitAddSubImmediate(const Instruction *instr) { in VisitAddSubImmediate()
740 void Disassembler::VisitAddSubShifted(const Instruction *instr) { in VisitAddSubShifted()
777 void Disassembler::VisitAddSubExtended(const Instruction *instr) { in VisitAddSubExtended()
820 void Disassembler::VisitAddSubWithCarry(const Instruction *instr) { in VisitAddSubWithCarry()
860 void Disassembler::VisitRotateRightIntoFlags(const Instruction *instr) { in VisitRotateRightIntoFlags()
865 void Disassembler::VisitEvaluateIntoFlags(const Instruction *instr) { in VisitEvaluateIntoFlags()
870 void Disassembler::VisitLogicalImmediate(const Instruction *instr) { in VisitLogicalImmediate()
946 void Disassembler::VisitLogicalShifted(const Instruction *instr) { in VisitLogicalShifted()
981 void Disassembler::VisitConditionalCompareRegister(const Instruction *instr) { in VisitConditionalCompareRegister()
986 void Disassembler::VisitConditionalCompareImmediate(const Instruction *instr) { in VisitConditionalCompareImmediate()
[all …]
Dsimulator-aarch64.cc1977 void Simulator::Visit(Metadata* metadata, const Instruction* instr) { in Visit()
1990 void Simulator::Simulate_PdT_PgZ_ZnT_ZmT(const Instruction* instr) { in Simulate_PdT_PgZ_ZnT_ZmT()
2011 void Simulator::Simulate_PdT_Xn_Xm(const Instruction* instr) { in Simulate_PdT_Xn_Xm()
2042 void Simulator::Simulate_ZdB_Zn1B_Zn2B_imm(const Instruction* instr) { in Simulate_ZdB_Zn1B_Zn2B_imm()
2056 void Simulator::Simulate_ZdB_ZnB_ZmB(const Instruction* instr) { in Simulate_ZdB_ZnB_ZmB()
2082 void Simulator::SimulateSVEMulIndex(const Instruction* instr) { in SimulateSVEMulIndex()
2101 void Simulator::SimulateSVEMlaMlsIndex(const Instruction* instr) { in SimulateSVEMlaMlsIndex()
2125 void Simulator::SimulateSVESaturatingMulHighIndex(const Instruction* instr) { in SimulateSVESaturatingMulHighIndex()
2155 void Simulator::SimulateSVESaturatingIntMulLongIdx(const Instruction* instr) { in SimulateSVESaturatingIntMulLongIdx()
2238 void Simulator::Simulate_ZdH_PgM_ZnS(const Instruction* instr) { in Simulate_ZdH_PgM_ZnS()
[all …]
/external/mesa3d/src/gallium/drivers/etnaviv/
Detnaviv_disasm.c39 struct instr { struct
41 uint32_t opc : 6;
42 uint32_t cond : 5;
43 uint32_t sat : 1;
44 uint32_t dst_use : 1;
45 uint32_t dst_amode : 3;
46 uint32_t dst_reg : 7;
47 uint32_t dst_comps : 4;
48 uint32_t tex_id : 5;
51 uint32_t tex_amode : 3;
[all …]
/external/tensorflow/tensorflow/compiler/xla/service/gpu/
Dgpu_fusible.cc41 bool IfFusedReadsElementsMultipleTimes(const HloInstruction& instr) { in IfFusedReadsElementsMultipleTimes()
61 bool IsPhysicallyTransposing(const HloInstruction& instr) { in IsPhysicallyTransposing()
79 bool IsReduceInputFusion(const HloInstruction& instr) { in IsReduceInputFusion()
102 bool IsInputFusibleReduction(const HloInstruction& instr) { in IsInputFusibleReduction()
108 const HloInstruction& instr) { in GetRealHeroForMultiOutputFusion()
155 bool IsInputFusibleScatter(const HloInstruction& instr) { in IsInputFusibleScatter()
165 bool IsInputFusible(const HloInstruction& instr) { in IsInputFusible()
171 bool IsLoopFusible(const HloInstruction& instr) { in IsLoopFusible()
295 static int64_t SharedMemoryUsageNoCache(const HloInstruction& instr) { in SharedMemoryUsageNoCache()
325 static int64_t SharedMemoryUsage(const HloInstruction& instr, in SharedMemoryUsage()
[all …]
Dgpu_hlo_schedule.cc33 bool ShouldScheduleAsEarlyAsPossible(const HloInstruction& instr) { in ShouldScheduleAsEarlyAsPossible()
53 bool ShouldScheduleAsLateAsPossible(const HloInstruction& instr) { in ShouldScheduleAsLateAsPossible()
84 auto is_scheduled = [&](const HloInstruction* instr) -> bool { in PostprocessorToScheduleAsEarlyOrLateAsPossible()
87 auto add_to_schedule = [&](HloInstruction* instr) { in PostprocessorToScheduleAsEarlyOrLateAsPossible()
116 auto is_scheduled = [&](const HloInstruction* instr) -> bool { in PostprocessorToScheduleAsEarlyOrLateAsPossible()
119 auto add_to_schedule = [&](HloInstruction* instr) { in PostprocessorToScheduleAsEarlyOrLateAsPossible()
/external/mesa3d/src/gallium/drivers/lima/ir/gp/
Dinstr.c33 gpir_instr *instr = rzalloc(block, gpir_instr); in gpir_instr_create() local
52 static gpir_node *gpir_instr_get_the_other_acc_node(gpir_instr *instr, int slot) in gpir_instr_get_the_other_acc_node()
62 static bool gpir_instr_check_acc_same_op(gpir_instr *instr, gpir_node *node, int slot) in gpir_instr_check_acc_same_op()
75 static int gpir_instr_get_consume_slot(gpir_instr *instr, gpir_node *node) in gpir_instr_get_consume_slot()
90 static bool gpir_instr_insert_alu_check(gpir_instr *instr, gpir_node *node) in gpir_instr_insert_alu_check()
159 static void gpir_instr_remove_alu(gpir_instr *instr, gpir_node *node) in gpir_instr_remove_alu()
184 static bool gpir_instr_insert_reg0_check(gpir_instr *instr, gpir_node *node) in gpir_instr_insert_reg0_check()
208 static void gpir_instr_remove_reg0(gpir_instr *instr, gpir_node *node) in gpir_instr_remove_reg0()
215 static bool gpir_instr_insert_reg1_check(gpir_instr *instr, gpir_node *node) in gpir_instr_insert_reg1_check()
234 static void gpir_instr_remove_reg1(gpir_instr *instr, gpir_node *node) in gpir_instr_remove_reg1()
[all …]
Dcodegen.c86 static void gpir_codegen_mul0_slot(gpir_codegen_instr *code, gpir_instr *instr) in gpir_codegen_mul0_slot()
146 static void gpir_codegen_mul1_slot(gpir_codegen_instr *code, gpir_instr *instr) in gpir_codegen_mul1_slot()
198 static void gpir_codegen_add0_slot(gpir_codegen_instr *code, gpir_instr *instr) in gpir_codegen_add0_slot()
283 static void gpir_codegen_add1_slot(gpir_codegen_instr *code, gpir_instr *instr) in gpir_codegen_add1_slot()
368 static void gpir_codegen_complex_slot(gpir_codegen_instr *code, gpir_instr *instr) in gpir_codegen_complex_slot()
413 static void gpir_codegen_pass_slot(gpir_codegen_instr *code, gpir_instr *instr) in gpir_codegen_pass_slot()
458 static void gpir_codegen_reg0_slot(gpir_codegen_instr *code, gpir_instr *instr) in gpir_codegen_reg0_slot()
467 static void gpir_codegen_reg1_slot(gpir_codegen_instr *code, gpir_instr *instr) in gpir_codegen_reg1_slot()
475 static void gpir_codegen_mem_slot(gpir_codegen_instr *code, gpir_instr *instr) in gpir_codegen_mem_slot()
502 static void gpir_codegen_store_slot(gpir_codegen_instr *code, gpir_instr *instr) in gpir_codegen_store_slot()
[all …]
Ddisasm.c50 print_dest(gpir_codegen_instr *instr, gp_unit unit, unsigned cur_dest_index) in print_dest()
119 gpir_codegen_instr *instr, gpir_codegen_instr *prev_instr, in print_src()
247 print_mul(gpir_codegen_instr *instr, gpir_codegen_instr *prev_instr, in print_mul()
395 print_acc(gpir_codegen_instr *instr, gpir_codegen_instr *prev_instr, in print_acc()
471 print_pass(gpir_codegen_instr *instr, gpir_codegen_instr *prev_instr, in print_pass()
516 print_complex(gpir_codegen_instr *instr, gpir_codegen_instr *prev_instr, in print_complex()
561 print_instr(gpir_codegen_instr *instr, gpir_codegen_instr *prev_instr, in print_instr()
594 for (gpir_codegen_instr *instr = code; cur_instr < num_instr; in gpir_disassemble_program() local
/external/mesa3d/src/compiler/nir/
Dnir_search_helpers.h36 is_pos_power_of_two(UNUSED struct hash_table *ht, nir_alu_instr *instr, in is_pos_power_of_two()
68 is_neg_power_of_two(UNUSED struct hash_table *ht, nir_alu_instr *instr, in is_neg_power_of_two()
120 is_zero_to_one(UNUSED struct hash_table *ht, nir_alu_instr *instr, unsigned src, in is_zero_to_one()
151 is_gt_0_and_lt_1(UNUSED struct hash_table *ht, nir_alu_instr *instr, in is_gt_0_and_lt_1()
176 is_not_const_zero(UNUSED struct hash_table *ht, nir_alu_instr *instr, in is_not_const_zero()
205 is_not_const(UNUSED struct hash_table *ht, nir_alu_instr *instr, unsigned src, in is_not_const()
213 is_not_fmul(struct hash_table *ht, nir_alu_instr *instr, unsigned src, in is_not_fmul()
229 is_fmul(struct hash_table *ht, nir_alu_instr *instr, unsigned src, in is_fmul()
245 is_fsign(nir_alu_instr *instr, unsigned src, in is_fsign()
261 is_not_const_and_not_fsign(struct hash_table *ht, nir_alu_instr *instr, unsigned src, in is_not_const_and_not_fsign()
[all …]
Dnir.c300 void nir_dest_copy(nir_dest *dest, const nir_dest *src, nir_instr *instr) in nir_dest_copy()
319 nir_alu_instr *instr) in nir_alu_src_copy()
330 nir_alu_instr *instr) in nir_alu_dest_copy()
480 instr_init(nir_instr *instr, nir_instr_type type) in instr_init()
518 nir_alu_instr *instr = in nir_alu_instr_create() local
534 nir_deref_instr *instr = in nir_deref_instr_create() local
555 nir_jump_instr *instr = ralloc(shader, nir_jump_instr); in nir_jump_instr_create() local
568 nir_load_const_instr *instr = in nir_load_const_instr_create() local
582 nir_intrinsic_instr *instr = in nir_intrinsic_instr_create() local
602 nir_call_instr *instr = in nir_call_instr_create() local
[all …]
Dnir_opt_shrink_vectors.c68 opt_shrink_vectors_alu(nir_builder *b, nir_alu_instr *instr) in opt_shrink_vectors_alu()
113 opt_shrink_vectors_image_store(nir_builder *b, nir_intrinsic_instr *instr) in opt_shrink_vectors_image_store()
137 opt_shrink_vectors_intrinsic(nir_builder *b, nir_intrinsic_instr *instr) in opt_shrink_vectors_intrinsic()
200 opt_shrink_vectors_load_const(nir_load_const_instr *instr) in opt_shrink_vectors_load_const()
206 opt_shrink_vectors_ssa_undef(nir_ssa_undef_instr *instr) in opt_shrink_vectors_ssa_undef()
212 opt_shrink_vectors_instr(nir_builder *b, nir_instr *instr) in opt_shrink_vectors_instr()
/external/mesa3d/src/gallium/drivers/r600/sfn/
Dsfn_emitaluinstruction.cpp45 const nir_alu_instr& instr = *nir_instr_as_alu(ir); in do_emit() local
204 void EmitAluInstruction::preload_src(const nir_alu_instr& instr) in preload_src()
227 unsigned EmitAluInstruction::num_src_comp(const nir_alu_instr& instr) in num_src_comp()
265 void EmitAluInstruction::split_constants(const nir_alu_instr& instr, unsigned nsrc_comp) in split_constants()
309 bool EmitAluInstruction::emit_alu_inot(const nir_alu_instr& instr) in emit_alu_inot()
328 bool EmitAluInstruction::emit_alu_op1(const nir_alu_instr& instr, EAluOp opcode, in emit_alu_op1()
354 bool EmitAluInstruction::emit_mov(const nir_alu_instr& instr) in emit_mov()
373 bool EmitAluInstruction::emit_alu_trig_op1(const nir_alu_instr& instr, EAluOp opcode) in emit_alu_trig_op1()
424 bool EmitAluInstruction::emit_alu_trans_op1(const nir_alu_instr& instr, EAluOp opcode, in emit_alu_trans_op1()
458 bool EmitAluInstruction::emit_alu_f2i32_or_u32(const nir_alu_instr& instr, EAluOp op) in emit_alu_f2i32_or_u32()
[all …]
Dsfn_emittexinstruction.cpp38 bool EmitTexInstruction::do_emit(nir_instr* instr) in do_emit()
109 bool EmitTexInstruction::emit_cube_txf(UNUSED nir_tex_instr* instr, UNUSED TexInputs &src) in emit_cube_txf()
114 bool EmitTexInstruction::emit_cube_txd(nir_tex_instr* instr, TexInputs& tex_src) in emit_cube_txd()
186 bool EmitTexInstruction::emit_cube_txl(nir_tex_instr* instr, TexInputs& tex_src) in emit_cube_txl()
234 bool EmitTexInstruction::emit_cube_lod(nir_tex_instr* instr, TexInputs& src) in emit_cube_lod()
259 bool EmitTexInstruction::emit_cube_txb(nir_tex_instr* instr, TexInputs& tex_src) in emit_cube_txb()
307 bool EmitTexInstruction::emit_cube_tex(nir_tex_instr* instr, TexInputs& tex_src) in emit_cube_tex()
393 bool EmitTexInstruction::emit_buf_txf(nir_tex_instr* instr, TexInputs &src) in emit_buf_txf()
405 bool EmitTexInstruction::emit_tex_tex(nir_tex_instr* instr, TexInputs& src) in emit_tex_tex()
436 bool EmitTexInstruction::emit_tex_txd(nir_tex_instr* instr, TexInputs& src) in emit_tex_txd()
[all …]
Dsfn_shader_compute.cpp42 bool ComputeShaderFromNir::scan_sysvalue_access(UNUSED nir_instr *instr) in scan_sysvalue_access()
67 bool ComputeShaderFromNir::emit_intrinsic_instruction_override(nir_intrinsic_instr* instr) in emit_intrinsic_instruction_override()
81 bool ComputeShaderFromNir::emit_load_3vec(nir_intrinsic_instr* instr, in emit_load_3vec()
89 bool ComputeShaderFromNir::emit_load_num_work_groups(nir_intrinsic_instr* instr) in emit_load_num_work_groups()
119 UNUSED nir_intrinsic_instr* instr) in do_emit_load_deref()
125 UNUSED nir_intrinsic_instr* instr) in do_emit_store_deref()
Dsfn_shader_base.cpp90 bool ShaderFromNirProcessor::scan_instruction(nir_instr *instr) in scan_instruction()
298 void ShaderFromNirProcessor::add_array_deref(nir_deref_instr *instr) in add_array_deref()
310 void ShaderFromNirProcessor::set_var_address(nir_deref_instr *instr) in set_var_address()
362 bool ShaderFromNirProcessor::emit_tex_instruction(nir_instr* instr) in emit_tex_instruction()
415 bool ShaderFromNirProcessor::emit_jump_instruction(nir_jump_instr *instr) in emit_jump_instruction()
437 bool ShaderFromNirProcessor::emit_alu_instruction(nir_instr* instr) in emit_alu_instruction()
442 bool ShaderFromNirProcessor::emit_deref_instruction_override(UNUSED nir_deref_instr* instr) in emit_deref_instruction_override()
536 bool ShaderFromNirProcessor::emit_load_tcs_param_base(nir_intrinsic_instr* instr, int offset) in emit_load_tcs_param_base()
548 bool ShaderFromNirProcessor::emit_load_local_shared(nir_intrinsic_instr* instr) in emit_load_local_shared()
585 bool ShaderFromNirProcessor::emit_atomic_local_shared(nir_intrinsic_instr* instr) in emit_atomic_local_shared()
[all …]
/external/mesa3d/src/broadcom/qpu/
Dqpu_disasm.c60 const struct v3d_qpu_instr *instr, uint8_t mux) in v3d_qpu_disasm_raddr()
102 const struct v3d_qpu_instr *instr) in v3d_qpu_disasm_add()
139 const struct v3d_qpu_instr *instr) in v3d_qpu_disasm_mul()
182 const struct v3d_qpu_instr *instr) in v3d_qpu_disasm_sig_addr()
200 const struct v3d_qpu_instr *instr) in v3d_qpu_disasm_sig()
258 const struct v3d_qpu_instr *instr) in v3d_qpu_disasm_alu()
267 const struct v3d_qpu_instr *instr) in v3d_qpu_disasm_branch()
316 const struct v3d_qpu_instr *instr) in v3d_qpu_decode()
345 struct v3d_qpu_instr instr; in v3d_qpu_disasm() local
354 const struct v3d_qpu_instr *instr) in v3d_qpu_dump()
/external/strace/tests-m32/
Dprint_quoted_string.c13 print_quoted_string_ex(const char *instr, bool quote, const char *escape_chars) in print_quoted_string_ex()
19 print_quoted_string(const char *instr) in print_quoted_string()
25 print_quoted_cstring(const char *instr, const size_t size) in print_quoted_cstring()
37 print_quoted_stringn(const char *instr, const size_t size) in print_quoted_stringn()
72 print_quoted_memory_ex(const void *const instr, const size_t len, in print_quoted_memory_ex()
123 print_quoted_memory(const void *const instr, const size_t len) in print_quoted_memory()
129 print_quoted_hex(const void *const instr, const size_t len) in print_quoted_hex()
/external/strace/tests/
Dprint_quoted_string.c13 print_quoted_string_ex(const char *instr, bool quote, const char *escape_chars) in print_quoted_string_ex()
19 print_quoted_string(const char *instr) in print_quoted_string()
25 print_quoted_cstring(const char *instr, const size_t size) in print_quoted_cstring()
37 print_quoted_stringn(const char *instr, const size_t size) in print_quoted_stringn()
72 print_quoted_memory_ex(const void *const instr, const size_t len, in print_quoted_memory_ex()
123 print_quoted_memory(const void *const instr, const size_t len) in print_quoted_memory()
129 print_quoted_hex(const void *const instr, const size_t len) in print_quoted_hex()
/external/strace/tests-mx32/
Dprint_quoted_string.c13 print_quoted_string_ex(const char *instr, bool quote, const char *escape_chars) in print_quoted_string_ex()
19 print_quoted_string(const char *instr) in print_quoted_string()
25 print_quoted_cstring(const char *instr, const size_t size) in print_quoted_cstring()
37 print_quoted_stringn(const char *instr, const size_t size) in print_quoted_stringn()
72 print_quoted_memory_ex(const void *const instr, const size_t len, in print_quoted_memory_ex()
123 print_quoted_memory(const void *const instr, const size_t len) in print_quoted_memory()
129 print_quoted_hex(const void *const instr, const size_t len) in print_quoted_hex()
/external/mesa3d/src/freedreno/ir3/
Dir3_sched.c43 #define di(instr, fmt, ...) do { if (SCHED_DEBUG) { \ argument
106 struct ir3_instruction *instr; member
151 static bool is_scheduled(struct ir3_instruction *instr) in is_scheduled()
157 schedule(struct ir3_sched_ctx *ctx, struct ir3_instruction *instr) in schedule()
248 could_sched(struct ir3_instruction *instr, struct ir3_instruction *src) in could_sched()
264 struct ir3_instruction *instr) in check_instr()
381 nearest_use(struct ir3_instruction *instr) in nearest_use()
400 use_count(struct ir3_instruction *instr) in use_count()
411 live_effect(struct ir3_instruction *instr) in live_effect()
443 would_sync(struct ir3_sched_ctx *ctx, struct ir3_instruction *instr) in would_sync()
[all …]
Dir3.c132 static int emit_cat0(struct ir3_instruction *instr, void *ptr, in emit_cat0()
158 static int emit_cat1(struct ir3_instruction *instr, void *ptr, in emit_cat1()
203 static int emit_cat2(struct ir3_instruction *instr, void *ptr, in emit_cat2()
296 static int emit_cat3(struct ir3_instruction *instr, void *ptr, in emit_cat3()
398 static int emit_cat4(struct ir3_instruction *instr, void *ptr, in emit_cat4()
447 static int emit_cat5(struct ir3_instruction *instr, void *ptr, in emit_cat5()
537 static int emit_cat6_a6xx(struct ir3_instruction *instr, void *ptr, in emit_cat6_a6xx()
630 static int emit_cat6(struct ir3_instruction *instr, void *ptr, in emit_cat6()
895 static int emit_cat7(struct ir3_instruction *instr, void *ptr, in emit_cat7()
1016 struct ir3_instruction *instr) in insert_instr()
[all …]
/external/mesa3d/src/panfrost/util/
Dpan_sysval.c31 panfrost_sysval_for_ssbo(nir_intrinsic_instr *instr) in panfrost_sysval_for_ssbo()
41 panfrost_sysval_for_sampler(nir_intrinsic_instr *instr) in panfrost_sysval_for_sampler()
52 panfrost_nir_sysval_for_intrinsic(nir_intrinsic_instr *instr) in panfrost_nir_sysval_for_intrinsic()
72 panfrost_sysval_for_instr(nir_instr *instr, nir_dest *dest) in panfrost_sysval_for_instr()
108 panfrost_nir_assign_sysval_body(struct panfrost_sysvals *ctx, nir_instr *instr) in panfrost_nir_assign_sysval_body()
/external/mesa3d/src/gallium/drivers/freedreno/a2xx/
Dir2_nir.c253 struct ir2_instr *instr) in set_index()
272 struct ir2_instr *instr; in ir2_instr_create() local
331 struct ir2_instr *instr = ir2_instr_create(ctx, IR2_ALU); in instr_create_alu() local
346 struct ir2_instr *instr; in instr_create_alu_reg() local
363 struct ir2_instr *instr; in instr_create_alu_dest() local
373 struct ir2_instr *instr = ir2_instr_create(ctx, IR2_FETCH); in ir2_instr_create_fetch() local
384 struct ir2_instr *instr; in make_src_noconst() local
401 struct ir2_instr *instr; in emit_alu() local
488 struct ir2_instr *instr; in load_input() local
556 struct ir2_instr *instr; in store_output() local
[all …]
/external/mesa3d/src/broadcom/compiler/
Dv3d_nir_lower_robust_buffer_access.c29 nir_intrinsic_instr *instr, in rewrite_offset()
57 nir_intrinsic_instr *instr) in lower_load()
76 nir_intrinsic_instr *instr) in lower_store()
85 nir_intrinsic_instr *instr) in lower_atomic()
94 nir_intrinsic_instr *instr) in lower_shared()
105 lower_instr(struct v3d_compile *c, nir_builder *b, struct nir_instr *instr) in lower_instr()

12345678910>>...20