@@ -5776,12 +5776,8 @@ void HWConformity::conformBB(G4_BB *bb) {
5776
5776
fixVxHFloat64b (i, bb);
5777
5777
}
5778
5778
5779
- if (builder.supportFloatOr64bRegioning ()) {
5780
- // This function is for pre-Xe_XeHPSDV platforms. Xe_XeHPSDV+ platforms
5781
- // should be fixed in fixUnalignedRegions() later.
5782
- if (fix64bInst (i, bb)) {
5783
- continue ;
5784
- }
5779
+ if (fix64bInst (i, bb)) {
5780
+ continue ;
5785
5781
}
5786
5782
5787
5783
#ifdef _DEBUG
@@ -5844,15 +5840,6 @@ void HWConformity::conformBB(G4_BB *bb) {
5844
5840
}
5845
5841
}
5846
5842
5847
- // Do immdiate Address offset OOB check as previous fixes may generate
5848
- // invalid ImmAddrOffset.
5849
- for (auto iter = bb->begin (), iterEnd = bb->end (); iter != iterEnd; ++iter) {
5850
- fixImmAddrOffsetOOB (iter, bb);
5851
- #ifdef _DEBUG
5852
- verifyG4Kernel (kernel, Optimizer::PI_HWConformityChk, false );
5853
- #endif
5854
- }
5855
-
5856
5843
if (builder.getNativeExecSize () <= g4::SIMD8) {
5857
5844
return ;
5858
5845
}
@@ -5946,6 +5933,15 @@ void HWConformity::conformBB(G4_BB *bb) {
5946
5933
#endif
5947
5934
}
5948
5935
}
5936
+
5937
+ // Immdiate Address offset OOB check should be put at the end of conformBB
5938
+ // as previous fixes may generate invalid ImmAddrOffset.
5939
+ for (auto iter = bb->begin (), iterEnd = bb->end (); iter != iterEnd; ++iter) {
5940
+ fixImmAddrOffsetOOB (iter, bb);
5941
+ #ifdef _DEBUG
5942
+ verifyG4Kernel (kernel, Optimizer::PI_HWConformityChk, false );
5943
+ #endif
5944
+ }
5949
5945
}
5950
5946
5951
5947
//
@@ -9846,9 +9842,7 @@ void HWConformity::fixImmAddrOffsetOOB(INST_LIST_ITER it, G4_BB *bb) {
9846
9842
// add(execSize) A(0,0)<1>:uw A(0,0)<1;1,0>:uw imm:w
9847
9843
auto addrDst = builder.createDst (var->getBase (), 0 , sregOff, 1 , Type_UW);
9848
9844
auto addrSrc = builder.createSrc (var->getBase (), 0 , sregOff,
9849
- execSize == 1 ? builder.getRegionScalar ()
9850
- : builder.getRegionStride1 (),
9851
- Type_UW);
9845
+ builder.getRegionStride1 (), Type_UW);
9852
9846
auto immSrc = builder.createImm (imm, Type_W);
9853
9847
auto addrAddInst = builder.createInternalInst (
9854
9848
nullptr , G4_add, nullptr , g4::NOSAT, G4_ExecSize (execSize), addrDst,
0 commit comments