mirror of
https://github.com/tinygrad/tinygrad.git
synced 2026-04-07 03:00:26 -04:00
do not emit loop end code for global+local loops in assembly kernel (#1100)
This commit is contained in:
@@ -125,7 +125,7 @@ class AssemblyCodegen(Linearizer):
|
|||||||
ins.append(AssemblyInstruction(UOps.CONST, newreg(var, dtype=dtypes.int32, scalar=True), [], 0))
|
ins.append(AssemblyInstruction(UOps.CONST, newreg(var, dtype=dtypes.int32, scalar=True), [], 0))
|
||||||
ins.append(AssemblyInstruction(UOps.LABEL, None, [], "$loop_"+var.expr))
|
ins.append(AssemblyInstruction(UOps.LABEL, None, [], "$loop_"+var.expr))
|
||||||
elif uop == UOps.ENDLOOP:
|
elif uop == UOps.ENDLOOP:
|
||||||
if args[1] not in ["global", "local"]:
|
if args[1] not in ["global", "local", "global+local"]:
|
||||||
for var in reversed(args[0]):
|
for var in reversed(args[0]):
|
||||||
if not isinstance(var, NumNode): # TODO: why is this coming through?
|
if not isinstance(var, NumNode): # TODO: why is this coming through?
|
||||||
ins.append(AssemblyInstruction(UOps.ALU, tor[var], [tor[var], 1], BinaryOps.ADD))
|
ins.append(AssemblyInstruction(UOps.ALU, tor[var], [tor[var], 1], BinaryOps.ADD))
|
||||||
|
|||||||
Reference in New Issue
Block a user