468
// Return the new value instruction for a given store.
469
static int GetDotNewOp(const int opc) {
471
default: llvm_unreachable("Unknown .new type");
472
// store new value byte
474
return Hexagon::STrib_nv_V4;
476
case Hexagon::STrib_indexed:
477
return Hexagon::STrib_indexed_nv_V4;
479
case Hexagon::STrib_indexed_shl_V4:
480
return Hexagon::STrib_indexed_shl_nv_V4;
482
case Hexagon::STrib_shl_V4:
483
return Hexagon::STrib_shl_nv_V4;
485
case Hexagon::STb_GP_V4:
486
return Hexagon::STb_GP_nv_V4;
488
case Hexagon::POST_STbri:
489
return Hexagon::POST_STbri_nv_V4;
491
case Hexagon::STrib_cPt:
492
return Hexagon::STrib_cPt_nv_V4;
494
case Hexagon::STrib_cdnPt_V4:
495
return Hexagon::STrib_cdnPt_nv_V4;
497
case Hexagon::STrib_cNotPt:
498
return Hexagon::STrib_cNotPt_nv_V4;
500
case Hexagon::STrib_cdnNotPt_V4:
501
return Hexagon::STrib_cdnNotPt_nv_V4;
503
case Hexagon::STrib_indexed_cPt:
504
return Hexagon::STrib_indexed_cPt_nv_V4;
506
case Hexagon::STrib_indexed_cdnPt_V4:
507
return Hexagon::STrib_indexed_cdnPt_nv_V4;
509
case Hexagon::STrib_indexed_cNotPt:
510
return Hexagon::STrib_indexed_cNotPt_nv_V4;
512
case Hexagon::STrib_indexed_cdnNotPt_V4:
513
return Hexagon::STrib_indexed_cdnNotPt_nv_V4;
515
case Hexagon::STrib_indexed_shl_cPt_V4:
516
return Hexagon::STrib_indexed_shl_cPt_nv_V4;
518
case Hexagon::STrib_indexed_shl_cdnPt_V4:
519
return Hexagon::STrib_indexed_shl_cdnPt_nv_V4;
521
case Hexagon::STrib_indexed_shl_cNotPt_V4:
522
return Hexagon::STrib_indexed_shl_cNotPt_nv_V4;
524
case Hexagon::STrib_indexed_shl_cdnNotPt_V4:
525
return Hexagon::STrib_indexed_shl_cdnNotPt_nv_V4;
527
case Hexagon::POST_STbri_cPt:
528
return Hexagon::POST_STbri_cPt_nv_V4;
530
case Hexagon::POST_STbri_cdnPt_V4:
531
return Hexagon::POST_STbri_cdnPt_nv_V4;
533
case Hexagon::POST_STbri_cNotPt:
534
return Hexagon::POST_STbri_cNotPt_nv_V4;
536
case Hexagon::POST_STbri_cdnNotPt_V4:
537
return Hexagon::POST_STbri_cdnNotPt_nv_V4;
539
case Hexagon::STb_GP_cPt_V4:
540
return Hexagon::STb_GP_cPt_nv_V4;
542
case Hexagon::STb_GP_cNotPt_V4:
543
return Hexagon::STb_GP_cNotPt_nv_V4;
545
case Hexagon::STb_GP_cdnPt_V4:
546
return Hexagon::STb_GP_cdnPt_nv_V4;
548
case Hexagon::STb_GP_cdnNotPt_V4:
549
return Hexagon::STb_GP_cdnNotPt_nv_V4;
551
// store new value halfword
553
return Hexagon::STrih_nv_V4;
555
case Hexagon::STrih_indexed:
556
return Hexagon::STrih_indexed_nv_V4;
558
case Hexagon::STrih_indexed_shl_V4:
559
return Hexagon::STrih_indexed_shl_nv_V4;
561
case Hexagon::STrih_shl_V4:
562
return Hexagon::STrih_shl_nv_V4;
564
case Hexagon::STh_GP_V4:
565
return Hexagon::STh_GP_nv_V4;
567
case Hexagon::POST_SThri:
568
return Hexagon::POST_SThri_nv_V4;
570
case Hexagon::STrih_cPt:
571
return Hexagon::STrih_cPt_nv_V4;
573
case Hexagon::STrih_cdnPt_V4:
574
return Hexagon::STrih_cdnPt_nv_V4;
576
case Hexagon::STrih_cNotPt:
577
return Hexagon::STrih_cNotPt_nv_V4;
579
case Hexagon::STrih_cdnNotPt_V4:
580
return Hexagon::STrih_cdnNotPt_nv_V4;
582
case Hexagon::STrih_indexed_cPt:
583
return Hexagon::STrih_indexed_cPt_nv_V4;
585
case Hexagon::STrih_indexed_cdnPt_V4:
586
return Hexagon::STrih_indexed_cdnPt_nv_V4;
588
case Hexagon::STrih_indexed_cNotPt:
589
return Hexagon::STrih_indexed_cNotPt_nv_V4;
591
case Hexagon::STrih_indexed_cdnNotPt_V4:
592
return Hexagon::STrih_indexed_cdnNotPt_nv_V4;
594
case Hexagon::STrih_indexed_shl_cPt_V4:
595
return Hexagon::STrih_indexed_shl_cPt_nv_V4;
597
case Hexagon::STrih_indexed_shl_cdnPt_V4:
598
return Hexagon::STrih_indexed_shl_cdnPt_nv_V4;
600
case Hexagon::STrih_indexed_shl_cNotPt_V4:
601
return Hexagon::STrih_indexed_shl_cNotPt_nv_V4;
603
case Hexagon::STrih_indexed_shl_cdnNotPt_V4:
604
return Hexagon::STrih_indexed_shl_cdnNotPt_nv_V4;
606
case Hexagon::POST_SThri_cPt:
607
return Hexagon::POST_SThri_cPt_nv_V4;
609
case Hexagon::POST_SThri_cdnPt_V4:
610
return Hexagon::POST_SThri_cdnPt_nv_V4;
612
case Hexagon::POST_SThri_cNotPt:
613
return Hexagon::POST_SThri_cNotPt_nv_V4;
615
case Hexagon::POST_SThri_cdnNotPt_V4:
616
return Hexagon::POST_SThri_cdnNotPt_nv_V4;
618
case Hexagon::STh_GP_cPt_V4:
619
return Hexagon::STh_GP_cPt_nv_V4;
621
case Hexagon::STh_GP_cNotPt_V4:
622
return Hexagon::STh_GP_cNotPt_nv_V4;
624
case Hexagon::STh_GP_cdnPt_V4:
625
return Hexagon::STh_GP_cdnPt_nv_V4;
627
case Hexagon::STh_GP_cdnNotPt_V4:
628
return Hexagon::STh_GP_cdnNotPt_nv_V4;
630
// store new value word
632
return Hexagon::STriw_nv_V4;
634
case Hexagon::STriw_indexed:
635
return Hexagon::STriw_indexed_nv_V4;
637
case Hexagon::STriw_indexed_shl_V4:
638
return Hexagon::STriw_indexed_shl_nv_V4;
640
case Hexagon::STriw_shl_V4:
641
return Hexagon::STriw_shl_nv_V4;
643
case Hexagon::STw_GP_V4:
644
return Hexagon::STw_GP_nv_V4;
646
case Hexagon::POST_STwri:
647
return Hexagon::POST_STwri_nv_V4;
649
case Hexagon::STriw_cPt:
650
return Hexagon::STriw_cPt_nv_V4;
652
case Hexagon::STriw_cdnPt_V4:
653
return Hexagon::STriw_cdnPt_nv_V4;
655
case Hexagon::STriw_cNotPt:
656
return Hexagon::STriw_cNotPt_nv_V4;
658
case Hexagon::STriw_cdnNotPt_V4:
659
return Hexagon::STriw_cdnNotPt_nv_V4;
661
case Hexagon::STriw_indexed_cPt:
662
return Hexagon::STriw_indexed_cPt_nv_V4;
664
case Hexagon::STriw_indexed_cdnPt_V4:
665
return Hexagon::STriw_indexed_cdnPt_nv_V4;
667
case Hexagon::STriw_indexed_cNotPt:
668
return Hexagon::STriw_indexed_cNotPt_nv_V4;
670
case Hexagon::STriw_indexed_cdnNotPt_V4:
671
return Hexagon::STriw_indexed_cdnNotPt_nv_V4;
673
case Hexagon::STriw_indexed_shl_cPt_V4:
674
return Hexagon::STriw_indexed_shl_cPt_nv_V4;
676
case Hexagon::STriw_indexed_shl_cdnPt_V4:
677
return Hexagon::STriw_indexed_shl_cdnPt_nv_V4;
679
case Hexagon::STriw_indexed_shl_cNotPt_V4:
680
return Hexagon::STriw_indexed_shl_cNotPt_nv_V4;
682
case Hexagon::STriw_indexed_shl_cdnNotPt_V4:
683
return Hexagon::STriw_indexed_shl_cdnNotPt_nv_V4;
685
case Hexagon::POST_STwri_cPt:
686
return Hexagon::POST_STwri_cPt_nv_V4;
688
case Hexagon::POST_STwri_cdnPt_V4:
689
return Hexagon::POST_STwri_cdnPt_nv_V4;
691
case Hexagon::POST_STwri_cNotPt:
692
return Hexagon::POST_STwri_cNotPt_nv_V4;
694
case Hexagon::POST_STwri_cdnNotPt_V4:
695
return Hexagon::POST_STwri_cdnNotPt_nv_V4;
697
case Hexagon::STw_GP_cPt_V4:
698
return Hexagon::STw_GP_cPt_nv_V4;
700
case Hexagon::STw_GP_cNotPt_V4:
701
return Hexagon::STw_GP_cNotPt_nv_V4;
703
case Hexagon::STw_GP_cdnPt_V4:
704
return Hexagon::STw_GP_cdnPt_nv_V4;
706
case Hexagon::STw_GP_cdnNotPt_V4:
707
return Hexagon::STw_GP_cdnNotPt_nv_V4;
712
// Return .new predicate version for an instruction
713
static int GetDotNewPredOp(const int opc) {
715
default: llvm_unreachable("Unknown .new type");
716
// Conditional stores
717
// Store byte conditionally
718
case Hexagon::STrib_cPt :
719
return Hexagon::STrib_cdnPt_V4;
721
case Hexagon::STrib_cNotPt :
722
return Hexagon::STrib_cdnNotPt_V4;
724
case Hexagon::STrib_indexed_cPt :
725
return Hexagon::STrib_indexed_cdnPt_V4;
727
case Hexagon::STrib_indexed_cNotPt :
728
return Hexagon::STrib_indexed_cdnNotPt_V4;
730
case Hexagon::STrib_imm_cPt_V4 :
731
return Hexagon::STrib_imm_cdnPt_V4;
733
case Hexagon::STrib_imm_cNotPt_V4 :
734
return Hexagon::STrib_imm_cdnNotPt_V4;
736
case Hexagon::POST_STbri_cPt :
737
return Hexagon::POST_STbri_cdnPt_V4;
739
case Hexagon::POST_STbri_cNotPt :
740
return Hexagon::POST_STbri_cdnNotPt_V4;
742
case Hexagon::STrib_indexed_shl_cPt_V4 :
743
return Hexagon::STrib_indexed_shl_cdnPt_V4;
745
case Hexagon::STrib_indexed_shl_cNotPt_V4 :
746
return Hexagon::STrib_indexed_shl_cdnNotPt_V4;
748
case Hexagon::STb_GP_cPt_V4 :
749
return Hexagon::STb_GP_cdnPt_V4;
751
case Hexagon::STb_GP_cNotPt_V4 :
752
return Hexagon::STb_GP_cdnNotPt_V4;
754
// Store doubleword conditionally
755
case Hexagon::STrid_cPt :
756
return Hexagon::STrid_cdnPt_V4;
758
case Hexagon::STrid_cNotPt :
759
return Hexagon::STrid_cdnNotPt_V4;
761
case Hexagon::STrid_indexed_cPt :
762
return Hexagon::STrid_indexed_cdnPt_V4;
764
case Hexagon::STrid_indexed_cNotPt :
765
return Hexagon::STrid_indexed_cdnNotPt_V4;
767
case Hexagon::STrid_indexed_shl_cPt_V4 :
768
return Hexagon::STrid_indexed_shl_cdnPt_V4;
770
case Hexagon::STrid_indexed_shl_cNotPt_V4 :
771
return Hexagon::STrid_indexed_shl_cdnNotPt_V4;
773
case Hexagon::POST_STdri_cPt :
774
return Hexagon::POST_STdri_cdnPt_V4;
776
case Hexagon::POST_STdri_cNotPt :
777
return Hexagon::POST_STdri_cdnNotPt_V4;
779
case Hexagon::STd_GP_cPt_V4 :
780
return Hexagon::STd_GP_cdnPt_V4;
782
case Hexagon::STd_GP_cNotPt_V4 :
783
return Hexagon::STd_GP_cdnNotPt_V4;
785
// Store halfword conditionally
786
case Hexagon::STrih_cPt :
787
return Hexagon::STrih_cdnPt_V4;
789
case Hexagon::STrih_cNotPt :
790
return Hexagon::STrih_cdnNotPt_V4;
792
case Hexagon::STrih_indexed_cPt :
793
return Hexagon::STrih_indexed_cdnPt_V4;
795
case Hexagon::STrih_indexed_cNotPt :
796
return Hexagon::STrih_indexed_cdnNotPt_V4;
798
case Hexagon::STrih_imm_cPt_V4 :
799
return Hexagon::STrih_imm_cdnPt_V4;
801
case Hexagon::STrih_imm_cNotPt_V4 :
802
return Hexagon::STrih_imm_cdnNotPt_V4;
804
case Hexagon::STrih_indexed_shl_cPt_V4 :
805
return Hexagon::STrih_indexed_shl_cdnPt_V4;
807
case Hexagon::STrih_indexed_shl_cNotPt_V4 :
808
return Hexagon::STrih_indexed_shl_cdnNotPt_V4;
810
case Hexagon::POST_SThri_cPt :
811
return Hexagon::POST_SThri_cdnPt_V4;
813
case Hexagon::POST_SThri_cNotPt :
814
return Hexagon::POST_SThri_cdnNotPt_V4;
816
case Hexagon::STh_GP_cPt_V4 :
817
return Hexagon::STh_GP_cdnPt_V4;
819
case Hexagon::STh_GP_cNotPt_V4 :
820
return Hexagon::STh_GP_cdnNotPt_V4;
822
// Store word conditionally
823
case Hexagon::STriw_cPt :
824
return Hexagon::STriw_cdnPt_V4;
826
case Hexagon::STriw_cNotPt :
827
return Hexagon::STriw_cdnNotPt_V4;
829
case Hexagon::STriw_indexed_cPt :
830
return Hexagon::STriw_indexed_cdnPt_V4;
832
case Hexagon::STriw_indexed_cNotPt :
833
return Hexagon::STriw_indexed_cdnNotPt_V4;
835
case Hexagon::STriw_imm_cPt_V4 :
836
return Hexagon::STriw_imm_cdnPt_V4;
838
case Hexagon::STriw_imm_cNotPt_V4 :
839
return Hexagon::STriw_imm_cdnNotPt_V4;
841
case Hexagon::STriw_indexed_shl_cPt_V4 :
842
return Hexagon::STriw_indexed_shl_cdnPt_V4;
844
case Hexagon::STriw_indexed_shl_cNotPt_V4 :
845
return Hexagon::STriw_indexed_shl_cdnNotPt_V4;
847
case Hexagon::POST_STwri_cPt :
848
return Hexagon::POST_STwri_cdnPt_V4;
850
case Hexagon::POST_STwri_cNotPt :
851
return Hexagon::POST_STwri_cdnNotPt_V4;
853
case Hexagon::STw_GP_cPt_V4 :
854
return Hexagon::STw_GP_cdnPt_V4;
856
case Hexagon::STw_GP_cNotPt_V4 :
857
return Hexagon::STw_GP_cdnNotPt_V4;
861
return Hexagon::JMP_cdnPt;
863
case Hexagon::JMP_cNot:
864
return Hexagon::JMP_cdnNotPt;
866
case Hexagon::JMPR_cPt:
867
return Hexagon::JMPR_cdnPt_V3;
869
case Hexagon::JMPR_cNotPt:
870
return Hexagon::JMPR_cdnNotPt_V3;
872
// Conditional Transfers
873
case Hexagon::TFR_cPt:
874
return Hexagon::TFR_cdnPt;
876
case Hexagon::TFR_cNotPt:
877
return Hexagon::TFR_cdnNotPt;
879
case Hexagon::TFRI_cPt:
880
return Hexagon::TFRI_cdnPt;
882
case Hexagon::TFRI_cNotPt:
883
return Hexagon::TFRI_cdnNotPt;
886
case Hexagon::LDrid_cPt :
887
return Hexagon::LDrid_cdnPt;
889
case Hexagon::LDrid_cNotPt :
890
return Hexagon::LDrid_cdnNotPt;
892
case Hexagon::LDrid_indexed_cPt :
893
return Hexagon::LDrid_indexed_cdnPt;
895
case Hexagon::LDrid_indexed_cNotPt :
896
return Hexagon::LDrid_indexed_cdnNotPt;
898
case Hexagon::POST_LDrid_cPt :
899
return Hexagon::POST_LDrid_cdnPt_V4;
901
case Hexagon::POST_LDrid_cNotPt :
902
return Hexagon::POST_LDrid_cdnNotPt_V4;
905
case Hexagon::LDriw_cPt :
906
return Hexagon::LDriw_cdnPt;
908
case Hexagon::LDriw_cNotPt :
909
return Hexagon::LDriw_cdnNotPt;
911
case Hexagon::LDriw_indexed_cPt :
912
return Hexagon::LDriw_indexed_cdnPt;
914
case Hexagon::LDriw_indexed_cNotPt :
915
return Hexagon::LDriw_indexed_cdnNotPt;
917
case Hexagon::POST_LDriw_cPt :
918
return Hexagon::POST_LDriw_cdnPt_V4;
920
case Hexagon::POST_LDriw_cNotPt :
921
return Hexagon::POST_LDriw_cdnNotPt_V4;
924
case Hexagon::LDrih_cPt :
925
return Hexagon::LDrih_cdnPt;
927
case Hexagon::LDrih_cNotPt :
928
return Hexagon::LDrih_cdnNotPt;
930
case Hexagon::LDrih_indexed_cPt :
931
return Hexagon::LDrih_indexed_cdnPt;
933
case Hexagon::LDrih_indexed_cNotPt :
934
return Hexagon::LDrih_indexed_cdnNotPt;
936
case Hexagon::POST_LDrih_cPt :
937
return Hexagon::POST_LDrih_cdnPt_V4;
939
case Hexagon::POST_LDrih_cNotPt :
940
return Hexagon::POST_LDrih_cdnNotPt_V4;
943
case Hexagon::LDrib_cPt :
944
return Hexagon::LDrib_cdnPt;
946
case Hexagon::LDrib_cNotPt :
947
return Hexagon::LDrib_cdnNotPt;
949
case Hexagon::LDrib_indexed_cPt :
950
return Hexagon::LDrib_indexed_cdnPt;
952
case Hexagon::LDrib_indexed_cNotPt :
953
return Hexagon::LDrib_indexed_cdnNotPt;
955
case Hexagon::POST_LDrib_cPt :
956
return Hexagon::POST_LDrib_cdnPt_V4;
958
case Hexagon::POST_LDrib_cNotPt :
959
return Hexagon::POST_LDrib_cdnNotPt_V4;
961
// Load unsigned halfword
962
case Hexagon::LDriuh_cPt :
963
return Hexagon::LDriuh_cdnPt;
965
case Hexagon::LDriuh_cNotPt :
966
return Hexagon::LDriuh_cdnNotPt;
968
case Hexagon::LDriuh_indexed_cPt :
969
return Hexagon::LDriuh_indexed_cdnPt;
971
case Hexagon::LDriuh_indexed_cNotPt :
972
return Hexagon::LDriuh_indexed_cdnNotPt;
974
case Hexagon::POST_LDriuh_cPt :
975
return Hexagon::POST_LDriuh_cdnPt_V4;
977
case Hexagon::POST_LDriuh_cNotPt :
978
return Hexagon::POST_LDriuh_cdnNotPt_V4;
980
// Load unsigned byte
981
case Hexagon::LDriub_cPt :
982
return Hexagon::LDriub_cdnPt;
984
case Hexagon::LDriub_cNotPt :
985
return Hexagon::LDriub_cdnNotPt;
987
case Hexagon::LDriub_indexed_cPt :
988
return Hexagon::LDriub_indexed_cdnPt;
990
case Hexagon::LDriub_indexed_cNotPt :
991
return Hexagon::LDriub_indexed_cdnNotPt;
993
case Hexagon::POST_LDriub_cPt :
994
return Hexagon::POST_LDriub_cdnPt_V4;
996
case Hexagon::POST_LDriub_cNotPt :
997
return Hexagon::POST_LDriub_cdnNotPt_V4;
999
// V4 indexed+scaled load
1001
case Hexagon::LDrid_indexed_shl_cPt_V4 :
1002
return Hexagon::LDrid_indexed_shl_cdnPt_V4;
1004
case Hexagon::LDrid_indexed_shl_cNotPt_V4 :
1005
return Hexagon::LDrid_indexed_shl_cdnNotPt_V4;
1007
case Hexagon::LDrib_indexed_shl_cPt_V4 :
1008
return Hexagon::LDrib_indexed_shl_cdnPt_V4;
1010
case Hexagon::LDrib_indexed_shl_cNotPt_V4 :
1011
return Hexagon::LDrib_indexed_shl_cdnNotPt_V4;
1013
case Hexagon::LDriub_indexed_shl_cPt_V4 :
1014
return Hexagon::LDriub_indexed_shl_cdnPt_V4;
1016
case Hexagon::LDriub_indexed_shl_cNotPt_V4 :
1017
return Hexagon::LDriub_indexed_shl_cdnNotPt_V4;
1019
case Hexagon::LDrih_indexed_shl_cPt_V4 :
1020
return Hexagon::LDrih_indexed_shl_cdnPt_V4;
1022
case Hexagon::LDrih_indexed_shl_cNotPt_V4 :
1023
return Hexagon::LDrih_indexed_shl_cdnNotPt_V4;
1025
case Hexagon::LDriuh_indexed_shl_cPt_V4 :
1026
return Hexagon::LDriuh_indexed_shl_cdnPt_V4;
1028
case Hexagon::LDriuh_indexed_shl_cNotPt_V4 :
1029
return Hexagon::LDriuh_indexed_shl_cdnNotPt_V4;
1031
case Hexagon::LDriw_indexed_shl_cPt_V4 :
1032
return Hexagon::LDriw_indexed_shl_cdnPt_V4;
1034
case Hexagon::LDriw_indexed_shl_cNotPt_V4 :
1035
return Hexagon::LDriw_indexed_shl_cdnNotPt_V4;
1037
// V4 global address load
1039
case Hexagon::LDd_GP_cPt_V4:
1040
return Hexagon::LDd_GP_cdnPt_V4;
1042
case Hexagon::LDd_GP_cNotPt_V4:
1043
return Hexagon::LDd_GP_cdnNotPt_V4;
1045
case Hexagon::LDb_GP_cPt_V4:
1046
return Hexagon::LDb_GP_cdnPt_V4;
1048
case Hexagon::LDb_GP_cNotPt_V4:
1049
return Hexagon::LDb_GP_cdnNotPt_V4;
1051
case Hexagon::LDub_GP_cPt_V4:
1052
return Hexagon::LDub_GP_cdnPt_V4;
1054
case Hexagon::LDub_GP_cNotPt_V4:
1055
return Hexagon::LDub_GP_cdnNotPt_V4;
1057
case Hexagon::LDh_GP_cPt_V4:
1058
return Hexagon::LDh_GP_cdnPt_V4;
1060
case Hexagon::LDh_GP_cNotPt_V4:
1061
return Hexagon::LDh_GP_cdnNotPt_V4;
1063
case Hexagon::LDuh_GP_cPt_V4:
1064
return Hexagon::LDuh_GP_cdnPt_V4;
1066
case Hexagon::LDuh_GP_cNotPt_V4:
1067
return Hexagon::LDuh_GP_cdnNotPt_V4;
1069
case Hexagon::LDw_GP_cPt_V4:
1070
return Hexagon::LDw_GP_cdnPt_V4;
1072
case Hexagon::LDw_GP_cNotPt_V4:
1073
return Hexagon::LDw_GP_cdnNotPt_V4;
1075
// Conditional store new-value byte
1076
case Hexagon::STrib_cPt_nv_V4 :
1077
return Hexagon::STrib_cdnPt_nv_V4;
1078
case Hexagon::STrib_cNotPt_nv_V4 :
1079
return Hexagon::STrib_cdnNotPt_nv_V4;
1081
case Hexagon::STrib_indexed_cPt_nv_V4 :
1082
return Hexagon::STrib_indexed_cdnPt_nv_V4;
1083
case Hexagon::STrib_indexed_cNotPt_nv_V4 :
1084
return Hexagon::STrib_indexed_cdnNotPt_nv_V4;
1086
case Hexagon::STrib_indexed_shl_cPt_nv_V4 :
1087
return Hexagon::STrib_indexed_shl_cdnPt_nv_V4;
1088
case Hexagon::STrib_indexed_shl_cNotPt_nv_V4 :
1089
return Hexagon::STrib_indexed_shl_cdnNotPt_nv_V4;
1091
case Hexagon::POST_STbri_cPt_nv_V4 :
1092
return Hexagon::POST_STbri_cdnPt_nv_V4;
1093
case Hexagon::POST_STbri_cNotPt_nv_V4 :
1094
return Hexagon::POST_STbri_cdnNotPt_nv_V4;
1096
case Hexagon::STb_GP_cPt_nv_V4 :
1097
return Hexagon::STb_GP_cdnPt_nv_V4;
1099
case Hexagon::STb_GP_cNotPt_nv_V4 :
1100
return Hexagon::STb_GP_cdnNotPt_nv_V4;
1102
// Conditional store new-value halfword
1103
case Hexagon::STrih_cPt_nv_V4 :
1104
return Hexagon::STrih_cdnPt_nv_V4;
1105
case Hexagon::STrih_cNotPt_nv_V4 :
1106
return Hexagon::STrih_cdnNotPt_nv_V4;
1108
case Hexagon::STrih_indexed_cPt_nv_V4 :
1109
return Hexagon::STrih_indexed_cdnPt_nv_V4;
1110
case Hexagon::STrih_indexed_cNotPt_nv_V4 :
1111
return Hexagon::STrih_indexed_cdnNotPt_nv_V4;
1113
case Hexagon::STrih_indexed_shl_cPt_nv_V4 :
1114
return Hexagon::STrih_indexed_shl_cdnPt_nv_V4;
1115
case Hexagon::STrih_indexed_shl_cNotPt_nv_V4 :
1116
return Hexagon::STrih_indexed_shl_cdnNotPt_nv_V4;
1118
case Hexagon::POST_SThri_cPt_nv_V4 :
1119
return Hexagon::POST_SThri_cdnPt_nv_V4;
1120
case Hexagon::POST_SThri_cNotPt_nv_V4 :
1121
return Hexagon::POST_SThri_cdnNotPt_nv_V4;
1123
case Hexagon::STh_GP_cPt_nv_V4 :
1124
return Hexagon::STh_GP_cdnPt_nv_V4;
1126
case Hexagon::STh_GP_cNotPt_nv_V4 :
1127
return Hexagon::STh_GP_cdnNotPt_nv_V4;
1129
// Conditional store new-value word
1130
case Hexagon::STriw_cPt_nv_V4 :
1131
return Hexagon::STriw_cdnPt_nv_V4;
1132
case Hexagon::STriw_cNotPt_nv_V4 :
1133
return Hexagon::STriw_cdnNotPt_nv_V4;
1135
case Hexagon::STriw_indexed_cPt_nv_V4 :
1136
return Hexagon::STriw_indexed_cdnPt_nv_V4;
1137
case Hexagon::STriw_indexed_cNotPt_nv_V4 :
1138
return Hexagon::STriw_indexed_cdnNotPt_nv_V4;
1140
case Hexagon::STriw_indexed_shl_cPt_nv_V4 :
1141
return Hexagon::STriw_indexed_shl_cdnPt_nv_V4;
1142
case Hexagon::STriw_indexed_shl_cNotPt_nv_V4 :
1143
return Hexagon::STriw_indexed_shl_cdnNotPt_nv_V4;
1145
case Hexagon::POST_STwri_cPt_nv_V4 :
1146
return Hexagon::POST_STwri_cdnPt_nv_V4;
1147
case Hexagon::POST_STwri_cNotPt_nv_V4:
1148
return Hexagon::POST_STwri_cdnNotPt_nv_V4;
1150
case Hexagon::STw_GP_cPt_nv_V4 :
1151
return Hexagon::STw_GP_cdnPt_nv_V4;
1153
case Hexagon::STw_GP_cNotPt_nv_V4 :
1154
return Hexagon::STw_GP_cdnNotPt_nv_V4;
1157
case Hexagon::ADD_ri_cPt :
1158
return Hexagon::ADD_ri_cdnPt;
1159
case Hexagon::ADD_ri_cNotPt :
1160
return Hexagon::ADD_ri_cdnNotPt;
1162
case Hexagon::ADD_rr_cPt :
1163
return Hexagon::ADD_rr_cdnPt;
1164
case Hexagon::ADD_rr_cNotPt :
1165
return Hexagon::ADD_rr_cdnNotPt;
1167
// Conditional logical Operations
1168
case Hexagon::XOR_rr_cPt :
1169
return Hexagon::XOR_rr_cdnPt;
1170
case Hexagon::XOR_rr_cNotPt :
1171
return Hexagon::XOR_rr_cdnNotPt;
1173
case Hexagon::AND_rr_cPt :
1174
return Hexagon::AND_rr_cdnPt;
1175
case Hexagon::AND_rr_cNotPt :
1176
return Hexagon::AND_rr_cdnNotPt;
1178
case Hexagon::OR_rr_cPt :
1179
return Hexagon::OR_rr_cdnPt;
1180
case Hexagon::OR_rr_cNotPt :
1181
return Hexagon::OR_rr_cdnNotPt;
1183
// Conditional Subtract
1184
case Hexagon::SUB_rr_cPt :
1185
return Hexagon::SUB_rr_cdnPt;
1186
case Hexagon::SUB_rr_cNotPt :
1187
return Hexagon::SUB_rr_cdnNotPt;
1189
// Conditional combine
1190
case Hexagon::COMBINE_rr_cPt :
1191
return Hexagon::COMBINE_rr_cdnPt;
1192
case Hexagon::COMBINE_rr_cNotPt :
1193
return Hexagon::COMBINE_rr_cdnNotPt;
1195
case Hexagon::ASLH_cPt_V4 :
1196
return Hexagon::ASLH_cdnPt_V4;
1197
case Hexagon::ASLH_cNotPt_V4 :
1198
return Hexagon::ASLH_cdnNotPt_V4;
1200
case Hexagon::ASRH_cPt_V4 :
1201
return Hexagon::ASRH_cdnPt_V4;
1202
case Hexagon::ASRH_cNotPt_V4 :
1203
return Hexagon::ASRH_cdnNotPt_V4;
1205
case Hexagon::SXTB_cPt_V4 :
1206
return Hexagon::SXTB_cdnPt_V4;
1207
case Hexagon::SXTB_cNotPt_V4 :
1208
return Hexagon::SXTB_cdnNotPt_V4;
1210
case Hexagon::SXTH_cPt_V4 :
1211
return Hexagon::SXTH_cdnPt_V4;
1212
case Hexagon::SXTH_cNotPt_V4 :
1213
return Hexagon::SXTH_cdnNotPt_V4;
1215
case Hexagon::ZXTB_cPt_V4 :
1216
return Hexagon::ZXTB_cdnPt_V4;
1217
case Hexagon::ZXTB_cNotPt_V4 :
1218
return Hexagon::ZXTB_cdnNotPt_V4;
1220
case Hexagon::ZXTH_cPt_V4 :
1221
return Hexagon::ZXTH_cdnPt_V4;
1222
case Hexagon::ZXTH_cNotPt_V4 :
1223
return Hexagon::ZXTH_cdnNotPt_V4;
1227
402
// Returns true if an instruction can be promoted to .new predicate
1228
403
// or new-value store.
1229
404
bool HexagonPacketizerList::isNewifiable(MachineInstr* MI) {
1230
if ( isCondInst(MI) || IsNewifyStore(MI))
405
const HexagonInstrInfo *QII = (const HexagonInstrInfo *) TII;
406
if ( isCondInst(MI) || QII->mayBeNewStore(MI))
1263
439
if (RC == &Hexagon::PredRegsRegClass)
1264
NewOpcode = GetDotNewPredOp(MI->getOpcode());
440
NewOpcode = QII->GetDotNewPredOp(MI, MBPI);
1266
NewOpcode = GetDotNewOp(MI->getOpcode());
442
NewOpcode = QII->GetDotNewOp(MI);
1267
443
MI->setDesc(QII->get(NewOpcode));
1272
// Returns the most basic instruction for the .new predicated instructions and
1273
// new-value stores.
1274
// For example, all of the following instructions will be converted back to the
1275
// same instruction:
1276
// 1) if (p0.new) memw(R0+#0) = R1.new --->
1277
// 2) if (p0) memw(R0+#0)= R1.new -------> if (p0) memw(R0+#0) = R1
1278
// 3) if (p0.new) memw(R0+#0) = R1 --->
1280
// To understand the translation of instruction 1 to its original form, consider
1281
// a packet with 3 instructions.
1282
// { p0 = cmp.eq(R0,R1)
1283
// if (p0.new) R2 = add(R3, R4)
1284
// R5 = add (R3, R1)
1286
// if (p0) memw(R5+#0) = R2 <--- trying to include it in the previous packet
1288
// This instruction can be part of the previous packet only if both p0 and R2
1289
// are promoted to .new values. This promotion happens in steps, first
1290
// predicate register is promoted to .new and in the next iteration R2 is
1291
// promoted. Therefore, in case of dependence check failure (due to R5) during
1292
// next iteration, it should be converted back to its most basic form.
1294
static int GetDotOldOp(const int opc) {
1296
default: llvm_unreachable("Unknown .old type");
1297
case Hexagon::TFR_cdnPt:
1298
return Hexagon::TFR_cPt;
1300
case Hexagon::TFR_cdnNotPt:
1301
return Hexagon::TFR_cNotPt;
1303
case Hexagon::TFRI_cdnPt:
1304
return Hexagon::TFRI_cPt;
1306
case Hexagon::TFRI_cdnNotPt:
1307
return Hexagon::TFRI_cNotPt;
1309
case Hexagon::JMP_cdnPt:
1310
return Hexagon::JMP_c;
1312
case Hexagon::JMP_cdnNotPt:
1313
return Hexagon::JMP_cNot;
1315
case Hexagon::JMPR_cdnPt_V3:
1316
return Hexagon::JMPR_cPt;
1318
case Hexagon::JMPR_cdnNotPt_V3:
1319
return Hexagon::JMPR_cNotPt;
1323
case Hexagon::LDrid_cdnPt :
1324
return Hexagon::LDrid_cPt;
1326
case Hexagon::LDrid_cdnNotPt :
1327
return Hexagon::LDrid_cNotPt;
1329
case Hexagon::LDrid_indexed_cdnPt :
1330
return Hexagon::LDrid_indexed_cPt;
1332
case Hexagon::LDrid_indexed_cdnNotPt :
1333
return Hexagon::LDrid_indexed_cNotPt;
1335
case Hexagon::POST_LDrid_cdnPt_V4 :
1336
return Hexagon::POST_LDrid_cPt;
1338
case Hexagon::POST_LDrid_cdnNotPt_V4 :
1339
return Hexagon::POST_LDrid_cNotPt;
1343
case Hexagon::LDriw_cdnPt :
1344
return Hexagon::LDriw_cPt;
1346
case Hexagon::LDriw_cdnNotPt :
1347
return Hexagon::LDriw_cNotPt;
1349
case Hexagon::LDriw_indexed_cdnPt :
1350
return Hexagon::LDriw_indexed_cPt;
1352
case Hexagon::LDriw_indexed_cdnNotPt :
1353
return Hexagon::LDriw_indexed_cNotPt;
1355
case Hexagon::POST_LDriw_cdnPt_V4 :
1356
return Hexagon::POST_LDriw_cPt;
1358
case Hexagon::POST_LDriw_cdnNotPt_V4 :
1359
return Hexagon::POST_LDriw_cNotPt;
1363
case Hexagon::LDrih_cdnPt :
1364
return Hexagon::LDrih_cPt;
1366
case Hexagon::LDrih_cdnNotPt :
1367
return Hexagon::LDrih_cNotPt;
1369
case Hexagon::LDrih_indexed_cdnPt :
1370
return Hexagon::LDrih_indexed_cPt;
1372
case Hexagon::LDrih_indexed_cdnNotPt :
1373
return Hexagon::LDrih_indexed_cNotPt;
1375
case Hexagon::POST_LDrih_cdnPt_V4 :
1376
return Hexagon::POST_LDrih_cPt;
1378
case Hexagon::POST_LDrih_cdnNotPt_V4 :
1379
return Hexagon::POST_LDrih_cNotPt;
1383
case Hexagon::LDrib_cdnPt :
1384
return Hexagon::LDrib_cPt;
1386
case Hexagon::LDrib_cdnNotPt :
1387
return Hexagon::LDrib_cNotPt;
1389
case Hexagon::LDrib_indexed_cdnPt :
1390
return Hexagon::LDrib_indexed_cPt;
1392
case Hexagon::LDrib_indexed_cdnNotPt :
1393
return Hexagon::LDrib_indexed_cNotPt;
1395
case Hexagon::POST_LDrib_cdnPt_V4 :
1396
return Hexagon::POST_LDrib_cPt;
1398
case Hexagon::POST_LDrib_cdnNotPt_V4 :
1399
return Hexagon::POST_LDrib_cNotPt;
1401
// Load unsigned half
1403
case Hexagon::LDriuh_cdnPt :
1404
return Hexagon::LDriuh_cPt;
1406
case Hexagon::LDriuh_cdnNotPt :
1407
return Hexagon::LDriuh_cNotPt;
1409
case Hexagon::LDriuh_indexed_cdnPt :
1410
return Hexagon::LDriuh_indexed_cPt;
1412
case Hexagon::LDriuh_indexed_cdnNotPt :
1413
return Hexagon::LDriuh_indexed_cNotPt;
1415
case Hexagon::POST_LDriuh_cdnPt_V4 :
1416
return Hexagon::POST_LDriuh_cPt;
1418
case Hexagon::POST_LDriuh_cdnNotPt_V4 :
1419
return Hexagon::POST_LDriuh_cNotPt;
1421
// Load unsigned byte
1422
case Hexagon::LDriub_cdnPt :
1423
return Hexagon::LDriub_cPt;
1425
case Hexagon::LDriub_cdnNotPt :
1426
return Hexagon::LDriub_cNotPt;
1428
case Hexagon::LDriub_indexed_cdnPt :
1429
return Hexagon::LDriub_indexed_cPt;
1431
case Hexagon::LDriub_indexed_cdnNotPt :
1432
return Hexagon::LDriub_indexed_cNotPt;
1434
case Hexagon::POST_LDriub_cdnPt_V4 :
1435
return Hexagon::POST_LDriub_cPt;
1437
case Hexagon::POST_LDriub_cdnNotPt_V4 :
1438
return Hexagon::POST_LDriub_cNotPt;
1440
// V4 indexed+scaled Load
1442
case Hexagon::LDrid_indexed_shl_cdnPt_V4 :
1443
return Hexagon::LDrid_indexed_shl_cPt_V4;
1445
case Hexagon::LDrid_indexed_shl_cdnNotPt_V4 :
1446
return Hexagon::LDrid_indexed_shl_cNotPt_V4;
1448
case Hexagon::LDrib_indexed_shl_cdnPt_V4 :
1449
return Hexagon::LDrib_indexed_shl_cPt_V4;
1451
case Hexagon::LDrib_indexed_shl_cdnNotPt_V4 :
1452
return Hexagon::LDrib_indexed_shl_cNotPt_V4;
1454
case Hexagon::LDriub_indexed_shl_cdnPt_V4 :
1455
return Hexagon::LDriub_indexed_shl_cPt_V4;
1457
case Hexagon::LDriub_indexed_shl_cdnNotPt_V4 :
1458
return Hexagon::LDriub_indexed_shl_cNotPt_V4;
1460
case Hexagon::LDrih_indexed_shl_cdnPt_V4 :
1461
return Hexagon::LDrih_indexed_shl_cPt_V4;
1463
case Hexagon::LDrih_indexed_shl_cdnNotPt_V4 :
1464
return Hexagon::LDrih_indexed_shl_cNotPt_V4;
1466
case Hexagon::LDriuh_indexed_shl_cdnPt_V4 :
1467
return Hexagon::LDriuh_indexed_shl_cPt_V4;
1469
case Hexagon::LDriuh_indexed_shl_cdnNotPt_V4 :
1470
return Hexagon::LDriuh_indexed_shl_cNotPt_V4;
1472
case Hexagon::LDriw_indexed_shl_cdnPt_V4 :
1473
return Hexagon::LDriw_indexed_shl_cPt_V4;
1475
case Hexagon::LDriw_indexed_shl_cdnNotPt_V4 :
1476
return Hexagon::LDriw_indexed_shl_cNotPt_V4;
1478
// V4 global address load
1480
case Hexagon::LDd_GP_cdnPt_V4:
1481
return Hexagon::LDd_GP_cPt_V4;
1483
case Hexagon::LDd_GP_cdnNotPt_V4:
1484
return Hexagon::LDd_GP_cNotPt_V4;
1486
case Hexagon::LDb_GP_cdnPt_V4:
1487
return Hexagon::LDb_GP_cPt_V4;
1489
case Hexagon::LDb_GP_cdnNotPt_V4:
1490
return Hexagon::LDb_GP_cNotPt_V4;
1492
case Hexagon::LDub_GP_cdnPt_V4:
1493
return Hexagon::LDub_GP_cPt_V4;
1495
case Hexagon::LDub_GP_cdnNotPt_V4:
1496
return Hexagon::LDub_GP_cNotPt_V4;
1498
case Hexagon::LDh_GP_cdnPt_V4:
1499
return Hexagon::LDh_GP_cPt_V4;
1501
case Hexagon::LDh_GP_cdnNotPt_V4:
1502
return Hexagon::LDh_GP_cNotPt_V4;
1504
case Hexagon::LDuh_GP_cdnPt_V4:
1505
return Hexagon::LDuh_GP_cPt_V4;
1507
case Hexagon::LDuh_GP_cdnNotPt_V4:
1508
return Hexagon::LDuh_GP_cNotPt_V4;
1510
case Hexagon::LDw_GP_cdnPt_V4:
1511
return Hexagon::LDw_GP_cPt_V4;
1513
case Hexagon::LDw_GP_cdnNotPt_V4:
1514
return Hexagon::LDw_GP_cNotPt_V4;
1518
case Hexagon::ADD_ri_cdnPt :
1519
return Hexagon::ADD_ri_cPt;
1520
case Hexagon::ADD_ri_cdnNotPt :
1521
return Hexagon::ADD_ri_cNotPt;
1523
case Hexagon::ADD_rr_cdnPt :
1524
return Hexagon::ADD_rr_cPt;
1525
case Hexagon::ADD_rr_cdnNotPt:
1526
return Hexagon::ADD_rr_cNotPt;
1528
// Conditional logical Operations
1530
case Hexagon::XOR_rr_cdnPt :
1531
return Hexagon::XOR_rr_cPt;
1532
case Hexagon::XOR_rr_cdnNotPt :
1533
return Hexagon::XOR_rr_cNotPt;
1535
case Hexagon::AND_rr_cdnPt :
1536
return Hexagon::AND_rr_cPt;
1537
case Hexagon::AND_rr_cdnNotPt :
1538
return Hexagon::AND_rr_cNotPt;
1540
case Hexagon::OR_rr_cdnPt :
1541
return Hexagon::OR_rr_cPt;
1542
case Hexagon::OR_rr_cdnNotPt :
1543
return Hexagon::OR_rr_cNotPt;
1545
// Conditional Subtract
1547
case Hexagon::SUB_rr_cdnPt :
1548
return Hexagon::SUB_rr_cPt;
1549
case Hexagon::SUB_rr_cdnNotPt :
1550
return Hexagon::SUB_rr_cNotPt;
1552
// Conditional combine
1554
case Hexagon::COMBINE_rr_cdnPt :
1555
return Hexagon::COMBINE_rr_cPt;
1556
case Hexagon::COMBINE_rr_cdnNotPt :
1557
return Hexagon::COMBINE_rr_cNotPt;
1559
// Conditional shift operations
1561
case Hexagon::ASLH_cdnPt_V4 :
1562
return Hexagon::ASLH_cPt_V4;
1563
case Hexagon::ASLH_cdnNotPt_V4 :
1564
return Hexagon::ASLH_cNotPt_V4;
1566
case Hexagon::ASRH_cdnPt_V4 :
1567
return Hexagon::ASRH_cPt_V4;
1568
case Hexagon::ASRH_cdnNotPt_V4 :
1569
return Hexagon::ASRH_cNotPt_V4;
1571
case Hexagon::SXTB_cdnPt_V4 :
1572
return Hexagon::SXTB_cPt_V4;
1573
case Hexagon::SXTB_cdnNotPt_V4 :
1574
return Hexagon::SXTB_cNotPt_V4;
1576
case Hexagon::SXTH_cdnPt_V4 :
1577
return Hexagon::SXTH_cPt_V4;
1578
case Hexagon::SXTH_cdnNotPt_V4 :
1579
return Hexagon::SXTH_cNotPt_V4;
1581
case Hexagon::ZXTB_cdnPt_V4 :
1582
return Hexagon::ZXTB_cPt_V4;
1583
case Hexagon::ZXTB_cdnNotPt_V4 :
1584
return Hexagon::ZXTB_cNotPt_V4;
1586
case Hexagon::ZXTH_cdnPt_V4 :
1587
return Hexagon::ZXTH_cPt_V4;
1588
case Hexagon::ZXTH_cdnNotPt_V4 :
1589
return Hexagon::ZXTH_cNotPt_V4;
1593
case Hexagon::STrib_imm_cdnPt_V4 :
1594
return Hexagon::STrib_imm_cPt_V4;
1596
case Hexagon::STrib_imm_cdnNotPt_V4 :
1597
return Hexagon::STrib_imm_cNotPt_V4;
1599
case Hexagon::STrib_cdnPt_nv_V4 :
1600
case Hexagon::STrib_cPt_nv_V4 :
1601
case Hexagon::STrib_cdnPt_V4 :
1602
return Hexagon::STrib_cPt;
1604
case Hexagon::STrib_cdnNotPt_nv_V4 :
1605
case Hexagon::STrib_cNotPt_nv_V4 :
1606
case Hexagon::STrib_cdnNotPt_V4 :
1607
return Hexagon::STrib_cNotPt;
1609
case Hexagon::STrib_indexed_cdnPt_V4 :
1610
case Hexagon::STrib_indexed_cPt_nv_V4 :
1611
case Hexagon::STrib_indexed_cdnPt_nv_V4 :
1612
return Hexagon::STrib_indexed_cPt;
1614
case Hexagon::STrib_indexed_cdnNotPt_V4 :
1615
case Hexagon::STrib_indexed_cNotPt_nv_V4 :
1616
case Hexagon::STrib_indexed_cdnNotPt_nv_V4 :
1617
return Hexagon::STrib_indexed_cNotPt;
1619
case Hexagon::STrib_indexed_shl_cdnPt_nv_V4:
1620
case Hexagon::STrib_indexed_shl_cPt_nv_V4 :
1621
case Hexagon::STrib_indexed_shl_cdnPt_V4 :
1622
return Hexagon::STrib_indexed_shl_cPt_V4;
1624
case Hexagon::STrib_indexed_shl_cdnNotPt_nv_V4:
1625
case Hexagon::STrib_indexed_shl_cNotPt_nv_V4 :
1626
case Hexagon::STrib_indexed_shl_cdnNotPt_V4 :
1627
return Hexagon::STrib_indexed_shl_cNotPt_V4;
1629
case Hexagon::POST_STbri_cdnPt_nv_V4 :
1630
case Hexagon::POST_STbri_cPt_nv_V4 :
1631
case Hexagon::POST_STbri_cdnPt_V4 :
1632
return Hexagon::POST_STbri_cPt;
1634
case Hexagon::POST_STbri_cdnNotPt_nv_V4 :
1635
case Hexagon::POST_STbri_cNotPt_nv_V4:
1636
case Hexagon::POST_STbri_cdnNotPt_V4 :
1637
return Hexagon::POST_STbri_cNotPt;
1639
case Hexagon::STb_GP_cdnPt_nv_V4:
1640
case Hexagon::STb_GP_cdnPt_V4:
1641
case Hexagon::STb_GP_cPt_nv_V4:
1642
return Hexagon::STb_GP_cPt_V4;
1644
case Hexagon::STb_GP_cdnNotPt_nv_V4:
1645
case Hexagon::STb_GP_cdnNotPt_V4:
1646
case Hexagon::STb_GP_cNotPt_nv_V4:
1647
return Hexagon::STb_GP_cNotPt_V4;
1649
// Store new-value byte - unconditional
1650
case Hexagon::STrib_nv_V4:
1651
return Hexagon::STrib;
1653
case Hexagon::STrib_indexed_nv_V4:
1654
return Hexagon::STrib_indexed;
1656
case Hexagon::STrib_indexed_shl_nv_V4:
1657
return Hexagon::STrib_indexed_shl_V4;
1659
case Hexagon::STrib_shl_nv_V4:
1660
return Hexagon::STrib_shl_V4;
1662
case Hexagon::STb_GP_nv_V4:
1663
return Hexagon::STb_GP_V4;
1665
case Hexagon::POST_STbri_nv_V4:
1666
return Hexagon::POST_STbri;
1669
case Hexagon::STrih_imm_cdnPt_V4 :
1670
return Hexagon::STrih_imm_cPt_V4;
1672
case Hexagon::STrih_imm_cdnNotPt_V4 :
1673
return Hexagon::STrih_imm_cNotPt_V4;
1675
case Hexagon::STrih_cdnPt_nv_V4 :
1676
case Hexagon::STrih_cPt_nv_V4 :
1677
case Hexagon::STrih_cdnPt_V4 :
1678
return Hexagon::STrih_cPt;
1680
case Hexagon::STrih_cdnNotPt_nv_V4 :
1681
case Hexagon::STrih_cNotPt_nv_V4 :
1682
case Hexagon::STrih_cdnNotPt_V4 :
1683
return Hexagon::STrih_cNotPt;
1685
case Hexagon::STrih_indexed_cdnPt_nv_V4:
1686
case Hexagon::STrih_indexed_cPt_nv_V4 :
1687
case Hexagon::STrih_indexed_cdnPt_V4 :
1688
return Hexagon::STrih_indexed_cPt;
1690
case Hexagon::STrih_indexed_cdnNotPt_nv_V4:
1691
case Hexagon::STrih_indexed_cNotPt_nv_V4 :
1692
case Hexagon::STrih_indexed_cdnNotPt_V4 :
1693
return Hexagon::STrih_indexed_cNotPt;
1695
case Hexagon::STrih_indexed_shl_cdnPt_nv_V4 :
1696
case Hexagon::STrih_indexed_shl_cPt_nv_V4 :
1697
case Hexagon::STrih_indexed_shl_cdnPt_V4 :
1698
return Hexagon::STrih_indexed_shl_cPt_V4;
1700
case Hexagon::STrih_indexed_shl_cdnNotPt_nv_V4 :
1701
case Hexagon::STrih_indexed_shl_cNotPt_nv_V4 :
1702
case Hexagon::STrih_indexed_shl_cdnNotPt_V4 :
1703
return Hexagon::STrih_indexed_shl_cNotPt_V4;
1705
case Hexagon::POST_SThri_cdnPt_nv_V4 :
1706
case Hexagon::POST_SThri_cPt_nv_V4 :
1707
case Hexagon::POST_SThri_cdnPt_V4 :
1708
return Hexagon::POST_SThri_cPt;
1710
case Hexagon::POST_SThri_cdnNotPt_nv_V4 :
1711
case Hexagon::POST_SThri_cNotPt_nv_V4 :
1712
case Hexagon::POST_SThri_cdnNotPt_V4 :
1713
return Hexagon::POST_SThri_cNotPt;
1715
case Hexagon::STh_GP_cdnPt_nv_V4:
1716
case Hexagon::STh_GP_cdnPt_V4:
1717
case Hexagon::STh_GP_cPt_nv_V4:
1718
return Hexagon::STh_GP_cPt_V4;
1720
case Hexagon::STh_GP_cdnNotPt_nv_V4:
1721
case Hexagon::STh_GP_cdnNotPt_V4:
1722
case Hexagon::STh_GP_cNotPt_nv_V4:
1723
return Hexagon::STh_GP_cNotPt_V4;
1725
// Store new-value halfword - unconditional
1727
case Hexagon::STrih_nv_V4:
1728
return Hexagon::STrih;
1730
case Hexagon::STrih_indexed_nv_V4:
1731
return Hexagon::STrih_indexed;
1733
case Hexagon::STrih_indexed_shl_nv_V4:
1734
return Hexagon::STrih_indexed_shl_V4;
1736
case Hexagon::STrih_shl_nv_V4:
1737
return Hexagon::STrih_shl_V4;
1739
case Hexagon::STh_GP_nv_V4:
1740
return Hexagon::STh_GP_V4;
1742
case Hexagon::POST_SThri_nv_V4:
1743
return Hexagon::POST_SThri;
1747
case Hexagon::STriw_imm_cdnPt_V4 :
1748
return Hexagon::STriw_imm_cPt_V4;
1750
case Hexagon::STriw_imm_cdnNotPt_V4 :
1751
return Hexagon::STriw_imm_cNotPt_V4;
1753
case Hexagon::STriw_cdnPt_nv_V4 :
1754
case Hexagon::STriw_cPt_nv_V4 :
1755
case Hexagon::STriw_cdnPt_V4 :
1756
return Hexagon::STriw_cPt;
1758
case Hexagon::STriw_cdnNotPt_nv_V4 :
1759
case Hexagon::STriw_cNotPt_nv_V4 :
1760
case Hexagon::STriw_cdnNotPt_V4 :
1761
return Hexagon::STriw_cNotPt;
1763
case Hexagon::STriw_indexed_cdnPt_nv_V4 :
1764
case Hexagon::STriw_indexed_cPt_nv_V4 :
1765
case Hexagon::STriw_indexed_cdnPt_V4 :
1766
return Hexagon::STriw_indexed_cPt;
1768
case Hexagon::STriw_indexed_cdnNotPt_nv_V4 :
1769
case Hexagon::STriw_indexed_cNotPt_nv_V4 :
1770
case Hexagon::STriw_indexed_cdnNotPt_V4 :
1771
return Hexagon::STriw_indexed_cNotPt;
1773
case Hexagon::STriw_indexed_shl_cdnPt_nv_V4 :
1774
case Hexagon::STriw_indexed_shl_cPt_nv_V4 :
1775
case Hexagon::STriw_indexed_shl_cdnPt_V4 :
1776
return Hexagon::STriw_indexed_shl_cPt_V4;
1778
case Hexagon::STriw_indexed_shl_cdnNotPt_nv_V4 :
1779
case Hexagon::STriw_indexed_shl_cNotPt_nv_V4 :
1780
case Hexagon::STriw_indexed_shl_cdnNotPt_V4 :
1781
return Hexagon::STriw_indexed_shl_cNotPt_V4;
1783
case Hexagon::POST_STwri_cdnPt_nv_V4 :
1784
case Hexagon::POST_STwri_cPt_nv_V4 :
1785
case Hexagon::POST_STwri_cdnPt_V4 :
1786
return Hexagon::POST_STwri_cPt;
1788
case Hexagon::POST_STwri_cdnNotPt_nv_V4 :
1789
case Hexagon::POST_STwri_cNotPt_nv_V4 :
1790
case Hexagon::POST_STwri_cdnNotPt_V4 :
1791
return Hexagon::POST_STwri_cNotPt;
1793
case Hexagon::STw_GP_cdnPt_nv_V4:
1794
case Hexagon::STw_GP_cdnPt_V4:
1795
case Hexagon::STw_GP_cPt_nv_V4:
1796
return Hexagon::STw_GP_cPt_V4;
1798
case Hexagon::STw_GP_cdnNotPt_nv_V4:
1799
case Hexagon::STw_GP_cdnNotPt_V4:
1800
case Hexagon::STw_GP_cNotPt_nv_V4:
1801
return Hexagon::STw_GP_cNotPt_V4;
1803
// Store new-value word - unconditional
1805
case Hexagon::STriw_nv_V4:
1806
return Hexagon::STriw;
1808
case Hexagon::STriw_indexed_nv_V4:
1809
return Hexagon::STriw_indexed;
1811
case Hexagon::STriw_indexed_shl_nv_V4:
1812
return Hexagon::STriw_indexed_shl_V4;
1814
case Hexagon::STriw_shl_nv_V4:
1815
return Hexagon::STriw_shl_V4;
1817
case Hexagon::STw_GP_nv_V4:
1818
return Hexagon::STw_GP_V4;
1820
case Hexagon::POST_STwri_nv_V4:
1821
return Hexagon::POST_STwri;
1825
case Hexagon::STrid_cdnPt_V4 :
1826
return Hexagon::STrid_cPt;
1828
case Hexagon::STrid_cdnNotPt_V4 :
1829
return Hexagon::STrid_cNotPt;
1831
case Hexagon::STrid_indexed_cdnPt_V4 :
1832
return Hexagon::STrid_indexed_cPt;
1834
case Hexagon::STrid_indexed_cdnNotPt_V4 :
1835
return Hexagon::STrid_indexed_cNotPt;
1837
case Hexagon::STrid_indexed_shl_cdnPt_V4 :
1838
return Hexagon::STrid_indexed_shl_cPt_V4;
1840
case Hexagon::STrid_indexed_shl_cdnNotPt_V4 :
1841
return Hexagon::STrid_indexed_shl_cNotPt_V4;
1843
case Hexagon::POST_STdri_cdnPt_V4 :
1844
return Hexagon::POST_STdri_cPt;
1846
case Hexagon::POST_STdri_cdnNotPt_V4 :
1847
return Hexagon::POST_STdri_cNotPt;
1849
case Hexagon::STd_GP_cdnPt_V4 :
1850
return Hexagon::STd_GP_cPt_V4;
1852
case Hexagon::STd_GP_cdnNotPt_V4 :
1853
return Hexagon::STd_GP_cNotPt_V4;
1858
448
bool HexagonPacketizerList::DemoteToDotOld(MachineInstr* MI) {
1859
449
const HexagonInstrInfo *QII = (const HexagonInstrInfo *) TII;
1860
int NewOpcode = GetDotOldOp(MI->getOpcode());
450
int NewOpcode = QII->GetDotOldOp(MI->getOpcode());
1861
451
MI->setDesc(QII->get(NewOpcode));
1865
// Returns true if an instruction is predicated on p0 and false if it's
1866
// predicated on !p0.
1868
static bool GetPredicateSense(MachineInstr* MI,
1869
const HexagonInstrInfo *QII) {
1871
switch (MI->getOpcode()) {
1872
default: llvm_unreachable("Unknown predicate sense of the instruction");
1873
case Hexagon::TFR_cPt:
1874
case Hexagon::TFR_cdnPt:
1875
case Hexagon::TFRI_cPt:
1876
case Hexagon::TFRI_cdnPt:
1877
case Hexagon::STrib_cPt :
1878
case Hexagon::STrib_cdnPt_V4 :
1879
case Hexagon::STrib_indexed_cPt :
1880
case Hexagon::STrib_indexed_cdnPt_V4 :
1881
case Hexagon::STrib_indexed_shl_cPt_V4 :
1882
case Hexagon::STrib_indexed_shl_cdnPt_V4 :
1883
case Hexagon::POST_STbri_cPt :
1884
case Hexagon::POST_STbri_cdnPt_V4 :
1885
case Hexagon::STrih_cPt :
1886
case Hexagon::STrih_cdnPt_V4 :
1887
case Hexagon::STrih_indexed_cPt :
1888
case Hexagon::STrih_indexed_cdnPt_V4 :
1889
case Hexagon::STrih_indexed_shl_cPt_V4 :
1890
case Hexagon::STrih_indexed_shl_cdnPt_V4 :
1891
case Hexagon::POST_SThri_cPt :
1892
case Hexagon::POST_SThri_cdnPt_V4 :
1893
case Hexagon::STriw_cPt :
1894
case Hexagon::STriw_cdnPt_V4 :
1895
case Hexagon::STriw_indexed_cPt :
1896
case Hexagon::STriw_indexed_cdnPt_V4 :
1897
case Hexagon::STriw_indexed_shl_cPt_V4 :
1898
case Hexagon::STriw_indexed_shl_cdnPt_V4 :
1899
case Hexagon::POST_STwri_cPt :
1900
case Hexagon::POST_STwri_cdnPt_V4 :
1901
case Hexagon::STrib_imm_cPt_V4 :
1902
case Hexagon::STrib_imm_cdnPt_V4 :
1903
case Hexagon::STrid_cPt :
1904
case Hexagon::STrid_cdnPt_V4 :
1905
case Hexagon::STrid_indexed_cPt :
1906
case Hexagon::STrid_indexed_cdnPt_V4 :
1907
case Hexagon::STrid_indexed_shl_cPt_V4 :
1908
case Hexagon::STrid_indexed_shl_cdnPt_V4 :
1909
case Hexagon::POST_STdri_cPt :
1910
case Hexagon::POST_STdri_cdnPt_V4 :
1911
case Hexagon::STrih_imm_cPt_V4 :
1912
case Hexagon::STrih_imm_cdnPt_V4 :
1913
case Hexagon::STriw_imm_cPt_V4 :
1914
case Hexagon::STriw_imm_cdnPt_V4 :
1915
case Hexagon::JMP_cdnPt :
1916
case Hexagon::LDrid_cPt :
1917
case Hexagon::LDrid_cdnPt :
1918
case Hexagon::LDrid_indexed_cPt :
1919
case Hexagon::LDrid_indexed_cdnPt :
1920
case Hexagon::POST_LDrid_cPt :
1921
case Hexagon::POST_LDrid_cdnPt_V4 :
1922
case Hexagon::LDriw_cPt :
1923
case Hexagon::LDriw_cdnPt :
1924
case Hexagon::LDriw_indexed_cPt :
1925
case Hexagon::LDriw_indexed_cdnPt :
1926
case Hexagon::POST_LDriw_cPt :
1927
case Hexagon::POST_LDriw_cdnPt_V4 :
1928
case Hexagon::LDrih_cPt :
1929
case Hexagon::LDrih_cdnPt :
1930
case Hexagon::LDrih_indexed_cPt :
1931
case Hexagon::LDrih_indexed_cdnPt :
1932
case Hexagon::POST_LDrih_cPt :
1933
case Hexagon::POST_LDrih_cdnPt_V4 :
1934
case Hexagon::LDrib_cPt :
1935
case Hexagon::LDrib_cdnPt :
1936
case Hexagon::LDrib_indexed_cPt :
1937
case Hexagon::LDrib_indexed_cdnPt :
1938
case Hexagon::POST_LDrib_cPt :
1939
case Hexagon::POST_LDrib_cdnPt_V4 :
1940
case Hexagon::LDriuh_cPt :
1941
case Hexagon::LDriuh_cdnPt :
1942
case Hexagon::LDriuh_indexed_cPt :
1943
case Hexagon::LDriuh_indexed_cdnPt :
1944
case Hexagon::POST_LDriuh_cPt :
1945
case Hexagon::POST_LDriuh_cdnPt_V4 :
1946
case Hexagon::LDriub_cPt :
1947
case Hexagon::LDriub_cdnPt :
1948
case Hexagon::LDriub_indexed_cPt :
1949
case Hexagon::LDriub_indexed_cdnPt :
1950
case Hexagon::POST_LDriub_cPt :
1951
case Hexagon::POST_LDriub_cdnPt_V4 :
1952
case Hexagon::LDrid_indexed_shl_cPt_V4 :
1953
case Hexagon::LDrid_indexed_shl_cdnPt_V4 :
1954
case Hexagon::LDrib_indexed_shl_cPt_V4 :
1955
case Hexagon::LDrib_indexed_shl_cdnPt_V4 :
1956
case Hexagon::LDriub_indexed_shl_cPt_V4 :
1957
case Hexagon::LDriub_indexed_shl_cdnPt_V4 :
1958
case Hexagon::LDrih_indexed_shl_cPt_V4 :
1959
case Hexagon::LDrih_indexed_shl_cdnPt_V4 :
1960
case Hexagon::LDriuh_indexed_shl_cPt_V4 :
1961
case Hexagon::LDriuh_indexed_shl_cdnPt_V4 :
1962
case Hexagon::LDriw_indexed_shl_cPt_V4 :
1963
case Hexagon::LDriw_indexed_shl_cdnPt_V4 :
1964
case Hexagon::ADD_ri_cPt :
1965
case Hexagon::ADD_ri_cdnPt :
1966
case Hexagon::ADD_rr_cPt :
1967
case Hexagon::ADD_rr_cdnPt :
1968
case Hexagon::XOR_rr_cPt :
1969
case Hexagon::XOR_rr_cdnPt :
1970
case Hexagon::AND_rr_cPt :
1971
case Hexagon::AND_rr_cdnPt :
1972
case Hexagon::OR_rr_cPt :
1973
case Hexagon::OR_rr_cdnPt :
1974
case Hexagon::SUB_rr_cPt :
1975
case Hexagon::SUB_rr_cdnPt :
1976
case Hexagon::COMBINE_rr_cPt :
1977
case Hexagon::COMBINE_rr_cdnPt :
1978
case Hexagon::ASLH_cPt_V4 :
1979
case Hexagon::ASLH_cdnPt_V4 :
1980
case Hexagon::ASRH_cPt_V4 :
1981
case Hexagon::ASRH_cdnPt_V4 :
1982
case Hexagon::SXTB_cPt_V4 :
1983
case Hexagon::SXTB_cdnPt_V4 :
1984
case Hexagon::SXTH_cPt_V4 :
1985
case Hexagon::SXTH_cdnPt_V4 :
1986
case Hexagon::ZXTB_cPt_V4 :
1987
case Hexagon::ZXTB_cdnPt_V4 :
1988
case Hexagon::ZXTH_cPt_V4 :
1989
case Hexagon::ZXTH_cdnPt_V4 :
1990
case Hexagon::LDd_GP_cPt_V4 :
1991
case Hexagon::LDb_GP_cPt_V4 :
1992
case Hexagon::LDub_GP_cPt_V4 :
1993
case Hexagon::LDh_GP_cPt_V4 :
1994
case Hexagon::LDuh_GP_cPt_V4 :
1995
case Hexagon::LDw_GP_cPt_V4 :
1996
case Hexagon::STd_GP_cPt_V4 :
1997
case Hexagon::STb_GP_cPt_V4 :
1998
case Hexagon::STh_GP_cPt_V4 :
1999
case Hexagon::STw_GP_cPt_V4 :
2000
case Hexagon::LDd_GP_cdnPt_V4 :
2001
case Hexagon::LDb_GP_cdnPt_V4 :
2002
case Hexagon::LDub_GP_cdnPt_V4 :
2003
case Hexagon::LDh_GP_cdnPt_V4 :
2004
case Hexagon::LDuh_GP_cdnPt_V4 :
2005
case Hexagon::LDw_GP_cdnPt_V4 :
2006
case Hexagon::STd_GP_cdnPt_V4 :
2007
case Hexagon::STb_GP_cdnPt_V4 :
2008
case Hexagon::STh_GP_cdnPt_V4 :
2009
case Hexagon::STw_GP_cdnPt_V4 :
2012
case Hexagon::TFR_cNotPt:
2013
case Hexagon::TFR_cdnNotPt:
2014
case Hexagon::TFRI_cNotPt:
2015
case Hexagon::TFRI_cdnNotPt:
2016
case Hexagon::STrib_cNotPt :
2017
case Hexagon::STrib_cdnNotPt_V4 :
2018
case Hexagon::STrib_indexed_cNotPt :
2019
case Hexagon::STrib_indexed_cdnNotPt_V4 :
2020
case Hexagon::STrib_indexed_shl_cNotPt_V4 :
2021
case Hexagon::STrib_indexed_shl_cdnNotPt_V4 :
2022
case Hexagon::POST_STbri_cNotPt :
2023
case Hexagon::POST_STbri_cdnNotPt_V4 :
2024
case Hexagon::STrih_cNotPt :
2025
case Hexagon::STrih_cdnNotPt_V4 :
2026
case Hexagon::STrih_indexed_cNotPt :
2027
case Hexagon::STrih_indexed_cdnNotPt_V4 :
2028
case Hexagon::STrih_indexed_shl_cNotPt_V4 :
2029
case Hexagon::STrih_indexed_shl_cdnNotPt_V4 :
2030
case Hexagon::POST_SThri_cNotPt :
2031
case Hexagon::POST_SThri_cdnNotPt_V4 :
2032
case Hexagon::STriw_cNotPt :
2033
case Hexagon::STriw_cdnNotPt_V4 :
2034
case Hexagon::STriw_indexed_cNotPt :
2035
case Hexagon::STriw_indexed_cdnNotPt_V4 :
2036
case Hexagon::STriw_indexed_shl_cNotPt_V4 :
2037
case Hexagon::STriw_indexed_shl_cdnNotPt_V4 :
2038
case Hexagon::POST_STwri_cNotPt :
2039
case Hexagon::POST_STwri_cdnNotPt_V4 :
2040
case Hexagon::STrib_imm_cNotPt_V4 :
2041
case Hexagon::STrib_imm_cdnNotPt_V4 :
2042
case Hexagon::STrid_cNotPt :
2043
case Hexagon::STrid_cdnNotPt_V4 :
2044
case Hexagon::STrid_indexed_cdnNotPt_V4 :
2045
case Hexagon::STrid_indexed_cNotPt :
2046
case Hexagon::STrid_indexed_shl_cNotPt_V4 :
2047
case Hexagon::STrid_indexed_shl_cdnNotPt_V4 :
2048
case Hexagon::POST_STdri_cNotPt :
2049
case Hexagon::POST_STdri_cdnNotPt_V4 :
2050
case Hexagon::STrih_imm_cNotPt_V4 :
2051
case Hexagon::STrih_imm_cdnNotPt_V4 :
2052
case Hexagon::STriw_imm_cNotPt_V4 :
2053
case Hexagon::STriw_imm_cdnNotPt_V4 :
2054
case Hexagon::JMP_cdnNotPt :
2055
case Hexagon::LDrid_cNotPt :
2056
case Hexagon::LDrid_cdnNotPt :
2057
case Hexagon::LDrid_indexed_cNotPt :
2058
case Hexagon::LDrid_indexed_cdnNotPt :
2059
case Hexagon::POST_LDrid_cNotPt :
2060
case Hexagon::POST_LDrid_cdnNotPt_V4 :
2061
case Hexagon::LDriw_cNotPt :
2062
case Hexagon::LDriw_cdnNotPt :
2063
case Hexagon::LDriw_indexed_cNotPt :
2064
case Hexagon::LDriw_indexed_cdnNotPt :
2065
case Hexagon::POST_LDriw_cNotPt :
2066
case Hexagon::POST_LDriw_cdnNotPt_V4 :
2067
case Hexagon::LDrih_cNotPt :
2068
case Hexagon::LDrih_cdnNotPt :
2069
case Hexagon::LDrih_indexed_cNotPt :
2070
case Hexagon::LDrih_indexed_cdnNotPt :
2071
case Hexagon::POST_LDrih_cNotPt :
2072
case Hexagon::POST_LDrih_cdnNotPt_V4 :
2073
case Hexagon::LDrib_cNotPt :
2074
case Hexagon::LDrib_cdnNotPt :
2075
case Hexagon::LDrib_indexed_cNotPt :
2076
case Hexagon::LDrib_indexed_cdnNotPt :
2077
case Hexagon::POST_LDrib_cNotPt :
2078
case Hexagon::POST_LDrib_cdnNotPt_V4 :
2079
case Hexagon::LDriuh_cNotPt :
2080
case Hexagon::LDriuh_cdnNotPt :
2081
case Hexagon::LDriuh_indexed_cNotPt :
2082
case Hexagon::LDriuh_indexed_cdnNotPt :
2083
case Hexagon::POST_LDriuh_cNotPt :
2084
case Hexagon::POST_LDriuh_cdnNotPt_V4 :
2085
case Hexagon::LDriub_cNotPt :
2086
case Hexagon::LDriub_cdnNotPt :
2087
case Hexagon::LDriub_indexed_cNotPt :
2088
case Hexagon::LDriub_indexed_cdnNotPt :
2089
case Hexagon::POST_LDriub_cNotPt :
2090
case Hexagon::POST_LDriub_cdnNotPt_V4 :
2091
case Hexagon::LDrid_indexed_shl_cNotPt_V4 :
2092
case Hexagon::LDrid_indexed_shl_cdnNotPt_V4 :
2093
case Hexagon::LDrib_indexed_shl_cNotPt_V4 :
2094
case Hexagon::LDrib_indexed_shl_cdnNotPt_V4 :
2095
case Hexagon::LDriub_indexed_shl_cNotPt_V4 :
2096
case Hexagon::LDriub_indexed_shl_cdnNotPt_V4 :
2097
case Hexagon::LDrih_indexed_shl_cNotPt_V4 :
2098
case Hexagon::LDrih_indexed_shl_cdnNotPt_V4 :
2099
case Hexagon::LDriuh_indexed_shl_cNotPt_V4 :
2100
case Hexagon::LDriuh_indexed_shl_cdnNotPt_V4 :
2101
case Hexagon::LDriw_indexed_shl_cNotPt_V4 :
2102
case Hexagon::LDriw_indexed_shl_cdnNotPt_V4 :
2103
case Hexagon::ADD_ri_cNotPt :
2104
case Hexagon::ADD_ri_cdnNotPt :
2105
case Hexagon::ADD_rr_cNotPt :
2106
case Hexagon::ADD_rr_cdnNotPt :
2107
case Hexagon::XOR_rr_cNotPt :
2108
case Hexagon::XOR_rr_cdnNotPt :
2109
case Hexagon::AND_rr_cNotPt :
2110
case Hexagon::AND_rr_cdnNotPt :
2111
case Hexagon::OR_rr_cNotPt :
2112
case Hexagon::OR_rr_cdnNotPt :
2113
case Hexagon::SUB_rr_cNotPt :
2114
case Hexagon::SUB_rr_cdnNotPt :
2115
case Hexagon::COMBINE_rr_cNotPt :
2116
case Hexagon::COMBINE_rr_cdnNotPt :
2117
case Hexagon::ASLH_cNotPt_V4 :
2118
case Hexagon::ASLH_cdnNotPt_V4 :
2119
case Hexagon::ASRH_cNotPt_V4 :
2120
case Hexagon::ASRH_cdnNotPt_V4 :
2121
case Hexagon::SXTB_cNotPt_V4 :
2122
case Hexagon::SXTB_cdnNotPt_V4 :
2123
case Hexagon::SXTH_cNotPt_V4 :
2124
case Hexagon::SXTH_cdnNotPt_V4 :
2125
case Hexagon::ZXTB_cNotPt_V4 :
2126
case Hexagon::ZXTB_cdnNotPt_V4 :
2127
case Hexagon::ZXTH_cNotPt_V4 :
2128
case Hexagon::ZXTH_cdnNotPt_V4 :
2130
case Hexagon::LDd_GP_cNotPt_V4 :
2131
case Hexagon::LDb_GP_cNotPt_V4 :
2132
case Hexagon::LDub_GP_cNotPt_V4 :
2133
case Hexagon::LDh_GP_cNotPt_V4 :
2134
case Hexagon::LDuh_GP_cNotPt_V4 :
2135
case Hexagon::LDw_GP_cNotPt_V4 :
2136
case Hexagon::STd_GP_cNotPt_V4 :
2137
case Hexagon::STb_GP_cNotPt_V4 :
2138
case Hexagon::STh_GP_cNotPt_V4 :
2139
case Hexagon::STw_GP_cNotPt_V4 :
2140
case Hexagon::LDd_GP_cdnNotPt_V4 :
2141
case Hexagon::LDb_GP_cdnNotPt_V4 :
2142
case Hexagon::LDub_GP_cdnNotPt_V4 :
2143
case Hexagon::LDh_GP_cdnNotPt_V4 :
2144
case Hexagon::LDuh_GP_cdnNotPt_V4 :
2145
case Hexagon::LDw_GP_cdnNotPt_V4 :
2146
case Hexagon::STd_GP_cdnNotPt_V4 :
2147
case Hexagon::STb_GP_cdnNotPt_V4 :
2148
case Hexagon::STh_GP_cdnNotPt_V4 :
2149
case Hexagon::STw_GP_cdnNotPt_V4 :
2152
// return *some value* to avoid compiler warning
461
/// Returns true if an instruction is predicated on p0 and false if it's
462
/// predicated on !p0.
463
static PredicateKind getPredicateSense(MachineInstr* MI,
464
const HexagonInstrInfo *QII) {
465
if (!QII->isPredicated(MI))
468
if (QII->isPredicatedTrue(MI))
2156
474
static MachineOperand& GetPostIncrementOperand(MachineInstr *MI,