diff options
author | Ali Saidi <saidi@eecs.umich.edu> | 2007-02-12 13:22:36 -0500 |
---|---|---|
committer | Ali Saidi <saidi@eecs.umich.edu> | 2007-02-12 13:22:36 -0500 |
commit | b9005f35621c564fb70b60223352732eb9cde955 (patch) | |
tree | 0e1dc7cbbefbcf829a0c0cae92095c6255299915 /src/arch/isa_parser.py | |
parent | ad17b3265178deacb2dce7a98033575c0e98f518 (diff) | |
parent | b5a4d95811db487d946200bf103e2af376db7690 (diff) | |
download | gem5-b9005f35621c564fb70b60223352732eb9cde955.tar.xz |
Merge zizzer:/bk/newmem
into zeep.pool:/z/saidi/work/m5.newmem
src/cpu/simple/atomic.cc:
merge steve's changes in.
--HG--
extra : convert_revision : a17eda37cd63c9380af6fe68b0aef4b1e1974231
Diffstat (limited to 'src/arch/isa_parser.py')
-rwxr-xr-x | src/arch/isa_parser.py | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/arch/isa_parser.py b/src/arch/isa_parser.py index 07ae72cb8..39500df36 100755 --- a/src/arch/isa_parser.py +++ b/src/arch/isa_parser.py @@ -1124,6 +1124,9 @@ def buildOperandTypeMap(userDict, lineno): ctype = 'float' elif size == 64: ctype = 'double' + elif desc == 'twin int': + is_signed = 0 + ctype = 'Twin64_t' if ctype == '': error(lineno, 'Unrecognized type description "%s" in userDict') operandTypeMap[ext] = (size, ctype, is_signed) @@ -1156,7 +1159,10 @@ class Operand(object): # template must be careful not to use it if it doesn't apply. if self.isMem(): self.mem_acc_size = self.makeAccSize() - self.mem_acc_type = self.ctype + if self.ctype == 'Twin64_t': + self.mem_acc_type = 'Twin' + else: + self.mem_acc_type = 'uint' # Finalize additional fields (primarily code fields). This step # is done separately since some of these fields may depend on the @@ -1386,6 +1392,9 @@ class MemOperand(Operand): # Note that initializations in the declarations are solely # to avoid 'uninitialized variable' errors from the compiler. # Declare memory data variable. + if self.ctype == 'Twin64_t': + return "%s %s; %s.a = 0; %s.b = 0;\n" % (self.ctype, self.base_name, + self.base_name, self.base_name) c = '%s %s = 0;\n' % (self.ctype, self.base_name) return c |