@@ -168,8 +168,9 @@ G4_SendDescLdSt::G4_SendDescLdSt(
168
168
G4_Operand *surf,
169
169
ImmOff _immOff,
170
170
LdStAttrs _attrs)
171
- : G4_SendDesc(G4_SendDesc::Kind::LDST, sfid, _execSize ),
171
+ : G4_SendDesc(G4_SendDesc::Kind::LDST, sfid),
172
172
op(_op),
173
+ execSize(_execSize),
173
174
//
174
175
addrType(at), addrBits(_addrBits), addrDims(_addrDims),
175
176
//
@@ -184,7 +185,7 @@ G4_SendDescLdSt::G4_SendDescLdSt(
184
185
static size_t toExecSlots (const G4_SendDescLdSt &d)
185
186
{
186
187
int minExecSize = 8 ;
187
- int execSlots = std::max ((int )d.getExecSize () , minExecSize);
188
+ int execSlots = std::max ((int )d.execSize , minExecSize);
188
189
return (size_t )execSlots;
189
190
}
190
191
@@ -585,149 +586,6 @@ bool G4_SendDescRaw::is16BitReturn() const
585
586
return desc.layout .returnFormat == 1 ;
586
587
}
587
588
588
- bool G4_SendDescRaw::isByteScatterRW () const
589
- {
590
- auto funcID = getSFID ();
591
- switch (funcID) {
592
- case SFID::DP_DC0:
593
- switch (getHdcMessageType ()) {
594
- case DC_BYTE_SCATTERED_READ:
595
- case DC_BYTE_SCATTERED_WRITE:
596
- return true ;
597
- default :
598
- break ;
599
- }
600
- break ;
601
- case SFID::DP_DC1:
602
- switch (getHdcMessageType ()) {
603
- case DC1_A64_SCATTERED_READ:
604
- case DC1_A64_SCATTERED_WRITE:
605
- return (getBlockSize () == 1 );
606
- default :
607
- break ;
608
- }
609
- break ;
610
- case SFID::DP_DC2:
611
- switch (getHdcMessageType ()) {
612
- case DC2_A64_SCATTERED_READ:
613
- case DC2_A64_SCATTERED_WRITE:
614
- return (getBlockSize () == 1 );
615
- case DC2_BYTE_SCATTERED_READ:
616
- case DC2_BYTE_SCATTERED_WRITE:
617
- return true ;
618
- default :
619
- break ;
620
- }
621
- break ;
622
- default :
623
- break ;
624
- }
625
- return false ;
626
- }
627
-
628
- bool G4_SendDescRaw::isDWScatterRW () const
629
- {
630
- auto funcID = getSFID ();
631
- switch (funcID) {
632
- case SFID::DP_DC0:
633
- switch (getHdcMessageType ()) {
634
- case DC_DWORD_SCATTERED_READ:
635
- case DC_DWORD_SCATTERED_WRITE:
636
- return true ;
637
- default :
638
- break ;
639
- }
640
- break ;
641
- case SFID::DP_DC1:
642
- switch (getHdcMessageType ()) {
643
- case DC1_A64_SCATTERED_READ:
644
- case DC1_A64_SCATTERED_WRITE:
645
- return (getBlockSize () == 4 );
646
- default :
647
- break ;
648
- }
649
- break ;
650
- case SFID::DP_DC2:
651
- switch (getHdcMessageType ()) {
652
- case DC2_A64_SCATTERED_READ:
653
- case DC2_A64_SCATTERED_WRITE:
654
- return (getBlockSize () == 4 );
655
- default :
656
- break ;
657
- }
658
- break ;
659
- default :
660
- break ;
661
- }
662
- return false ;
663
- }
664
-
665
- bool G4_SendDescRaw::isQWScatterRW () const
666
- {
667
- auto funcID = getSFID ();
668
- switch (funcID) {
669
- case SFID::DP_DC0:
670
- switch (getHdcMessageType ()) {
671
- default :
672
- break ;
673
- }
674
- break ;
675
- case SFID::DP_DC1:
676
- switch (getHdcMessageType ()) {
677
- case DC1_A64_SCATTERED_READ:
678
- case DC1_A64_SCATTERED_WRITE:
679
- return (getBlockSize () == 8 );
680
- default :
681
- break ;
682
- }
683
- break ;
684
- case SFID::DP_DC2:
685
- switch (getHdcMessageType ()) {
686
- case DC2_A64_SCATTERED_READ:
687
- case DC2_A64_SCATTERED_WRITE:
688
- return (getBlockSize () == 4 );
689
- default :
690
- break ;
691
- }
692
- break ;
693
- default :
694
- break ;
695
- }
696
- return false ;
697
- }
698
-
699
- bool G4_SendDescRaw::isUntypedRW () const
700
- {
701
- auto funcID = getSFID ();
702
- switch (funcID) {
703
- case SFID::DP_DC1:
704
- switch (getHdcMessageType ()) {
705
- case DC1_UNTYPED_SURFACE_READ:
706
- case DC1_UNTYPED_SURFACE_WRITE:
707
- case DC1_A64_UNTYPED_SURFACE_READ:
708
- case DC1_A64_UNTYPED_SURFACE_WRITE:
709
- return true ;
710
- default :
711
- break ;
712
- }
713
- break ;
714
- case SFID::DP_DC2:
715
- switch (getHdcMessageType ()) {
716
- case DC2_UNTYPED_SURFACE_READ:
717
- case DC2_UNTYPED_SURFACE_WRITE:
718
- case DC2_A64_UNTYPED_SURFACE_READ:
719
- case DC2_A64_UNTYPED_SURFACE_WRITE:
720
- return true ;
721
- default :
722
- break ;
723
- }
724
- break ;
725
- default :
726
- break ;
727
- }
728
- return false ;
729
- }
730
-
731
589
bool G4_SendDescRaw::isA64Message () const
732
590
{
733
591
if (!isHDC ()) {
@@ -1022,17 +880,6 @@ size_t G4_SendDescRaw::getDstLenBytes() const
1022
880
return 32 * getScratchRWSize (); // HWords
1023
881
} else if (isOwordLoad ()) {
1024
882
return 16 * getOwordsAccessed (); // OWords
1025
- } else if (isByteScatterRW ()) {
1026
- uint16_t nbytes = getBlockNum ();
1027
- // assume 4 at least
1028
- nbytes = (nbytes >= 4 ? nbytes : 4 );
1029
- return nbytes * getExecSize ();
1030
- } else if (isDWScatterRW ()) {
1031
- return 4 * getBlockNum () * getExecSize ();
1032
- } else if (isQWScatterRW ()) {
1033
- return 8 * getBlockNum () * getExecSize ();
1034
- } else if (isUntypedRW ()) {
1035
- return 4 * getEnabledChannelNum () * getExecSize ();
1036
883
} else {
1037
884
// fallback to the raw GRF count
1038
885
return ResponseLength () * (size_t )getGRFSize ();
0 commit comments