summaryrefslogtreecommitdiff
path: root/parse-opcodes
diff options
context:
space:
mode:
authorGravatar Andrew Waterman <waterman@cs.berkeley.edu>2015-09-08 16:47:04 -0700
committerGravatar Andrew Waterman <waterman@cs.berkeley.edu>2015-09-08 16:47:04 -0700
commit17997b79bb9fc98a0d3465db4f883f3793725bbd (patch)
tree2957dfc09b6c876afc111214f20d4c6fb174e191 /parse-opcodes
parent04056f9087e131a8c46167ce5f257abd73c2c137 (diff)
update to latest RVC proposal
Diffstat (limited to 'parse-opcodes')
-rwxr-xr-xparse-opcodes7
1 files changed, 5 insertions, 2 deletions
diff --git a/parse-opcodes b/parse-opcodes
index b6a2430..790b9e4 100755
--- a/parse-opcodes
+++ b/parse-opcodes
@@ -7,6 +7,7 @@ import tokenize
namelist = []
match = {}
mask = {}
+pseudos = {}
arguments = {}
arglut = {}
@@ -819,9 +820,11 @@ for line in sys.stdin:
if not (cover == 0xFFFFFFFF or cover == 0xFFFF):
sys.exit("%s: not all bits are covered" % name)
- if not pseudo:
+ if pseudo:
+ pseudos[name] = 1
+ else:
for name2,match2 in match.iteritems():
- if (match2 & mymask) == mymatch:
+ if name2 not in pseudos and (match2 & mymask) == mymatch:
sys.exit("%s and %s overlap" % (name,name2))
mask[name] = mymask