Deleted Added
sdiff udiff text old ( 12359:8fb4630c444f ) new ( 12616:4b463b4dc098 )
full compact
1// -*- mode:c++ -*-
2
3// Copyright (c) 2011-2014, 2017 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

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

254 class %(class_name)s : public %(base_class)s
255 {
256 public:
257
258 /// Constructor.
259 %(class_name)s(ExtMachInst machInst, IntRegIndex _base,
260 MiscRegIndex _dest, uint64_t _imm);
261
262 Fault execute(ExecContext *, Trace::InstRecord *) const override;
263 Fault initiateAcc(ExecContext *, Trace::InstRecord *) const override;
264 Fault completeAcc(PacketPtr, ExecContext *,
265 Trace::InstRecord *) const override;
266
267 void
268 annotateFault(ArmFault *fault) override
269 {
270 %(fa_code)s
271 }
272 };
273}};
274
275def template DCStore64Constructor {{
276 %(class_name)s::%(class_name)s(ExtMachInst machInst, IntRegIndex _base,
277 MiscRegIndex _dest, uint64_t _imm)

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

339 class %(class_name)s : public %(base_class)s
340 {
341 public:
342
343 /// Constructor.
344 %(class_name)s(ExtMachInst machInst,
345 IntRegIndex _dest, IntRegIndex _base, int64_t _imm);
346
347 Fault execute(ExecContext *, Trace::InstRecord *) const override;
348 Fault initiateAcc(ExecContext *, Trace::InstRecord *) const override;
349 Fault completeAcc(PacketPtr, ExecContext *,
350 Trace::InstRecord *) const override;
351
352 void
353 annotateFault(ArmFault *fault) override
354 {
355 %(fa_code)s
356 }
357 };
358}};
359
360def template LoadStoreImmU64Declare {{
361 class %(class_name)s : public %(base_class)s
362 {
363 public:
364
365 /// Constructor.
366 %(class_name)s(ExtMachInst machInst,
367 IntRegIndex _dest, IntRegIndex _base, int64_t _imm,
368 bool noAlloc = false, bool exclusive = false,
369 bool acrel = false);
370
371 Fault execute(ExecContext *, Trace::InstRecord *) const override;
372 Fault initiateAcc(ExecContext *, Trace::InstRecord *) const override;
373 Fault completeAcc(PacketPtr, ExecContext *,
374 Trace::InstRecord *) const override;
375
376 void
377 annotateFault(ArmFault *fault) override
378 {
379 %(fa_code)s
380 }
381 };
382}};
383
384def template LoadStoreImmDU64Declare {{
385 class %(class_name)s : public %(base_class)s
386 {
387 public:
388
389 /// Constructor.
390 %(class_name)s(ExtMachInst machInst,
391 IntRegIndex _dest, IntRegIndex _dest2, IntRegIndex _base,
392 int64_t _imm = 0, bool noAlloc = false, bool exclusive = false,
393 bool acrel = false);
394
395 Fault execute(ExecContext *, Trace::InstRecord *) const override;
396 Fault initiateAcc(ExecContext *, Trace::InstRecord *) const override;
397 Fault completeAcc(PacketPtr, ExecContext *,
398 Trace::InstRecord *) const override;
399
400 void
401 annotateFault(ArmFault *fault) override
402 {
403 %(fa_code)s
404 }
405 };
406}};
407
408def template StoreImmDEx64Declare {{
409 /**
410 * Static instruction class for "%(mnemonic)s".
411 */
412 class %(class_name)s : public %(base_class)s
413 {
414 public:
415
416 /// Constructor.
417 %(class_name)s(ExtMachInst machInst,
418 IntRegIndex _result, IntRegIndex _dest, IntRegIndex _dest2,
419 IntRegIndex _base, int64_t _imm = 0);
420
421 Fault execute(ExecContext *, Trace::InstRecord *) const override;
422 Fault initiateAcc(ExecContext *, Trace::InstRecord *) const override;
423 Fault completeAcc(PacketPtr, ExecContext *,
424 Trace::InstRecord *) const override;
425 };
426}};
427
428
429def template LoadStoreReg64Declare {{
430 class %(class_name)s : public %(base_class)s
431 {
432 public:
433
434 /// Constructor.
435 %(class_name)s(ExtMachInst machInst,
436 IntRegIndex _dest, IntRegIndex _base, IntRegIndex _offset,
437 ArmExtendType _type, uint32_t _shiftAmt);
438
439 Fault execute(ExecContext *, Trace::InstRecord *) const override;
440 Fault initiateAcc(ExecContext *, Trace::InstRecord *) const override;
441 Fault completeAcc(PacketPtr, ExecContext *,
442 Trace::InstRecord *) const override;
443
444 void
445 annotateFault(ArmFault *fault) override
446 {
447 %(fa_code)s
448 }
449 };
450}};
451
452def template LoadStoreRegU64Declare {{
453 class %(class_name)s : public %(base_class)s
454 {
455 public:
456
457 /// Constructor.
458 %(class_name)s(ExtMachInst machInst,
459 IntRegIndex _dest, IntRegIndex _base, IntRegIndex _offset,
460 ArmExtendType _type, uint32_t _shiftAmt,
461 bool noAlloc = false, bool exclusive = false,
462 bool acrel = false);
463
464 Fault execute(ExecContext *, Trace::InstRecord *) const override;
465 Fault initiateAcc(ExecContext *, Trace::InstRecord *) const override;
466 Fault completeAcc(PacketPtr, ExecContext *,
467 Trace::InstRecord *) const override;
468
469 void
470 annotateFault(ArmFault *fault) override
471 {
472 %(fa_code)s
473 }
474 };
475}};
476
477def template LoadStoreRaw64Declare {{
478 class %(class_name)s : public %(base_class)s
479 {
480 public:
481
482 /// Constructor.
483 %(class_name)s(ExtMachInst machInst, IntRegIndex _dest,
484 IntRegIndex _base);
485
486 Fault execute(ExecContext *, Trace::InstRecord *) const override;
487 Fault initiateAcc(ExecContext *, Trace::InstRecord *) const override;
488 Fault completeAcc(PacketPtr, ExecContext *,
489 Trace::InstRecord *) const override;
490
491 void
492 annotateFault(ArmFault *fault) override
493 {
494 %(fa_code)s
495 }
496 };
497}};
498
499def template LoadStoreEx64Declare {{
500 class %(class_name)s : public %(base_class)s
501 {
502 public:
503
504 /// Constructor.
505 %(class_name)s(ExtMachInst machInst, IntRegIndex _dest,
506 IntRegIndex _base, IntRegIndex _result);
507
508 Fault execute(ExecContext *, Trace::InstRecord *) const override;
509 Fault initiateAcc(ExecContext *, Trace::InstRecord *) const override;
510 Fault completeAcc(PacketPtr, ExecContext *,
511 Trace::InstRecord *) const override;
512
513 void
514 annotateFault(ArmFault *fault) override
515 {
516 %(fa_code)s
517 }
518 };
519}};
520
521def template LoadStoreLit64Declare {{
522 class %(class_name)s : public %(base_class)s
523 {
524 public:
525
526 /// Constructor.
527 %(class_name)s(ExtMachInst machInst, IntRegIndex _dest, int64_t _imm);
528
529 Fault execute(ExecContext *, Trace::InstRecord *) const override;
530 Fault initiateAcc(ExecContext *, Trace::InstRecord *) const override;
531 Fault completeAcc(PacketPtr, ExecContext *,
532 Trace::InstRecord *) const override;
533
534 void
535 annotateFault(ArmFault *fault) override
536 {
537 %(fa_code)s
538 }
539 };
540}};
541
542def template LoadStoreLitU64Declare {{
543 class %(class_name)s : public %(base_class)s
544 {
545 public:
546
547 /// Constructor.
548 %(class_name)s(ExtMachInst machInst, IntRegIndex _dest, int64_t _imm,
549 bool noAlloc = false, bool exclusive = false,
550 bool acrel = false);
551
552 Fault execute(ExecContext *, Trace::InstRecord *) const override;
553 Fault initiateAcc(ExecContext *, Trace::InstRecord *) const override;
554 Fault completeAcc(PacketPtr, ExecContext *,
555 Trace::InstRecord *) const override;
556
557 void
558 annotateFault(ArmFault *fault) override
559 {
560 %(fa_code)s
561 }
562 };
563}};
564
565def template LoadStoreImm64Constructor {{
566 %(class_name)s::%(class_name)s(ExtMachInst machInst,
567 IntRegIndex _dest, IntRegIndex _base, int64_t _imm)

--- 140 unchanged lines hidden ---