macroop.isa (5040:126e4510b5bb) | macroop.isa (5046:da031ef02439) |
---|---|
1// -*- mode:c++ -*- 2 3// Copyright (c) 2007 The Hewlett-Packard Development Company 4// All rights reserved. 5// 6// Redistribution and use of this software in source and binary forms, 7// with or without modification, are permitted provided that the 8// following conditions are met: --- 207 unchanged lines hidden (view full) --- 216 self.stackSize = "STACKSIZE" 217 self.doModRM = False 218 219 def getAllocator(self): 220 if self.size == 'b': 221 self.dataSize = 1 222 elif self.size == 'd': 223 self.dataSize = 4 | 1// -*- mode:c++ -*- 2 3// Copyright (c) 2007 The Hewlett-Packard Development Company 4// All rights reserved. 5// 6// Redistribution and use of this software in source and binary forms, 7// with or without modification, are permitted provided that the 8// following conditions are met: --- 207 unchanged lines hidden (view full) --- 216 self.stackSize = "STACKSIZE" 217 self.doModRM = False 218 219 def getAllocator(self): 220 if self.size == 'b': 221 self.dataSize = 1 222 elif self.size == 'd': 223 self.dataSize = 4 |
224 #This is for "double plus" which is normally a double word unless 225 #the REX W bit is set, in which case it's a quad word. It's used 226 #for some SSE instructions. 227 elif self.size == 'dp': 228 self.dataSize = "(REX_W ? 8 : 4)" |
|
224 elif self.size == 'q': 225 self.dataSize = 8 226 elif self.size == 'v': 227 self.dataSize = "OPSIZE" 228 elif self.size == 'w': 229 self.dataSize = 2 230 elif self.size == 'z': 231 self.dataSize = "((OPSIZE == 8) ? 4 : OPSIZE)" --- 14 unchanged lines hidden (view full) --- 246 self.regm = reg 247 self.regmUsed = True 248 else: 249 raise Exception, "EmulEnv is out of register specialization spots." 250 def setSize(self, size): 251 if not self.size: 252 self.size = size 253 else: | 229 elif self.size == 'q': 230 self.dataSize = 8 231 elif self.size == 'v': 232 self.dataSize = "OPSIZE" 233 elif self.size == 'w': 234 self.dataSize = 2 235 elif self.size == 'z': 236 self.dataSize = "((OPSIZE == 8) ? 4 : OPSIZE)" --- 14 unchanged lines hidden (view full) --- 251 self.regm = reg 252 self.regmUsed = True 253 else: 254 raise Exception, "EmulEnv is out of register specialization spots." 255 def setSize(self, size): 256 if not self.size: 257 self.size = size 258 else: |
254 if self.size is not size: | 259 if self.size != size: |
255 raise Exception, "Conflicting register sizes %s and %s!" %\ 256 (self.size, size) 257}}; 258 259let {{ 260 doModRMString = "env.doModRM(machInst);\n" 261 def genMacroop(Name, env): 262 blocks = OutputBlocks() --- 12 unchanged lines hidden --- | 260 raise Exception, "Conflicting register sizes %s and %s!" %\ 261 (self.size, size) 262}}; 263 264let {{ 265 doModRMString = "env.doModRM(machInst);\n" 266 def genMacroop(Name, env): 267 blocks = OutputBlocks() --- 12 unchanged lines hidden --- |