misc.isa (12503:47b60911f9ba) misc.isa (12616:4b463b4dc098)
1// -*- mode:c++ -*-
2
3// Copyright (c) 2010-2013,2017-2018 ARM Limited
4// All rights reserved
5//
6// The license below extends only to copyright in the software and shall
7// not be construed as granting a license to any other intellectual
8// property including but not limited to intellectual property relating

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

39
40def template MrsDeclare {{
41class %(class_name)s : public %(base_class)s
42{
43 protected:
44 public:
45 // Constructor
46 %(class_name)s(ExtMachInst machInst, IntRegIndex _dest);
1// -*- mode:c++ -*-
2
3// Copyright (c) 2010-2013,2017-2018 ARM Limited
4// All rights reserved
5//
6// The license below extends only to copyright in the software and shall
7// not be construed as granting a license to any other intellectual
8// property including but not limited to intellectual property relating

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

39
40def template MrsDeclare {{
41class %(class_name)s : public %(base_class)s
42{
43 protected:
44 public:
45 // Constructor
46 %(class_name)s(ExtMachInst machInst, IntRegIndex _dest);
47 Fault execute(ExecContext *, Trace::InstRecord *) const;
47 Fault execute(ExecContext *, Trace::InstRecord *) const override;
48};
49}};
50
51def template MrsConstructor {{
52 %(class_name)s::%(class_name)s(ExtMachInst machInst,
53 IntRegIndex _dest)
54 : %(base_class)s("%(mnemonic)s", machInst, %(op_class)s, _dest)
55 {

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

68 protected:
69 uint8_t byteMask;
70 bool r;
71
72 public:
73 // Constructor
74 %(class_name)s(ExtMachInst machInst, IntRegIndex _dest,
75 uint8_t _sysM, bool _r);
48};
49}};
50
51def template MrsConstructor {{
52 %(class_name)s::%(class_name)s(ExtMachInst machInst,
53 IntRegIndex _dest)
54 : %(base_class)s("%(mnemonic)s", machInst, %(op_class)s, _dest)
55 {

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

68 protected:
69 uint8_t byteMask;
70 bool r;
71
72 public:
73 // Constructor
74 %(class_name)s(ExtMachInst machInst, IntRegIndex _dest,
75 uint8_t _sysM, bool _r);
76 Fault execute(ExecContext *, Trace::InstRecord *) const;
76 Fault execute(ExecContext *, Trace::InstRecord *) const override;
77};
78}};
79
80def template MrsBankedRegConstructor {{
81 %(class_name)s::%(class_name)s(ExtMachInst machInst,
82 IntRegIndex _dest,
83 uint8_t _sysM,
84 bool _r)

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

99{
100 protected:
101 bool r;
102
103 public:
104 // Constructor
105 %(class_name)s(ExtMachInst machInst, IntRegIndex _op1,
106 uint8_t _sysM, bool _r);
77};
78}};
79
80def template MrsBankedRegConstructor {{
81 %(class_name)s::%(class_name)s(ExtMachInst machInst,
82 IntRegIndex _dest,
83 uint8_t _sysM,
84 bool _r)

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

99{
100 protected:
101 bool r;
102
103 public:
104 // Constructor
105 %(class_name)s(ExtMachInst machInst, IntRegIndex _op1,
106 uint8_t _sysM, bool _r);
107 Fault execute(ExecContext *, Trace::InstRecord *) const;
107 Fault execute(ExecContext *, Trace::InstRecord *) const override;
108};
109}};
110
111def template MsrBankedRegConstructor {{
112 %(class_name)s::%(class_name)s(ExtMachInst machInst,
113 IntRegIndex _op1,
114 uint8_t _sysM,
115 bool _r)

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

127
128def template MsrRegDeclare {{
129class %(class_name)s : public %(base_class)s
130{
131 protected:
132 public:
133 // Constructor
134 %(class_name)s(ExtMachInst machInst, IntRegIndex _op1, uint8_t mask);
108};
109}};
110
111def template MsrBankedRegConstructor {{
112 %(class_name)s::%(class_name)s(ExtMachInst machInst,
113 IntRegIndex _op1,
114 uint8_t _sysM,
115 bool _r)

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

127
128def template MsrRegDeclare {{
129class %(class_name)s : public %(base_class)s
130{
131 protected:
132 public:
133 // Constructor
134 %(class_name)s(ExtMachInst machInst, IntRegIndex _op1, uint8_t mask);
135 Fault execute(ExecContext *, Trace::InstRecord *) const;
135 Fault execute(ExecContext *, Trace::InstRecord *) const override;
136};
137}};
138
139def template MsrRegConstructor {{
140 %(class_name)s::%(class_name)s(ExtMachInst machInst,
141 IntRegIndex _op1,
142 uint8_t mask)
143 : %(base_class)s("%(mnemonic)s", machInst, %(op_class)s, _op1, mask)

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

153
154def template MsrImmDeclare {{
155class %(class_name)s : public %(base_class)s
156{
157 protected:
158 public:
159 // Constructor
160 %(class_name)s(ExtMachInst machInst, uint32_t imm, uint8_t mask);
136};
137}};
138
139def template MsrRegConstructor {{
140 %(class_name)s::%(class_name)s(ExtMachInst machInst,
141 IntRegIndex _op1,
142 uint8_t mask)
143 : %(base_class)s("%(mnemonic)s", machInst, %(op_class)s, _op1, mask)

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

153
154def template MsrImmDeclare {{
155class %(class_name)s : public %(base_class)s
156{
157 protected:
158 public:
159 // Constructor
160 %(class_name)s(ExtMachInst machInst, uint32_t imm, uint8_t mask);
161 Fault execute(ExecContext *, Trace::InstRecord *) const;
161 Fault execute(ExecContext *, Trace::InstRecord *) const override;
162};
163}};
164
165def template MsrImmConstructor {{
166 %(class_name)s::%(class_name)s(ExtMachInst machInst,
167 uint32_t imm,
168 uint8_t mask)
169 : %(base_class)s("%(mnemonic)s", machInst, %(op_class)s, imm, mask)

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

180def template MrrcOpDeclare {{
181class %(class_name)s : public %(base_class)s
182{
183 protected:
184 public:
185 // Constructor
186 %(class_name)s(ExtMachInst machInst, MiscRegIndex _op1,
187 IntRegIndex _dest, IntRegIndex _dest2, uint32_t imm);
162};
163}};
164
165def template MsrImmConstructor {{
166 %(class_name)s::%(class_name)s(ExtMachInst machInst,
167 uint32_t imm,
168 uint8_t mask)
169 : %(base_class)s("%(mnemonic)s", machInst, %(op_class)s, imm, mask)

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

180def template MrrcOpDeclare {{
181class %(class_name)s : public %(base_class)s
182{
183 protected:
184 public:
185 // Constructor
186 %(class_name)s(ExtMachInst machInst, MiscRegIndex _op1,
187 IntRegIndex _dest, IntRegIndex _dest2, uint32_t imm);
188 Fault execute(ExecContext *, Trace::InstRecord *) const;
188 Fault execute(ExecContext *, Trace::InstRecord *) const override;
189};
190}};
191
192def template MrrcOpConstructor {{
193 %(class_name)s::%(class_name)s(ExtMachInst machInst,
194 MiscRegIndex op1,
195 IntRegIndex dest,
196 IntRegIndex dest2,

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

210def template McrrOpDeclare {{
211class %(class_name)s : public %(base_class)s
212{
213 protected:
214 public:
215 // Constructor
216 %(class_name)s(ExtMachInst machInst, IntRegIndex _op1, IntRegIndex _op2,
217 MiscRegIndex _dest, uint32_t imm);
189};
190}};
191
192def template MrrcOpConstructor {{
193 %(class_name)s::%(class_name)s(ExtMachInst machInst,
194 MiscRegIndex op1,
195 IntRegIndex dest,
196 IntRegIndex dest2,

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

210def template McrrOpDeclare {{
211class %(class_name)s : public %(base_class)s
212{
213 protected:
214 public:
215 // Constructor
216 %(class_name)s(ExtMachInst machInst, IntRegIndex _op1, IntRegIndex _op2,
217 MiscRegIndex _dest, uint32_t imm);
218 Fault execute(ExecContext *, Trace::InstRecord *) const;
218 Fault execute(ExecContext *, Trace::InstRecord *) const override;
219};
220}};
221
222def template McrrOpConstructor {{
223 %(class_name)s::%(class_name)s(ExtMachInst machInst,
224 IntRegIndex op1,
225 IntRegIndex op2,
226 MiscRegIndex dest,

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

239
240def template ImmOpDeclare {{
241class %(class_name)s : public %(base_class)s
242{
243 protected:
244 public:
245 // Constructor
246 %(class_name)s(ExtMachInst machInst, uint64_t _imm);
219};
220}};
221
222def template McrrOpConstructor {{
223 %(class_name)s::%(class_name)s(ExtMachInst machInst,
224 IntRegIndex op1,
225 IntRegIndex op2,
226 MiscRegIndex dest,

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

239
240def template ImmOpDeclare {{
241class %(class_name)s : public %(base_class)s
242{
243 protected:
244 public:
245 // Constructor
246 %(class_name)s(ExtMachInst machInst, uint64_t _imm);
247 Fault execute(ExecContext *, Trace::InstRecord *) const;
247 Fault execute(ExecContext *, Trace::InstRecord *) const override;
248};
249}};
250
251def template ImmOpConstructor {{
252 %(class_name)s::%(class_name)s(ExtMachInst machInst, uint64_t _imm)
253 : %(base_class)s("%(mnemonic)s", machInst, %(op_class)s, _imm)
254 {
255 %(constructor)s;

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

263
264def template RegImmOpDeclare {{
265class %(class_name)s : public %(base_class)s
266{
267 protected:
268 public:
269 // Constructor
270 %(class_name)s(ExtMachInst machInst, IntRegIndex _dest, uint64_t _imm);
248};
249}};
250
251def template ImmOpConstructor {{
252 %(class_name)s::%(class_name)s(ExtMachInst machInst, uint64_t _imm)
253 : %(base_class)s("%(mnemonic)s", machInst, %(op_class)s, _imm)
254 {
255 %(constructor)s;

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

263
264def template RegImmOpDeclare {{
265class %(class_name)s : public %(base_class)s
266{
267 protected:
268 public:
269 // Constructor
270 %(class_name)s(ExtMachInst machInst, IntRegIndex _dest, uint64_t _imm);
271 Fault execute(ExecContext *, Trace::InstRecord *) const;
271 Fault execute(ExecContext *, Trace::InstRecord *) const override;
272};
273}};
274
275def template RegImmOpConstructor {{
276 %(class_name)s::%(class_name)s(ExtMachInst machInst,
277 IntRegIndex _dest, uint64_t _imm)
278 : %(base_class)s("%(mnemonic)s", machInst, %(op_class)s, _dest, _imm)
279 {

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

289def template RegRegOpDeclare {{
290class %(class_name)s : public %(base_class)s
291{
292 protected:
293 public:
294 // Constructor
295 %(class_name)s(ExtMachInst machInst,
296 IntRegIndex _dest, IntRegIndex _op1);
272};
273}};
274
275def template RegImmOpConstructor {{
276 %(class_name)s::%(class_name)s(ExtMachInst machInst,
277 IntRegIndex _dest, uint64_t _imm)
278 : %(base_class)s("%(mnemonic)s", machInst, %(op_class)s, _dest, _imm)
279 {

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

289def template RegRegOpDeclare {{
290class %(class_name)s : public %(base_class)s
291{
292 protected:
293 public:
294 // Constructor
295 %(class_name)s(ExtMachInst machInst,
296 IntRegIndex _dest, IntRegIndex _op1);
297 Fault execute(ExecContext *, Trace::InstRecord *) const;
297 Fault execute(ExecContext *, Trace::InstRecord *) const override;
298};
299}};
300
301def template RegRegOpConstructor {{
302 %(class_name)s::%(class_name)s(ExtMachInst machInst,
303 IntRegIndex _dest, IntRegIndex _op1)
304 : %(base_class)s("%(mnemonic)s", machInst, %(op_class)s, _dest, _op1)
305 {

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

316class %(class_name)s : public %(base_class)s
317{
318 protected:
319 public:
320 // Constructor
321 %(class_name)s(ExtMachInst machInst,
322 IntRegIndex _dest, IntRegIndex _op1, IntRegIndex _op2,
323 uint64_t _imm);
298};
299}};
300
301def template RegRegOpConstructor {{
302 %(class_name)s::%(class_name)s(ExtMachInst machInst,
303 IntRegIndex _dest, IntRegIndex _op1)
304 : %(base_class)s("%(mnemonic)s", machInst, %(op_class)s, _dest, _op1)
305 {

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

316class %(class_name)s : public %(base_class)s
317{
318 protected:
319 public:
320 // Constructor
321 %(class_name)s(ExtMachInst machInst,
322 IntRegIndex _dest, IntRegIndex _op1, IntRegIndex _op2,
323 uint64_t _imm);
324 Fault execute(ExecContext *, Trace::InstRecord *) const;
324 Fault execute(ExecContext *, Trace::InstRecord *) const override;
325};
326}};
327
328def template RegRegRegImmOpConstructor {{
329 %(class_name)s::%(class_name)s(ExtMachInst machInst,
330 IntRegIndex _dest,
331 IntRegIndex _op1,
332 IntRegIndex _op2,

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

347class %(class_name)s : public %(base_class)s
348{
349 protected:
350 public:
351 // Constructor
352 %(class_name)s(ExtMachInst machInst,
353 IntRegIndex _dest, IntRegIndex _op1,
354 IntRegIndex _op2, IntRegIndex _op3);
325};
326}};
327
328def template RegRegRegImmOpConstructor {{
329 %(class_name)s::%(class_name)s(ExtMachInst machInst,
330 IntRegIndex _dest,
331 IntRegIndex _op1,
332 IntRegIndex _op2,

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

347class %(class_name)s : public %(base_class)s
348{
349 protected:
350 public:
351 // Constructor
352 %(class_name)s(ExtMachInst machInst,
353 IntRegIndex _dest, IntRegIndex _op1,
354 IntRegIndex _op2, IntRegIndex _op3);
355 Fault execute(ExecContext *, Trace::InstRecord *) const;
355 Fault execute(ExecContext *, Trace::InstRecord *) const override;
356};
357}};
358
359def template RegRegRegRegOpConstructor {{
360 %(class_name)s::%(class_name)s(ExtMachInst machInst,
361 IntRegIndex _dest,
362 IntRegIndex _op1,
363 IntRegIndex _op2,

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

377def template RegRegRegOpDeclare {{
378class %(class_name)s : public %(base_class)s
379{
380 protected:
381 public:
382 // Constructor
383 %(class_name)s(ExtMachInst machInst,
384 IntRegIndex _dest, IntRegIndex _op1, IntRegIndex _op2);
356};
357}};
358
359def template RegRegRegRegOpConstructor {{
360 %(class_name)s::%(class_name)s(ExtMachInst machInst,
361 IntRegIndex _dest,
362 IntRegIndex _op1,
363 IntRegIndex _op2,

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

377def template RegRegRegOpDeclare {{
378class %(class_name)s : public %(base_class)s
379{
380 protected:
381 public:
382 // Constructor
383 %(class_name)s(ExtMachInst machInst,
384 IntRegIndex _dest, IntRegIndex _op1, IntRegIndex _op2);
385 Fault execute(ExecContext *, Trace::InstRecord *) const;
385 Fault execute(ExecContext *, Trace::InstRecord *) const override;
386};
387}};
388
389def template RegRegRegOpConstructor {{
390 %(class_name)s::%(class_name)s(ExtMachInst machInst,
391 IntRegIndex _dest,
392 IntRegIndex _op1,
393 IntRegIndex _op2)

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

407class %(class_name)s : public %(base_class)s
408{
409 protected:
410 public:
411 // Constructor
412 %(class_name)s(ExtMachInst machInst,
413 IntRegIndex _dest, IntRegIndex _op1,
414 uint64_t _imm);
386};
387}};
388
389def template RegRegRegOpConstructor {{
390 %(class_name)s::%(class_name)s(ExtMachInst machInst,
391 IntRegIndex _dest,
392 IntRegIndex _op1,
393 IntRegIndex _op2)

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

407class %(class_name)s : public %(base_class)s
408{
409 protected:
410 public:
411 // Constructor
412 %(class_name)s(ExtMachInst machInst,
413 IntRegIndex _dest, IntRegIndex _op1,
414 uint64_t _imm);
415 Fault execute(ExecContext *, Trace::InstRecord *) const;
415 Fault execute(ExecContext *, Trace::InstRecord *) const override;
416};
417}};
418
419def template RegRegImmOpConstructor {{
420 %(class_name)s::%(class_name)s(ExtMachInst machInst,
421 IntRegIndex _dest,
422 IntRegIndex _op1,
423 uint64_t _imm)

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

437class %(class_name)s : public %(base_class)s
438{
439 protected:
440 public:
441 // Constructor
442 %(class_name)s(ExtMachInst machInst,
443 MiscRegIndex _dest, IntRegIndex _op1,
444 uint64_t _imm);
416};
417}};
418
419def template RegRegImmOpConstructor {{
420 %(class_name)s::%(class_name)s(ExtMachInst machInst,
421 IntRegIndex _dest,
422 IntRegIndex _op1,
423 uint64_t _imm)

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

437class %(class_name)s : public %(base_class)s
438{
439 protected:
440 public:
441 // Constructor
442 %(class_name)s(ExtMachInst machInst,
443 MiscRegIndex _dest, IntRegIndex _op1,
444 uint64_t _imm);
445 Fault execute(ExecContext *, Trace::InstRecord *) const;
445 Fault execute(ExecContext *, Trace::InstRecord *) const override;
446};
447}};
448
449def template MiscRegRegImmOpConstructor {{
450 %(class_name)s::%(class_name)s(ExtMachInst machInst,
451 MiscRegIndex _dest,
452 IntRegIndex _op1,
453 uint64_t _imm)

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

467class %(class_name)s : public %(base_class)s
468{
469 protected:
470 public:
471 // Constructor
472 %(class_name)s(ExtMachInst machInst,
473 IntRegIndex _dest, MiscRegIndex _op1,
474 uint64_t _imm);
446};
447}};
448
449def template MiscRegRegImmOpConstructor {{
450 %(class_name)s::%(class_name)s(ExtMachInst machInst,
451 MiscRegIndex _dest,
452 IntRegIndex _op1,
453 uint64_t _imm)

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

467class %(class_name)s : public %(base_class)s
468{
469 protected:
470 public:
471 // Constructor
472 %(class_name)s(ExtMachInst machInst,
473 IntRegIndex _dest, MiscRegIndex _op1,
474 uint64_t _imm);
475 Fault execute(ExecContext *, Trace::InstRecord *) const;
475 Fault execute(ExecContext *, Trace::InstRecord *) const override;
476};
477}};
478
479def template RegMiscRegImmOpConstructor {{
480 %(class_name)s::%(class_name)s(ExtMachInst machInst,
481 IntRegIndex _dest,
482 MiscRegIndex _op1,
483 uint64_t _imm)

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

496def template RegImmImmOpDeclare {{
497class %(class_name)s : public %(base_class)s
498{
499 protected:
500 public:
501 // Constructor
502 %(class_name)s(ExtMachInst machInst,
503 IntRegIndex _dest, uint64_t _imm1, uint64_t _imm2);
476};
477}};
478
479def template RegMiscRegImmOpConstructor {{
480 %(class_name)s::%(class_name)s(ExtMachInst machInst,
481 IntRegIndex _dest,
482 MiscRegIndex _op1,
483 uint64_t _imm)

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

496def template RegImmImmOpDeclare {{
497class %(class_name)s : public %(base_class)s
498{
499 protected:
500 public:
501 // Constructor
502 %(class_name)s(ExtMachInst machInst,
503 IntRegIndex _dest, uint64_t _imm1, uint64_t _imm2);
504 Fault execute(ExecContext *, Trace::InstRecord *) const;
504 Fault execute(ExecContext *, Trace::InstRecord *) const override;
505};
506}};
507
508def template RegImmImmOpConstructor {{
509 %(class_name)s::%(class_name)s(ExtMachInst machInst,
510 IntRegIndex _dest,
511 uint64_t _imm1,
512 uint64_t _imm2)

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

526class %(class_name)s : public %(base_class)s
527{
528 protected:
529 public:
530 // Constructor
531 %(class_name)s(ExtMachInst machInst,
532 IntRegIndex _dest, IntRegIndex _op1,
533 uint64_t _imm1, uint64_t _imm2);
505};
506}};
507
508def template RegImmImmOpConstructor {{
509 %(class_name)s::%(class_name)s(ExtMachInst machInst,
510 IntRegIndex _dest,
511 uint64_t _imm1,
512 uint64_t _imm2)

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

526class %(class_name)s : public %(base_class)s
527{
528 protected:
529 public:
530 // Constructor
531 %(class_name)s(ExtMachInst machInst,
532 IntRegIndex _dest, IntRegIndex _op1,
533 uint64_t _imm1, uint64_t _imm2);
534 Fault execute(ExecContext *, Trace::InstRecord *) const;
534 Fault execute(ExecContext *, Trace::InstRecord *) const override;
535};
536}};
537
538def template RegRegImmImmOpConstructor {{
539 %(class_name)s::%(class_name)s(ExtMachInst machInst,
540 IntRegIndex _dest,
541 IntRegIndex _op1,
542 uint64_t _imm1,

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

556def template RegImmRegOpDeclare {{
557class %(class_name)s : public %(base_class)s
558{
559 protected:
560 public:
561 // Constructor
562 %(class_name)s(ExtMachInst machInst,
563 IntRegIndex _dest, uint64_t _imm, IntRegIndex _op1);
535};
536}};
537
538def template RegRegImmImmOpConstructor {{
539 %(class_name)s::%(class_name)s(ExtMachInst machInst,
540 IntRegIndex _dest,
541 IntRegIndex _op1,
542 uint64_t _imm1,

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

556def template RegImmRegOpDeclare {{
557class %(class_name)s : public %(base_class)s
558{
559 protected:
560 public:
561 // Constructor
562 %(class_name)s(ExtMachInst machInst,
563 IntRegIndex _dest, uint64_t _imm, IntRegIndex _op1);
564 Fault execute(ExecContext *, Trace::InstRecord *) const;
564 Fault execute(ExecContext *, Trace::InstRecord *) const override;
565};
566}};
567
568def template RegImmRegOpConstructor {{
569 %(class_name)s::%(class_name)s(ExtMachInst machInst,
570 IntRegIndex _dest,
571 uint64_t _imm,
572 IntRegIndex _op1)

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

586class %(class_name)s : public %(base_class)s
587{
588 protected:
589 public:
590 // Constructor
591 %(class_name)s(ExtMachInst machInst,
592 IntRegIndex _dest, uint64_t _imm, IntRegIndex _op1,
593 int32_t _shiftAmt, ArmShiftType _shiftType);
565};
566}};
567
568def template RegImmRegOpConstructor {{
569 %(class_name)s::%(class_name)s(ExtMachInst machInst,
570 IntRegIndex _dest,
571 uint64_t _imm,
572 IntRegIndex _op1)

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

586class %(class_name)s : public %(base_class)s
587{
588 protected:
589 public:
590 // Constructor
591 %(class_name)s(ExtMachInst machInst,
592 IntRegIndex _dest, uint64_t _imm, IntRegIndex _op1,
593 int32_t _shiftAmt, ArmShiftType _shiftType);
594 Fault execute(ExecContext *, Trace::InstRecord *) const;
594 Fault execute(ExecContext *, Trace::InstRecord *) const override;
595};
596}};
597
598def template RegImmRegShiftOpConstructor {{
599 %(class_name)s::%(class_name)s(ExtMachInst machInst,
600 IntRegIndex _dest,
601 uint64_t _imm,
602 IntRegIndex _op1,

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

618 class %(class_name)s : public %(base_class)s
619 {
620 protected:
621 public:
622 // Constructor
623 %(class_name)s(ExtMachInst machInst,
624 MiscRegIndex _dest, IntRegIndex _op1,
625 uint64_t _imm);
595};
596}};
597
598def template RegImmRegShiftOpConstructor {{
599 %(class_name)s::%(class_name)s(ExtMachInst machInst,
600 IntRegIndex _dest,
601 uint64_t _imm,
602 IntRegIndex _op1,

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

618 class %(class_name)s : public %(base_class)s
619 {
620 protected:
621 public:
622 // Constructor
623 %(class_name)s(ExtMachInst machInst,
624 MiscRegIndex _dest, IntRegIndex _op1,
625 uint64_t _imm);
626 Fault execute(ExecContext *, Trace::InstRecord *) const;
627 Fault initiateAcc(ExecContext *, Trace::InstRecord *) const;
628 Fault completeAcc(PacketPtr, ExecContext *, Trace::InstRecord *) const;
626 Fault execute(ExecContext *, Trace::InstRecord *) const override;
627 Fault initiateAcc(ExecContext *, Trace::InstRecord *) const override;
628 Fault completeAcc(PacketPtr, ExecContext *,
629 Trace::InstRecord *) const override;
629 };
630}};
631
632def template Mcr15Execute {{
633 Fault %(class_name)s::execute(ExecContext *xc,
634 Trace::InstRecord *traceData) const
635 {
636 Addr EA;

--- 61 unchanged lines hidden ---
630 };
631}};
632
633def template Mcr15Execute {{
634 Fault %(class_name)s::execute(ExecContext *xc,
635 Trace::InstRecord *traceData) const
636 {
637 Addr EA;

--- 61 unchanged lines hidden ---