File tree Expand file tree Collapse file tree 2 files changed +9
-1
lines changed Expand file tree Collapse file tree 2 files changed +9
-1
lines changed Original file line number Diff line number Diff line change @@ -2639,8 +2639,12 @@ G4_InstSend *IR_Builder::createLscSendInst(
2639
2639
// The payload keeps reusing fixed a0.2 serializes loads. To improve the
2640
2640
// the performance issue caused by this, we create temp address
2641
2641
// variables and let RA to assign to spread out a0 usage.
2642
- if (getOption (vISA_dynamicAddrForExDescInLscSend))
2642
+ if (useDynamicAddrForExDesc ()) {
2643
2643
addrDecl = createTempAddress (1 );
2644
+ // Due to encoding restriction, address sub register number must be
2645
+ // even value if it's used as extended message descriptor.
2646
+ addrDecl->setSubRegAlign (Four_Word);
2647
+ }
2644
2648
G4_DstRegRegion *addrDstOpnd = createDstRegRegion (addrDecl, 1 );
2645
2649
if ((addrType == LSC_ADDR_TYPE_BSS) || (addrType == LSC_ADDR_TYPE_SS)) {
2646
2650
if (ssIdx == 0x0 ) {
Original file line number Diff line number Diff line change @@ -919,4 +919,8 @@ bool needTGMDoubleFenceWA() const {
919
919
return VISA_WA_CHECK (getPWaTable (), Wa_14021891663) &&
920
920
getOption (vISA_TGMDoubleFenceWA);
921
921
}
922
+
923
+ bool useDynamicAddrForExDesc () const {
924
+ return getOption (vISA_dynamicAddrForExDescInLscSend);
925
+ }
922
926
// end HW capabilities
You can’t perform that action at this time.
0 commit comments