Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(20)

Side by Side Diff: src/arm64/instrument-arm64.cc

Issue 2622643005: ARM64: Add NEON support (Closed)
Patch Set: Fix Math.abs properly Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/arm64/instructions-arm64.cc ('k') | src/arm64/macro-assembler-arm64.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 the V8 project authors. All rights reserved. 1 // Copyright 2013 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "src/arm64/instrument-arm64.h" 5 #include "src/arm64/instrument-arm64.h"
6 6
7 namespace v8 { 7 namespace v8 {
8 namespace internal { 8 namespace internal {
9 9
10 Counter::Counter(const char* name, CounterType type) 10 Counter::Counter(const char* name, CounterType type)
(...skipping 359 matching lines...) Expand 10 before | Expand all | Expand 10 after
370 counter->Increment(); 370 counter->Increment();
371 } 371 }
372 372
373 373
374 void Instrument::InstrumentLoadStore(Instruction* instr) { 374 void Instrument::InstrumentLoadStore(Instruction* instr) {
375 static Counter* load_int_counter = GetCounter("Load Integer"); 375 static Counter* load_int_counter = GetCounter("Load Integer");
376 static Counter* store_int_counter = GetCounter("Store Integer"); 376 static Counter* store_int_counter = GetCounter("Store Integer");
377 static Counter* load_fp_counter = GetCounter("Load FP"); 377 static Counter* load_fp_counter = GetCounter("Load FP");
378 static Counter* store_fp_counter = GetCounter("Store FP"); 378 static Counter* store_fp_counter = GetCounter("Store FP");
379 379
380 switch (instr->Mask(LoadStoreOpMask)) { 380 switch (instr->Mask(LoadStoreMask)) {
381 case STRB_w: // Fall through. 381 case STRB_w: // Fall through.
382 case STRH_w: // Fall through. 382 case STRH_w: // Fall through.
383 case STR_w: // Fall through. 383 case STR_w: // Fall through.
384 case STR_x: store_int_counter->Increment(); break; 384 case STR_x: store_int_counter->Increment(); break;
385 case STR_s: // Fall through. 385 case STR_s: // Fall through.
386 case STR_d: store_fp_counter->Increment(); break; 386 case STR_d: store_fp_counter->Increment(); break;
387 case LDRB_w: // Fall through. 387 case LDRB_w: // Fall through.
388 case LDRH_w: // Fall through. 388 case LDRH_w: // Fall through.
389 case LDR_w: // Fall through. 389 case LDR_w: // Fall through.
390 case LDR_x: // Fall through. 390 case LDR_x: // Fall through.
(...skipping 197 matching lines...) Expand 10 before | Expand all | Expand 10 after
588 counter->Increment(); 588 counter->Increment();
589 } 589 }
590 590
591 591
592 void Instrument::VisitFPFixedPointConvert(Instruction* instr) { 592 void Instrument::VisitFPFixedPointConvert(Instruction* instr) {
593 Update(); 593 Update();
594 static Counter* counter = GetCounter("FP DP"); 594 static Counter* counter = GetCounter("FP DP");
595 counter->Increment(); 595 counter->Increment();
596 } 596 }
597 597
598 void Instrument::VisitNEON2RegMisc(Instruction* instr) {
599 USE(instr);
600 Update();
601 static Counter* counter = GetCounter("NEON");
602 counter->Increment();
603 }
604
605 void Instrument::VisitNEON3Different(Instruction* instr) {
606 USE(instr);
607 Update();
608 static Counter* counter = GetCounter("NEON");
609 counter->Increment();
610 }
611
612 void Instrument::VisitNEON3Same(Instruction* instr) {
613 USE(instr);
614 Update();
615 static Counter* counter = GetCounter("NEON");
616 counter->Increment();
617 }
618
619 void Instrument::VisitNEONAcrossLanes(Instruction* instr) {
620 USE(instr);
621 Update();
622 static Counter* counter = GetCounter("NEON");
623 counter->Increment();
624 }
625
626 void Instrument::VisitNEONByIndexedElement(Instruction* instr) {
627 USE(instr);
628 Update();
629 static Counter* counter = GetCounter("NEON");
630 counter->Increment();
631 }
632
633 void Instrument::VisitNEONCopy(Instruction* instr) {
634 USE(instr);
635 Update();
636 static Counter* counter = GetCounter("NEON");
637 counter->Increment();
638 }
639
640 void Instrument::VisitNEONExtract(Instruction* instr) {
641 USE(instr);
642 Update();
643 static Counter* counter = GetCounter("NEON");
644 counter->Increment();
645 }
646
647 void Instrument::VisitNEONLoadStoreMultiStruct(Instruction* instr) {
648 USE(instr);
649 Update();
650 static Counter* counter = GetCounter("NEON");
651 counter->Increment();
652 }
653
654 void Instrument::VisitNEONLoadStoreMultiStructPostIndex(Instruction* instr) {
655 USE(instr);
656 Update();
657 static Counter* counter = GetCounter("NEON");
658 counter->Increment();
659 }
660
661 void Instrument::VisitNEONLoadStoreSingleStruct(Instruction* instr) {
662 USE(instr);
663 Update();
664 static Counter* counter = GetCounter("NEON");
665 counter->Increment();
666 }
667
668 void Instrument::VisitNEONLoadStoreSingleStructPostIndex(Instruction* instr) {
669 USE(instr);
670 Update();
671 static Counter* counter = GetCounter("NEON");
672 counter->Increment();
673 }
674
675 void Instrument::VisitNEONModifiedImmediate(Instruction* instr) {
676 USE(instr);
677 Update();
678 static Counter* counter = GetCounter("NEON");
679 counter->Increment();
680 }
681
682 void Instrument::VisitNEONPerm(Instruction* instr) {
683 USE(instr);
684 Update();
685 static Counter* counter = GetCounter("NEON");
686 counter->Increment();
687 }
688
689 void Instrument::VisitNEONScalar2RegMisc(Instruction* instr) {
690 USE(instr);
691 Update();
692 static Counter* counter = GetCounter("NEON");
693 counter->Increment();
694 }
695
696 void Instrument::VisitNEONScalar3Diff(Instruction* instr) {
697 USE(instr);
698 Update();
699 static Counter* counter = GetCounter("NEON");
700 counter->Increment();
701 }
702
703 void Instrument::VisitNEONScalar3Same(Instruction* instr) {
704 USE(instr);
705 Update();
706 static Counter* counter = GetCounter("NEON");
707 counter->Increment();
708 }
709
710 void Instrument::VisitNEONScalarByIndexedElement(Instruction* instr) {
711 USE(instr);
712 Update();
713 static Counter* counter = GetCounter("NEON");
714 counter->Increment();
715 }
716
717 void Instrument::VisitNEONScalarCopy(Instruction* instr) {
718 USE(instr);
719 Update();
720 static Counter* counter = GetCounter("NEON");
721 counter->Increment();
722 }
723
724 void Instrument::VisitNEONScalarPairwise(Instruction* instr) {
725 USE(instr);
726 Update();
727 static Counter* counter = GetCounter("NEON");
728 counter->Increment();
729 }
730
731 void Instrument::VisitNEONScalarShiftImmediate(Instruction* instr) {
732 USE(instr);
733 Update();
734 static Counter* counter = GetCounter("NEON");
735 counter->Increment();
736 }
737
738 void Instrument::VisitNEONShiftImmediate(Instruction* instr) {
739 USE(instr);
740 Update();
741 static Counter* counter = GetCounter("NEON");
742 counter->Increment();
743 }
744
745 void Instrument::VisitNEONTable(Instruction* instr) {
746 USE(instr);
747 Update();
748 static Counter* counter = GetCounter("NEON");
749 counter->Increment();
750 }
598 751
599 void Instrument::VisitUnallocated(Instruction* instr) { 752 void Instrument::VisitUnallocated(Instruction* instr) {
600 Update(); 753 Update();
601 static Counter* counter = GetCounter("Other"); 754 static Counter* counter = GetCounter("Other");
602 counter->Increment(); 755 counter->Increment();
603 } 756 }
604 757
605 758
606 void Instrument::VisitUnimplemented(Instruction* instr) { 759 void Instrument::VisitUnimplemented(Instruction* instr) {
607 Update(); 760 Update();
608 static Counter* counter = GetCounter("Other"); 761 static Counter* counter = GetCounter("Other");
609 counter->Increment(); 762 counter->Increment();
610 } 763 }
611 764
612 765
613 } // namespace internal 766 } // namespace internal
614 } // namespace v8 767 } // namespace v8
OLDNEW
« no previous file with comments | « src/arm64/instructions-arm64.cc ('k') | src/arm64/macro-assembler-arm64.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698