[Mlir-commits] [mlir] [mlir][XeGPU] Add optional layout attribute to LoadGather StoreScatter ops (PR #163414)

Jianhui Li llvmlistbot at llvm.org
Mon Oct 20 13:56:16 PDT 2025


================
@@ -97,7 +97,7 @@ func.func @extf_truncf(%arg0: !xegpu.tensor_desc<8x16xf16>, %arg1: !xegpu.tensor
 // CHECK-NEXT: %[[CST0:.*]] = arith.constant {layout_result_0 = #xegpu.layout<lane_layout = [16], lane_data = [1]>} dense<true> : vector<16xi1>
 // CHECK-NEXT: %[[T2:.*]] = xegpu.create_tdesc %[[ARG1]], %[[CST]] : memref<256xf16>, vector<16xindex> ->
 // CHECK-SAME: !xegpu.tensor_desc<16x16xf16, #xegpu.scatter_tdesc_attr<chunk_size = 16 : i64>, #xegpu.layout<lane_layout = [16, 1], lane_data = [1, 2]>>
-// CHECK-NEXT: %{{.*}} = xegpu.load %[[T2]], %[[CST0]]  {layout_result_0 = #xegpu.layout<lane_layout = [16, 1], lane_data = [1, 2]>}
+// CHECK-NEXT: %{{.*}} = xegpu.load %[[T2]], %[[CST0]]  <{layout = #xegpu.layout<lane_layout = [16, 1], lane_data = [1, 2]>}>
----------------
Jianhui-Li wrote:

You may create separate test that test how the propagation honor the user's setting. Say, user to set a different layout like 
layout = #xegpu.layout<lane_layout = [4, 4], lane_data = [1, 2] 
for store and expect it propagating from store to load. 

Once user set it, the propagation should honor user's setting instead of using its default one. 

Note that these xegpu.load variant is to be deprecated. Please just focus on xegpu.load variant that has memref as input.  
Also the test may not use chunk_size. We don't really expect user to use the chunk load. 

https://github.com/llvm/llvm-project/pull/163414


More information about the Mlir-commits mailing list