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 --- |