Lines Matching refs:asm_emitter
144 def __init__(self, emitter, asm_emitter):
146 self.asm_emitter = asm_emitter
152 registers = self.asm_emitter.CreateRegisters()
156 self.asm_emitter.PushIndent(self.emitter.indent)
157 self.asm_emitter.EmitAsmBegin()
161 inputs = _GenerateInputs(self.asm_emitter, registers, lanes_count,
166 _GenerateClear(self.asm_emitter, 'i16', aggregators)
169 self.asm_emitter.EmitNewline()
170 self.asm_emitter.EmitComment('Reduce count by leftovers.')
171 self.asm_emitter.EmitSubs(count, count,
172 self.asm_emitter.ImmediateConstant(leftovers))
173 self.asm_emitter.EmitBeqFront(2)
175 self.asm_emitter.EmitNewline()
176 self.asm_emitter.EmitNumericalLabel(1)
177 self.asm_emitter.EmitSubs(count, count,
178 self.asm_emitter.ImmediateConstant(8))
180 _GenerateLoadAggregateStore(self.asm_emitter, registers, lanes_count, 8,
183 self.asm_emitter.EmitNewline()
184 self.asm_emitter.EmitBneBack(1)
187 self.asm_emitter.EmitNewline()
188 self.asm_emitter.EmitNumericalLabel(2)
189 _GenerateLoadAggregateStore(self.asm_emitter, registers, lanes_count,
196 self.asm_emitter, registers, aggregators, output)
199 self.asm_emitter, registers, aggregators, output)
201 self.asm_emitter.EmitAsmEnd(registers)
202 self.asm_emitter.PopIndent(len(self.emitter.indent))
233 def __init__(self, emitter, asm_emitter):
235 self.asm_emitter = asm_emitter
241 registers = self.asm_emitter.CreateRegisters()
246 self.asm_emitter.PushIndent(self.emitter.indent)
247 self.asm_emitter.EmitAsmBegin()
255 self.asm_emitter.EmitColBlockStride(lanes_count, stride, stride)
257 _GenerateClear(self.asm_emitter, 'i16', aggregators)
260 self.asm_emitter.EmitNewline()
261 self.asm_emitter.EmitComment('Reduce count by leftovers.')
262 self.asm_emitter.EmitSubs(count, count,
263 self.asm_emitter.ImmediateConstant(leftovers))
264 self.asm_emitter.EmitBeqFront(2)
266 self.asm_emitter.EmitNewline()
267 self.asm_emitter.EmitNumericalLabel(1)
268 self.asm_emitter.EmitSubs(count, count,
269 self.asm_emitter.ImmediateConstant(8))
271 _GenerateColLoadAggregateStore(self.asm_emitter, registers, lanes_count, 8,
275 self.asm_emitter.EmitNewline()
276 self.asm_emitter.EmitBneBack(1)
279 self.asm_emitter.EmitNewline()
280 self.asm_emitter.EmitNumericalLabel(2)
281 _GenerateColLoadAggregateStore(self.asm_emitter, registers, lanes_count,
287 self.asm_emitter, registers, aggregators, output_address)
289 self.asm_emitter.EmitAsmEnd(registers)
290 self.asm_emitter.PopIndent(len(self.emitter.indent))
293 def GenerateUInt8x8Streams(cc_emitter, asm_emitter, lanes_count):
294 row_major_with_sum = RowMajorWithSumUInt8x8(cc_emitter, asm_emitter)
295 column_major_with_sum = ColumnMajorWithSumUInt8x8(cc_emitter, asm_emitter)