macromem.isa (6309:7f10d636910b) macromem.isa (6310:be6658746087)
1// -*- mode:c++ -*-
2
3// Copyright (c) 2007-2008 The Florida State University
4// All rights reserved.
5//
6// Redistribution and use in source and binary forms, with or without
7// modification, are permitted provided that the following conditions are
8// met: redistributions of source code must retain the above copyright

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

125 decoder_output = MicroConstructor.subst(microAddiUopIop) + \
126 MicroConstructor.subst(microSubiUopIop)
127 exec_output = PredOpExecute.subst(microAddiUopIop) + \
128 PredOpExecute.subst(microSubiUopIop)
129}};
130
131////////////////////////////////////////////////////////////////////
132//
1// -*- mode:c++ -*-
2
3// Copyright (c) 2007-2008 The Florida State University
4// All rights reserved.
5//
6// Redistribution and use in source and binary forms, with or without
7// modification, are permitted provided that the following conditions are
8// met: redistributions of source code must retain the above copyright

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

125 decoder_output = MicroConstructor.subst(microAddiUopIop) + \
126 MicroConstructor.subst(microSubiUopIop)
127 exec_output = PredOpExecute.subst(microAddiUopIop) + \
128 PredOpExecute.subst(microSubiUopIop)
129}};
130
131////////////////////////////////////////////////////////////////////
132//
133// Moving to/from double floating point registers
134//
135
136let {{
137 microMvtdUopIop = InstObjParams('mvtd_uop', 'MicroMvtdUop',
138 'PredOp',
139 {'code': 'Fd.ud = (Rhi.ud << 32) | Rlo;',
140 'predicate_test': predicateTest},
141 ['IsMicroop'])
142
143 microMvfdUopIop = InstObjParams('mvfd_uop', 'MicroMvfdUop',
144 'PredOp',
145 {'code': '''Rhi = bits(Fd.ud, 63, 32);
146 Rlo = bits(Fd.ud, 31, 0);''',
147 'predicate_test': predicateTest},
148 ['IsMicroop'])
149
150 header_output = BasicDeclare.subst(microMvtdUopIop) + \
151 BasicDeclare.subst(microMvfdUopIop)
152 decoder_output = BasicConstructor.subst(microMvtdUopIop) + \
153 BasicConstructor.subst(microMvfdUopIop)
154 exec_output = PredOpExecute.subst(microMvtdUopIop) + \
155 PredOpExecute.subst(microMvfdUopIop)
156}};
157
158////////////////////////////////////////////////////////////////////
159//
133// Macro Memory-format instructions
134//
135
136def template MacroStoreDeclare {{
137/**
138 * Static instructions class for a store multiple instruction
139 */
140class %(class_name)s : public %(base_class)s

--- 192 unchanged lines hidden ---
160// Macro Memory-format instructions
161//
162
163def template MacroStoreDeclare {{
164/**
165 * Static instructions class for a store multiple instruction
166 */
167class %(class_name)s : public %(base_class)s

--- 192 unchanged lines hidden ---