MCPcopy
hub / github.com/tinygrad/tinygrad / test_switch

Method test_switch

test/null/test_viz.py:841–861  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

839 self.get_cfg("loop_break", k)
840
841 def test_switch(self):
842 k = Kernel()
843 k.label("entry")
844 k.emit(s_cmp_eq_i32(s[0], 0))
845 k.emit(s_cbranch_scc1(), target="case0")
846 k.emit(s_cmp_eq_i32(s[0], 1))
847 k.emit(s_cbranch_scc1(), target="case1")
848 k.emit(s_branch(), target="case2")
849 k.label("case0")
850 k.emit(s_nop(0))
851 k.emit(s_branch(), target="join")
852 k.label("case1")
853 k.emit(s_nop(1))
854 k.emit(s_branch(), target="join")
855 k.label("case2")
856 k.emit(s_nop(2))
857 k.emit(s_branch(), target="join")
858 k.label("join")
859 k.emit(s_endpgm())
860 k.emit(s_code_end())
861 self.get_cfg("switch_case", k)
862
863 def test_ping_pong(self):
864 k = Kernel()

Callers

nothing calls this directly

Calls 4

labelMethod · 0.95
emitMethod · 0.95
get_cfgMethod · 0.95
KernelClass · 0.90

Tested by

no test coverage detected