-Subproject commit b283b6c0439c6dbf2cf6e3b7bbe5381f35da9776
+Subproject commit d8d58a50a16d7f025bb7d18c1b8727c9131c467d
return len(a)
-def undef(v):
+def undefined(v):
""" function that, for Power spec purposes, returns undefined bits of
- the same shape as the input bits, however, for purposes of matching
- POWER9's behavior returns the input bits unchanged."""
+ the same shape as the input bits. however, for purposes of matching
+ POWER9's behavior returns the input bits unchanged. this effectively
+ "marks" (tags) locations in the v3.0B spec that need to be submitted
+ for clarification.
+ """
return v
# For these tests I tried to find power instructions that would let me
return ast.Assign([ast.AssTuple(ass_list)], right)
elif isinstance(left, ast.Subscript):
ls = left.slice
- if (isinstance(ls, ast.Slice) and isinstance(right, ast.Name) and
- right.id == 'undefined'):
- # undefined needs to be copied the exact same slice
- right = ast.Subscript(right, ls, ast.Load())
- return ast.Assign([left], right)
+ # XXX changing meaning of "undefined" to a function
+ #if (isinstance(ls, ast.Slice) and isinstance(right, ast.Name) and
+ # right.id == 'undefined'):
+ # # undefined needs to be copied the exact same slice
+ # right = ast.Subscript(right, ls, ast.Load())
+ # return ast.Assign([left], right)
res = ast.Assign([left], right)
if autoassign and isinstance(ls, ast.Slice):
# hack to create a variable pre-declared based on a slice.
from soc.decoder.helpers import (EXTS, EXTS64, EXTZ64, ROTL64, ROTL32, MASK,
ne, eq, gt, ge, lt, le, ltu, gtu, length,
trunc_divs, trunc_rems, MULS, DIVS, MODS,
- EXTS128, undef)
+ EXTS128, undefined)
from soc.decoder.selectable_int import SelectableInt
from soc.decoder.selectable_int import selectconcat as concat
from soc.decoder.orderedset import OrderedSet