diff --git a/juno_samples/cava/src/cpu.sch b/juno_samples/cava/src/cpu.sch index 32e2b63b55c69e6e2c05cabc3221f3c8feff674b..16beceebbfc77a5ca229d0e3c514b77418ca8b75 100644 --- a/juno_samples/cava/src/cpu.sch +++ b/juno_samples/cava/src/cpu.sch @@ -105,17 +105,20 @@ fixpoint { fork-coalesce(fuse4); } simpl!(fuse4); -fork-unroll(fuse4@channel_loop); -simpl!(fuse4); -fixpoint { - fork-fusion(fuse4@channel_loop); + +if !feature("dont_fuse_gamut") { + fork-unroll(fuse4@channel_loop); + simpl!(fuse4); + fixpoint { + fork-fusion(fuse4@channel_loop); + } + simpl!(fuse4); + array-slf(fuse4); + simpl!(fuse4); } -simpl!(fuse4); -array-slf(fuse4); -simpl!(fuse4); if !feature("seq") { - let par = fuse4@image_loop \ fuse4@channel_loop; + let par = fuse4@image_loop \ fuse4@channel_loop \ fuse4@cp_loop; fork-tile[4, 1, false, false](par); fork-tile[8, 0, false, false](par); fork-interchange[1, 2](par);