isa_parser.py (11328:9512d2e25f14) isa_parser.py (11683:f1e198a028be)
1# Copyright (c) 2014 ARM Limited
2# All rights reserved
3#
4# The license below extends only to copyright in the software and shall
5# not be construed as granting a license to any other intellectual
6# property including but not limited to intellectual property relating
7# to a hardware implementation of the functionality of the software
8# licensed hereunder. You may use the software subject to the license

--- 1116 unchanged lines hidden (view full) ---

1125 else:
1126 error('InstObjParams: optional arg "%s" not recognized '
1127 'as StaticInst::Flag or OpClass.' % oa)
1128
1129 # Make a basic guess on the operand class if not set.
1130 # These are good enough for most cases.
1131 if not self.op_class:
1132 if 'IsStore' in self.flags:
1# Copyright (c) 2014 ARM Limited
2# All rights reserved
3#
4# The license below extends only to copyright in the software and shall
5# not be construed as granting a license to any other intellectual
6# property including but not limited to intellectual property relating
7# to a hardware implementation of the functionality of the software
8# licensed hereunder. You may use the software subject to the license

--- 1116 unchanged lines hidden (view full) ---

1125 else:
1126 error('InstObjParams: optional arg "%s" not recognized '
1127 'as StaticInst::Flag or OpClass.' % oa)
1128
1129 # Make a basic guess on the operand class if not set.
1130 # These are good enough for most cases.
1131 if not self.op_class:
1132 if 'IsStore' in self.flags:
1133 self.op_class = 'MemWriteOp'
1133 # The order matters here: 'IsFloating' and 'IsInteger' are
1134 # usually set in FP instructions because of the base
1135 # register
1136 if 'IsFloating' in self.flags:
1137 self.op_class = 'FloatMemWriteOp'
1138 else:
1139 self.op_class = 'MemWriteOp'
1134 elif 'IsLoad' in self.flags or 'IsPrefetch' in self.flags:
1140 elif 'IsLoad' in self.flags or 'IsPrefetch' in self.flags:
1135 self.op_class = 'MemReadOp'
1141 # The order matters here: 'IsFloating' and 'IsInteger' are
1142 # usually set in FP instructions because of the base
1143 # register
1144 if 'IsFloating' in self.flags:
1145 self.op_class = 'FloatMemReadOp'
1146 else:
1147 self.op_class = 'MemReadOp'
1136 elif 'IsFloating' in self.flags:
1137 self.op_class = 'FloatAddOp'
1138 else:
1139 self.op_class = 'IntAluOp'
1140
1141 # add flag initialization to contructor here to include
1142 # any flags added via opt_args
1143 self.constructor += makeFlagConstructor(self.flags)

--- 1289 unchanged lines hidden ---
1148 elif 'IsFloating' in self.flags:
1149 self.op_class = 'FloatAddOp'
1150 else:
1151 self.op_class = 'IntAluOp'
1152
1153 # add flag initialization to contructor here to include
1154 # any flags added via opt_args
1155 self.constructor += makeFlagConstructor(self.flags)

--- 1289 unchanged lines hidden ---