8e497643f473af5765f4f89fd13fed05f3093dde
1 # SPDX-License-Identifier: LGPL-2.1-or-later
2 # See Notices.txt for copyright information
5 Copyright (C) 2021 Luke Kenneth Casson Leighton <lkcl@lkcl.net>
7 dynamically-partitionable "assign" class, directly equivalent
12 * http://libre-riscv.org/3d_gpu/architecture/dynamic_simd/assign
13 * http://bugs.libre-riscv.org/show_bug.cgi?id=709
19 modcount
= 0 # global for now
20 def PAssign(m
, val
, assign
, mask
):
21 from ieee754
.part_ass
.assign
import PartitionedAssign
# recursion issue
24 pc
= PartitionedAssign(val
.shape(), assign
, mask
)
25 setattr(m
.submodules
, "pass%d" % modcount
, pc
)
26 return val
.lower().eq(pc
.output
.lower())