diff -r 21cd4b673577 -r d9ad3acac741 src/arch/isa_parser.py --- a/src/arch/isa_parser.py Wed Jun 29 04:05:26 2011 -0700 +++ b/src/arch/isa_parser.py Wed Jun 29 04:05:27 2011 -0700 @@ -1321,13 +1321,12 @@ def p_def_operand_types(self, t): 'def_operand_types : DEF OPERAND_TYPES CODELIT SEMI' try: - user_dict = eval('{' + t[3] + '}') + self.operandTypeMap = eval('{' + t[3] + '}') except Exception, exc: if debug: raise error(t, 'error: %s in def operand_types block "%s".' % (exc, t[3])) - self.buildOperandTypeMap(user_dict, t.lexer.lineno) t[0] = GenCode(self) # contributes nothing to the output C++ file # Define the mapping from operand names to operand classes and @@ -1788,36 +1787,6 @@ return re.sub(r'%(?!\()', '%%', s) - def buildOperandTypeMap(self, user_dict, lineno): - """Generate operandTypeMap from the user's 'def operand_types' - statement.""" - operand_type = {} - for (ext, val) in user_dict.iteritems(): - ctype = '' - if isinstance(val, (list, tuple)): - (desc, size) = val - if desc == 'signed int': - ctype = 'int%d_t' % size - elif desc == 'unsigned int': - ctype = 'uint%d_t' % size - elif desc == 'float': - if size == 32: - ctype = 'float' - elif size == 64: - ctype = 'double' - elif desc == 'twin64 int': - ctype = 'Twin64_t' - elif desc == 'twin32 int': - ctype = 'Twin32_t' - if ctype == '': - error(self, lineno, - 'Unrecognized type description "%s" in user_dict') - else: - ctype = val - operand_type[ext] = ctype - - self.operandTypeMap = operand_type - def buildOperandNameMap(self, user_dict, lineno): operand_name = {} for op_name, val in user_dict.iteritems():