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