Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[AIE2] Optimize 2D/3D memory operations #145

Merged
merged 2 commits into from
Sep 2, 2024

Conversation

andcarminati
Copy link
Collaborator

For loop blocks with a small number of memory operations to avoid spills. This PR clear a bit inner loops to help PostRA scheduling optimizations.

QoR information:

  • No regressions.
  • When fno-unroll-loops is used, we can observe changes like (Reduce*):
.LBB152_12:                             // %for.body68
                                        // =>This Inner Loop Header: Depth=1
	nopa	;		nopb	;		nopx	;		mov	dn3, dn1;		nops	
	mov	dj3, dj1
	vmax_lt.s8	x0, r25:r24, x2, x0
	nop	
	vlda.3d	wl0, [p0], d0;		vst.2d	wl0, [p2], d5;		mov	m3, m1
	vlda.2d	wl2, [p3], d3
	nop	
	mov	dn5, dn1
	mov	dj5, dj1
.L_LEnd11:
	nopb	;		nopa	;		nops	;		nopx	;		mov	m5, m1;		nopv

To:

.LBB152_12:                             // %for.body68
                                        // =>This Inner Loop Header: Depth=1
	nopa	;		nopx	;		vmax_lt.s8	x0, r25:r24, x0, x2
	nop	
	vlda.3d	wl2, [p0], d0;		vst.2d	wl0, [p2], d2
	vlda.2d	wl0, [p3], d1
	nop	
	nop	
	nop	
	nop	
	nop	
.L_LEnd11:
	nopb	;		nopa	;		nops	;		nopxm	;		nopv

const TargetInstrInfo &TII = *MBB.getParent()->getSubtarget().getInstrInfo();
bool Changed = false;

// TODO: LoopUtils?
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We can postpone this refactoring for now to avoid conflicts.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit: Now that #152 is merged, we might be able to share the code already. Not sure if there will be more conflicts with #146

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We now have llvm/lib/Target/AIE/Utils/AIELoopUtils.h. Maybe we should move the helper there?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I moved this lambda as a function to AIELoopUtils.

@andcarminati andcarminati force-pushed the andreu.dup.2d3d.address branch from 6063b35 to 56e87c3 Compare August 14, 2024 10:59
@andcarminati
Copy link
Collaborator Author

Some QoR results:

With -fno-unroll-loops:

|--------------------------|-------------------------------|------------------------------|------------------|------------------|------------------|------------------|------------------|------------------|------------------|------------------|------------------|------------------|----------------|------------------------------|--------------|--------------|--------------|--------------|--------------------|--------------------|--------------|--------------|------------------------------------|------------------------------------|----------------|----------------------------|------------------------|--------------|-----------------|-----------------|-----------------|-----------------|--------------|--------------|---------------------------|---------------------------|-----------------------|-----------------------|---------------------------|-----------------------|---------------|---------------|-------------------------|-------------------------|--------------------|-------------------|-------------------|------------------|----------------------|--------------------|----------------------|----------------|------------------|--------------------|----------------|----------------|----------------|--------------------------------------------------------------|----------------------------------------------------------|--------------------------------------------------|----------------------------------------------|--------------------------------------------------|----------------------------------------------|------------------------------------------------------------|-----------------------|-----------------------|-----------------------|-----------------------|--------------|--------------|--------------|--------------|-----------------------|-----------------------|------------------|------------------|-------------------------|-------------------------|--------------|--------------|------------------|------------------|--------------|--------------|----------------|----------------|---------------|---------------|--------------------------|--------------------------|--------------------|--------------------|--------------|-------------------------|-------------------------|------------------------------|------------------------------|---------------|---------------|----------------------|----------------------|-----------------------|-----------------------|-----------------------|-----------------------|-----------------------|-----------------------|-----------------------|-----------------------|-----------------|--------------------------------------|--------------------------------------|------------------------|------------------------|----------------------|------------------|----------------------|------------------|----------------|----------------|-----------------|-----------------|-----------------|-----------------|-------------------------------|--------------|--------------|----------------------|------------------|--------------|--------------|------------------------|------------------------|--------------|--------------|--------------|--------------|--------------|--------------|--------------|--------------|-------------------------|-------------------------|---------------------|---------------------|---------------------|---------------------|---------------------|---------------------|---------------------|---------------------|----------------|----------------|-----------------------------|-----------------------------|--------------------|--------------------|--------------------|--------------------|-------------------------------|-------------------------------|------------------|------------------|-------------------------------|-------------------------------|-----------------------------------|-------------------------------|------------------------------|------------------------------|--------------|--------------|--------------|--------------|-------------------|----------------------|--------------|--------------|--------------|--------------|--------------|--------------|--------------------------------------|--------------------------------------|----------------|----------------------------|------------------------|--------------|--------------|--------------|--------------|---------------------|-----------------|------------------------|------------------------|-----------------------|-----------------------|--------------------------------------|--------------------------------------|--------------|--------------|-----------------------|-----------------------|-------------------|-------------------|-------------------|-------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|-----------------------|-----------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|------------------|------------------|--------------|--------------|---------------------|--------------|--------------|-------------------|-------------------|--------------|--------------|------------------|------------------|------------------|------------------|---------------|---------------|----------------|----------------|------------------|-------------------------|-------------------------|-------------------------|----------------|----------------|----------------|----------------|--------------|--------------|--------------|--------------|---------------|---------------|------------------|--------------|--------------|----------------|----------------|--------------|--------------|--------------|--------------|--------------------|----------------|--------------------------------------|--------------------------------------|-----------------------------|-----------------------------|-------------------------------------------|-----------------|-----------------|-------------------------------|-----------------------------|-------------------------|--------------|--------------|--------------|--------------|------------------|------------------|---------------|---------------|---------------|---------------|---------------|---------------|---------------|---------------|-------------------------|-----------------------------|-------------------------|-----------------------------|-------------------------|-----------------------------|-------------------------|-----------------------------|-------------------------|-----------------------------|-------------------------|-----------------------------|-------------------------|-----------------------------|-------------------------|-----------------------------|-------------------------|-----------------------------|-------------------------|-----------------------------|--------------|--------------|--------------------|------------------------------|-------------------------------|--------------------------|--------------|------------|-------------|-------------|-------------|-------------|-------------|-------------|-------------|-------------|-------------|
| Core_Compute_Cycle_Count | InstanceNormPart2_aie2_int8_0 | LayerNormC8Part2_aie2_int8_0 | ReduceMin_int8_0 | ReduceMin_int8_1 | ReduceMax_int8_1 | ReduceMax_int8_0 | ReduceMin_bf16_1 | ReduceMax_bf16_1 | ReduceMax_bf16_0 | ReduceMin_bf16_0 | ReduceSum_bf16_1 | ReduceSum_bf16_0 | Mish_aie2_int8 | LayerNormC8Part2_aie2_bf16_0 | Abs_bf16_0   | Abs_int8_0   | Add2D_0      | Add2D_1      | Add2D_Standalone_0 | Add2D_Standalone_1 | Add2D_bf16_0 | Add2D_bf16_1 | AddAttributeBroadcasting_aie2_bf16 | AddAttributeBroadcasting_aie2_int8 | AddBf16_aie2_0 | AddBroadcastingBf16_aie2_0 | AddBroadcasting_aie2_0 | Add_aie2_0   | ArgMax1d_bf16_0 | ArgMax1d_int8_0 | ArgMin1d_bf16_0 | ArgMin1d_int8_0 | AvgPool2D_0  | AvgPool2D_1  | AvgPool2D_aie2_bfloat16_0 | AvgPool2D_aie2_bfloat16_1 | AvgPool2D_aie2_int8_0 | AvgPool2D_aie2_int8_1 | BatchNorm1d_aie2_bfloat16 | BatchNorm1d_aie2_int8 | BatchNorm2D_0 | BatchNorm2D_1 | BilinearInterpolation_0 | BilinearInterpolation_1 | BitShift_AIE2_int8 | BitwiseAnd_int8_0 | BitwiseNot_aie2_0 | BitwiseOr_int8_0 | BitwiseXor_aie2_int8 | Cast_aie2_bfloat16 | Cast_aie2_bfloat16_1 | Cast_aie2_int8 | Cast_aie2_int8_1 | Ceil_AIE2_bfloat16 | Ceil_AIE2_int8 | Clip_aie2_bf16 | Clip_aie2_int8 | CompareOpsBroadcasting_K_EQ_GE_GT_LE_LT_CMP_GE_bfloat16_aie2 | CompareOpsBroadcasting_K_EQ_GE_GT_LE_LT_CMP_GE_int8_aie2 | CompareOps_K_EQ_GE_GT_LE_LT_CMP_EQ_bfloat16_aie2 | CompareOps_K_EQ_GE_GT_LE_LT_CMP_EQ_int8_aie2 | CompareOps_K_EQ_GE_GT_LE_LT_CMP_GE_bfloat16_aie2 | CompareOps_K_EQ_GE_GT_LE_LT_CMP_GE_int8_aie2 | CompareOps_K_EQ_GE_GT_LE_LT_CMP_GE_int8_aie2_ptr_interface | Conv1D_DW_AIE2_bf16_0 | Conv1D_DW_AIE2_bf16_1 | Conv1D_DW_AIE2_int8_0 | Conv1D_DW_AIE2_int8_1 | Conv2D_0     | Conv2D_1     | Conv2D_2x8_0 | Conv2D_2x8_1 | Conv2D_7x7s2_Layer1_0 | Conv2D_7x7s2_Layer1_1 | Conv2D_11x11s4_0 | Conv2D_11x11s4_1 | Conv2D_11x11s4_Layer1_0 | Conv2D_11x11s4_Layer1_1 | Conv2D_DW_0  | Conv2D_DW_1  | Conv2D_DW_bf16_0 | Conv2D_DW_bf16_1 | Conv2D_FC_0  | Conv2D_FC_1  | Conv2D_LReLU_0 | Conv2D_LReLU_1 | Conv2D_ReLU_0 | Conv2D_ReLU_1 | Conv2D_ReLU_Standalone_0 | Conv2D_ReLU_Standalone_1 | Conv2D_ReLU_int8_0 | Conv2D_ReLU_int8_1 | Conv2D_SV60  | Conv2D_Transpose_AIE2_0 | Conv2D_Transpose_AIE2_1 | Conv2D_Transpose_bf16_AIE2_0 | Conv2D_Transpose_bf16_AIE2_1 | Conv2D_bf16_0 | Conv2D_bf16_1 | Conv2D_mixed_batch_0 | Conv2D_mixed_batch_1 | DegroupG4_aie2_bf16_0 | DegroupG4_aie2_bf16_1 | DegroupG4_aie2_int8_0 | DegroupG4_aie2_int8_1 | DegroupG8_aie2_bf16_0 | DegroupG8_aie2_bf16_1 | DegroupG8_aie2_int8_0 | DegroupG8_aie2_int8_1 | DilatedConv2D_1 | DivAttributeBroadcasting_aie2_bf16_0 | DivAttributeBroadcasting_aie2_int8_0 | DivBroadcasting_aie2_0 | DivBroadcasting_aie2_1 | EleMax_aie2_bfloat16 | EleMax_aie2_int8 | EleMin_aie2_bfloat16 | EleMin_aie2_int8 | ElemDiv_aie2_0 | ElemDiv_aie2_1 | Elu_aie2_bf16_0 | Elu_aie2_int8_0 | Erf_aie2_bf16_0 | Erf_aie2_int8_0 | Erf_aie2_int8_0_ptr_interface | Exp_bf16_0   | Exp_bf16_1   | Expand_aie2_bfloat16 | Expand_aie2_int8 | Floor_aie2_0 | Floor_aie2_1 | FullyConnect_aie2_bf16 | FullyConnect_aie2_int8 | GELU_0       | GELU_1       | GEMM_bf16_0  | GEMM_bf16_1  | GEMM_int8_0  | GEMM_int8_1  | GEMV_0       | GEMV_1       | GeluTemplated_aie2_bf16 | GeluTemplated_aie2_int8 | GroupG4_aie2_bf16_0 | GroupG4_aie2_bf16_1 | GroupG4_aie2_int8_0 | GroupG4_aie2_int8_1 | GroupG8_aie2_bf16_0 | GroupG8_aie2_bf16_1 | GroupG8_aie2_int8_0 | GroupG8_aie2_int8_1 | Group_Conv2D_0 | Group_Conv2D_1 | HardSigmoidTemplated_bf16_0 | HardSigmoidTemplated_int8_0 | HardSigmoid_bf16_0 | HardSigmoid_bf16_1 | HardSigmoid_int8_0 | HardSigmoid_int8_1 | HardswishAsHardsigmoid_aie2_0 | HardswishAsHardsigmoid_aie2_1 | Hardswish_aie2_0 | Hardswish_aie2_1 | InstanceNormPart1_aie2_bf16_0 | InstanceNormPart1_aie2_int8_0 | InterpolateLinear1D_AIE2_bfloat16 | InterpolateLinear1D_AIE2_int8 | LayerNormC8Part1_aie2_bf16_0 | LayerNormC8Part1_aie2_int8_0 | LayerNorm_0  | LayerNorm_1  | Log_bf16_0   | Log_int8_0   | LogicalNot_aie2_0 | LogicalXor_aie2_int8 | MaxPool2D_0  | MaxPool2D_1  | Mul2D_0      | Mul2D_1      | Mul2d_bf16_0 | Mul2d_bf16_1 | MulAttributeBroadcasting_aie2_bf16_0 | MulAttributeBroadcasting_aie2_int8_0 | MulBf16_aie2_0 | MulBroadcastingBf16_aie2_0 | MulBroadcasting_aie2_0 | Mul_aie2_0   | Neg_aie2_0   | Neg_aie2_1   | Pad2D_bf16_0 | Pad3D_AIE2_bfloat16 | Pad3D_AIE2_int8 | PixelShuffle_aie2_bf16 | PixelShuffle_aie2_int8 | PixelUnshuffle_bf16_0 | PixelUnshuffle_int8_0 | PowAttributeBroadcasting_aie2_bf16_0 | PowAttributeBroadcasting_aie2_int8_0 | Pow_bf16_0   | Pow_int8_0   | Range_bfloat16_aie2_0 | Range_bfloat16_aie2_1 | Range_int8_aie2_0 | Range_int8_aie2_1 | Reciprocal_aie2_0 | Reciprocal_aie2_1 | ReduceMeanAxis_1_aie2_bf16 | ReduceMeanAxis_1_aie2_int8 | ReduceMeanAxis_2_aie2_bf16 | ReduceMeanAxis_2_aie2_int8 | ReduceMeanAxis_3_aie2_bf16 | ReduceMeanAxis_3_aie2_int8 | ReduceMeanAxis_4_aie2_bf16 | ReduceMeanAxis_4_aie2_int8 | ReduceMeanAxis_5_aie2_bf16 | ReduceMeanAxis_5_aie2_int8 | ReduceMeanAxis_6_aie2_bf16 | ReduceMeanAxis_6_aie2_int8 | ReduceMeanAxis_7_aie2_bf16 | ReduceMeanAxis_7_aie2_int8 | ReduceMin1D_aie2_bf16 | ReduceMin1D_aie2_int8 | ReduceSumAxis_1_aie2_bf16 | ReduceSumAxis_1_aie2_int8 | ReduceSumAxis_2_aie2_bf16 | ReduceSumAxis_2_aie2_int8 | ReduceSumAxis_3_aie2_bf16 | ReduceSumAxis_3_aie2_int8 | ReduceSumAxis_4_aie2_bf16 | ReduceSumAxis_4_aie2_int8 | ReduceSumAxis_5_aie2_bf16 | ReduceSumAxis_5_aie2_int8 | ReduceSumAxis_6_aie2_bf16 | ReduceSumAxis_6_aie2_int8 | ReduceSumAxis_7_aie2_bf16 | ReduceSumAxis_7_aie2_int8 | ReduceSum_int8_0 | ReduceSum_int8_1 | Requantize_0 | Requantize_1 | Rescale_aie2_int8_0 | Round_aie2_0 | Round_aie2_1 | Rsqrt_aie2_bf16_0 | Rsqrt_aie2_int8_0 | Scale_Add_0  | Scale_Add_1  | Scale_Add_bf16_0 | Scale_Add_bf16_1 | Select_aie2_bf16 | Select_aie2_int8 | Shrink_aie2_0 | Shrink_aie2_1 | SiLU_aie2_bf16 | SiLU_aie2_int8 | SiLU_aie2_int8_1 | SigmoidTemplated_bf16_0 | SigmoidTemplated_int8_0 | SigmoidTemplated_int8_1 | Sigmoid_bf16_0 | Sigmoid_bf16_1 | Sigmoid_int8_0 | Sigmoid_int8_1 | Sign_bf16_0  | Sign_bf16_1  | Sign_int8_0  | Sign_int8_1  | Sin_aie2_bf16 | Sin_aie2_int8 | Slice_bfloat16_0 | Slice_int8_0 | Softmax_1    | Softmax_bf16_0 | Softmax_bf16_1 | Sqrt_bf16_0  | Sqrt_bf16_1  | Sqrt_int8_0  | Sqrt_int8_1  | Squeeze_bfloat16_0 | Squeeze_int8_0 | SubAttributeBroadcasting_aie2_bf16_0 | SubAttributeBroadcasting_aie2_int8_0 | SubBroadcasting_aie2_bf16_0 | SubBroadcasting_aie2_int8_0 | SubBroadcasting_aie2_int8_0_ptr_interface | Sub_aie2_bf16_0 | Sub_aie2_int8_0 | Sub_aie2_int8_0_ptr_interface | TanhTemplated_aie2_bfloat16 | TanhTemplated_aie2_int8 | Tanh_0       | Tanh_1       | Tanh_int8_0  | Tanh_int8_1  | Tile_aie2_bf16_0 | Tile_aie2_int8_1 | Topk1D_bf16_0 | Topk1D_bf16_1 | Topk1D_int8_0 | Topk1D_int8_1 | Topk2D_bf16_0 | Topk2D_bf16_1 | Topk2D_int8_0 | Topk2D_int8_1 | Transpose_aie2_bf16_021 | Transpose_aie2_bf16_021_pad | Transpose_aie2_bf16_102 | Transpose_aie2_bf16_102_pad | Transpose_aie2_bf16_120 | Transpose_aie2_bf16_120_pad | Transpose_aie2_bf16_201 | Transpose_aie2_bf16_201_pad | Transpose_aie2_bf16_210 | Transpose_aie2_bf16_210_pad | Transpose_aie2_int8_021 | Transpose_aie2_int8_021_pad | Transpose_aie2_int8_102 | Transpose_aie2_int8_102_pad | Transpose_aie2_int8_120 | Transpose_aie2_int8_120_pad | Transpose_aie2_int8_201 | Transpose_aie2_int8_201_pad | Transpose_aie2_int8_210 | Transpose_aie2_int8_210_pad | bfloat16     | int8         | Mish_aie2_bfloat16 | ReduceMeanNoc8_AIE2_bfloat16 | InstanceNormPart2_aie2_bf16_0 | ReduceMeanNoc8_AIE2_int8 | Averege diff | Diff stdev | Quantile #1 | Quantile #2 | Quantile #3 | Quantile #4 | Quantile #5 | Quantile #6 | Quantile #7 | Quantile #8 | Quantile #9 |
|--------------------------|-------------------------------|------------------------------|------------------|------------------|------------------|------------------|------------------|------------------|------------------|------------------|------------------|------------------|----------------|------------------------------|--------------|--------------|--------------|--------------|--------------------|--------------------|--------------|--------------|------------------------------------|------------------------------------|----------------|----------------------------|------------------------|--------------|-----------------|-----------------|-----------------|-----------------|--------------|--------------|---------------------------|---------------------------|-----------------------|-----------------------|---------------------------|-----------------------|---------------|---------------|-------------------------|-------------------------|--------------------|-------------------|-------------------|------------------|----------------------|--------------------|----------------------|----------------|------------------|--------------------|----------------|----------------|----------------|--------------------------------------------------------------|----------------------------------------------------------|--------------------------------------------------|----------------------------------------------|--------------------------------------------------|----------------------------------------------|------------------------------------------------------------|-----------------------|-----------------------|-----------------------|-----------------------|--------------|--------------|--------------|--------------|-----------------------|-----------------------|------------------|------------------|-------------------------|-------------------------|--------------|--------------|------------------|------------------|--------------|--------------|----------------|----------------|---------------|---------------|--------------------------|--------------------------|--------------------|--------------------|--------------|-------------------------|-------------------------|------------------------------|------------------------------|---------------|---------------|----------------------|----------------------|-----------------------|-----------------------|-----------------------|-----------------------|-----------------------|-----------------------|-----------------------|-----------------------|-----------------|--------------------------------------|--------------------------------------|------------------------|------------------------|----------------------|------------------|----------------------|------------------|----------------|----------------|-----------------|-----------------|-----------------|-----------------|-------------------------------|--------------|--------------|----------------------|------------------|--------------|--------------|------------------------|------------------------|--------------|--------------|--------------|--------------|--------------|--------------|--------------|--------------|-------------------------|-------------------------|---------------------|---------------------|---------------------|---------------------|---------------------|---------------------|---------------------|---------------------|----------------|----------------|-----------------------------|-----------------------------|--------------------|--------------------|--------------------|--------------------|-------------------------------|-------------------------------|------------------|------------------|-------------------------------|-------------------------------|-----------------------------------|-------------------------------|------------------------------|------------------------------|--------------|--------------|--------------|--------------|-------------------|----------------------|--------------|--------------|--------------|--------------|--------------|--------------|--------------------------------------|--------------------------------------|----------------|----------------------------|------------------------|--------------|--------------|--------------|--------------|---------------------|-----------------|------------------------|------------------------|-----------------------|-----------------------|--------------------------------------|--------------------------------------|--------------|--------------|-----------------------|-----------------------|-------------------|-------------------|-------------------|-------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|-----------------------|-----------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|------------------|------------------|--------------|--------------|---------------------|--------------|--------------|-------------------|-------------------|--------------|--------------|------------------|------------------|------------------|------------------|---------------|---------------|----------------|----------------|------------------|-------------------------|-------------------------|-------------------------|----------------|----------------|----------------|----------------|--------------|--------------|--------------|--------------|---------------|---------------|------------------|--------------|--------------|----------------|----------------|--------------|--------------|--------------|--------------|--------------------|----------------|--------------------------------------|--------------------------------------|-----------------------------|-----------------------------|-------------------------------------------|-----------------|-----------------|-------------------------------|-----------------------------|-------------------------|--------------|--------------|--------------|--------------|------------------|------------------|---------------|---------------|---------------|---------------|---------------|---------------|---------------|---------------|-------------------------|-----------------------------|-------------------------|-----------------------------|-------------------------|-----------------------------|-------------------------|-----------------------------|-------------------------|-----------------------------|-------------------------|-----------------------------|-------------------------|-----------------------------|-------------------------|-----------------------------|-------------------------|-----------------------------|-------------------------|-----------------------------|--------------|--------------|--------------------|------------------------------|-------------------------------|--------------------------|--------------|------------|-------------|-------------|-------------|-------------|-------------|-------------|-------------|-------------|-------------|
| Baseline                 |                         18006 |                        10802 |            18704 |            24210 |            24348 |            35603 |            28338 |            14238 |            17288 |            17291 |            20339 |            53131 |          10550 |                        12052 |         1078 |          690 |          424 |          479 |                424 |                808 |          166 |          226 |                               1709 |                                700 |           1704 |                       1710 |                    701 |          695 |             352 |             413 |             390 |             305 |         1511 |         1023 |                      2722 |                      1844 |                  1511 |                  1023 |                      1239 |                  1129 |           629 |          1252 |                    2246 |                     972 |               1985 |               500 |               206 |              500 |                  750 |               1320 |                 1320 |           1442 |             1442 |               1685 |            727 |            231 |            286 |                                                         1857 |                                                      973 |                                             1838 |                                          956 |                                             1838 |                                          956 |                                                        956 |                  3796 |                  4408 |                  1695 |                  1944 |         8919 |         2728 |         1823 |         7731 |                  6310 |                  1756 |             5485 |             5483 |                    4688 |                    3274 |         2857 |          763 |             1122 |             4097 |         3241 |         1220 |           2211 |           5495 |          1310 |         31087 |                     1310 |                     2496 |              11330 |                986 |          920 |                   47791 |                   12545 |                         5124 |                         6758 |         31612 |         55102 |                11720 |                24916 |                   558 |                  1448 |                   302 |                   744 |                   906 |                  1464 |                   474 |                   760 |            6137 |                                 5765 |                                 8326 |                   2134 |                   1494 |                  692 |              275 |                  692 |              275 |           2123 |           1480 |            1434 |             731 |            5945 |            1929 |                          1908 |         9742 |         1909 |                 3435 |             3481 |          458 |          934 |                    937 |                    695 |         2827 |         3755 |         4413 |         8528 |         3153 |        38869 |          468 |          384 |                    1630 |                    2112 |                 626 |                1341 |                 338 |                 701 |                 625 |                1343 |                 337 |                 703 |           4703 |           4765 |                         995 |                         545 |               1261 |                829 |                363 |                375 |                          2792 |                          3185 |             2792 |             3180 |                          2815 |                         11672 |                             16239 |                         12740 |                         8646 |                         7458 |        18392 |        15251 |         4964 |         1911 |               207 |                  379 |          666 |          458 |          910 |          910 |          506 |          282 |                                 1711 |                                  756 |           1706 |                       1712 |                    757 |          751 |          541 |          812 |         6215 |                9413 |           10728 |                   8574 |                   8574 |                 17021 |                 17021 |                                40488 |                                 4544 |        37031 |         4544 |                  4496 |                  2772 |              1253 |              2001 |              1269 |              2582 |                      14505 |                       8812 |                      14501 |                       8846 |                       8206 |                       4085 |                      14495 |                       8802 |                       8202 |                       4091 |                       8190 |                       4069 |                       7314 |                       3209 |                   145 |                   121 |                     14060 |                      8678 |                     14061 |                      8716 |                      8113 |                      4033 |                     14082 |                      8748 |                      8125 |                      4039 |                      8097 |                      4021 |                      7266 |                      3154 |            40140 |            16093 |         1472 |          800 |                 489 |          661 |         1345 |              3589 |              2604 |          927 |          927 |             1147 |             1147 |              538 |              313 |          1041 |           800 |           5307 |           7012 |             7010 |                    2115 |                    2247 |                    2247 |           4055 |           2615 |             96 |            103 |         1334 |          214 |          492 |          100 |          3061 |           965 |              765 |         1365 |          632 |          10023 |           2043 |        30020 |         3812 |        21834 |        21834 |                362 |            362 |                                 1709 |                                  700 |                        1688 |                         679 |                                       679 |            1682 |             673 |                           673 |                        2608 |                     396 |         2879 |         3823 |          374 |          486 |             9195 |             5401 |          1455 |           395 |          1076 |           352 |         34633 |           525 |         31435 |           491 |                    1773 |                        2312 |                    1138 |                        1122 |                    1781 |                        1677 |                    1790 |                        1686 |                    1794 |                        1794 |                    2603 |                        3683 |                    1134 |                        1070 |                    2614 |                        2614 |                    2624 |                        2468 |                    2620 |                        2464 |         1206 |         1376 |               6637 |                        49594 |                         14298 |                   101771 |              |            |             |             |             |             |             |             |             |             |             |
|--------------------------|-------------------------------|------------------------------|------------------|------------------|------------------|------------------|------------------|------------------|------------------|------------------|------------------|------------------|----------------|------------------------------|--------------|--------------|--------------|--------------|--------------------|--------------------|--------------|--------------|------------------------------------|------------------------------------|----------------|----------------------------|------------------------|--------------|-----------------|-----------------|-----------------|-----------------|--------------|--------------|---------------------------|---------------------------|-----------------------|-----------------------|---------------------------|-----------------------|---------------|---------------|-------------------------|-------------------------|--------------------|-------------------|-------------------|------------------|----------------------|--------------------|----------------------|----------------|------------------|--------------------|----------------|----------------|----------------|--------------------------------------------------------------|----------------------------------------------------------|--------------------------------------------------|----------------------------------------------|--------------------------------------------------|----------------------------------------------|------------------------------------------------------------|-----------------------|-----------------------|-----------------------|-----------------------|--------------|--------------|--------------|--------------|-----------------------|-----------------------|------------------|------------------|-------------------------|-------------------------|--------------|--------------|------------------|------------------|--------------|--------------|----------------|----------------|---------------|---------------|--------------------------|--------------------------|--------------------|--------------------|--------------|-------------------------|-------------------------|------------------------------|------------------------------|---------------|---------------|----------------------|----------------------|-----------------------|-----------------------|-----------------------|-----------------------|-----------------------|-----------------------|-----------------------|-----------------------|-----------------|--------------------------------------|--------------------------------------|------------------------|------------------------|----------------------|------------------|----------------------|------------------|----------------|----------------|-----------------|-----------------|-----------------|-----------------|-------------------------------|--------------|--------------|----------------------|------------------|--------------|--------------|------------------------|------------------------|--------------|--------------|--------------|--------------|--------------|--------------|--------------|--------------|-------------------------|-------------------------|---------------------|---------------------|---------------------|---------------------|---------------------|---------------------|---------------------|---------------------|----------------|----------------|-----------------------------|-----------------------------|--------------------|--------------------|--------------------|--------------------|-------------------------------|-------------------------------|------------------|------------------|-------------------------------|-------------------------------|-----------------------------------|-------------------------------|------------------------------|------------------------------|--------------|--------------|--------------|--------------|-------------------|----------------------|--------------|--------------|--------------|--------------|--------------|--------------|--------------------------------------|--------------------------------------|----------------|----------------------------|------------------------|--------------|--------------|--------------|--------------|---------------------|-----------------|------------------------|------------------------|-----------------------|-----------------------|--------------------------------------|--------------------------------------|--------------|--------------|-----------------------|-----------------------|-------------------|-------------------|-------------------|-------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|-----------------------|-----------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|------------------|------------------|--------------|--------------|---------------------|--------------|--------------|-------------------|-------------------|--------------|--------------|------------------|------------------|------------------|------------------|---------------|---------------|----------------|----------------|------------------|-------------------------|-------------------------|-------------------------|----------------|----------------|----------------|----------------|--------------|--------------|--------------|--------------|---------------|---------------|------------------|--------------|--------------|----------------|----------------|--------------|--------------|--------------|--------------|--------------------|----------------|--------------------------------------|--------------------------------------|-----------------------------|-----------------------------|-------------------------------------------|-----------------|-----------------|-------------------------------|-----------------------------|-------------------------|--------------|--------------|--------------|--------------|------------------|------------------|---------------|---------------|---------------|---------------|---------------|---------------|---------------|---------------|-------------------------|-----------------------------|-------------------------|-----------------------------|-------------------------|-----------------------------|-------------------------|-----------------------------|-------------------------|-----------------------------|-------------------------|-----------------------------|-------------------------|-----------------------------|-------------------------|-----------------------------|-------------------------|-----------------------------|-------------------------|-----------------------------|--------------|--------------|--------------------|------------------------------|-------------------------------|--------------------------|--------------|------------|-------------|-------------|-------------|-------------|-------------|-------------|-------------|-------------|-------------|
| After change             |                         18066 |                        10831 |            18752 |            24258 |            24396 |            35651 |            28362 |            14250 |            17300 |            17303 |            20350 |            53154 |          10551 |                        12053 |         1078 |          690 |          424 |          479 |                424 |                808 |          166 |          226 |                               1709 |                                700 |           1704 |                       1710 |                    701 |          695 |             352 |             413 |             390 |             305 |         1511 |         1023 |                      2722 |                      1844 |                  1511 |                  1023 |                      1239 |                  1129 |           629 |          1252 |                    2246 |                     972 |               1985 |               500 |               206 |              500 |                  750 |               1320 |                 1320 |           1442 |             1442 |               1685 |            727 |            231 |            286 |                                                         1857 |                                                      973 |                                             1838 |                                          956 |                                             1838 |                                          956 |                                                        956 |                  3796 |                  4408 |                  1695 |                  1944 |         8919 |         2728 |         1823 |         7731 |                  6310 |                  1756 |             5485 |             5483 |                    4688 |                    3274 |         2857 |          763 |             1122 |             4097 |         3241 |         1220 |           2211 |           5495 |          1310 |         31087 |                     1310 |                     2496 |              11330 |                986 |          920 |                   47791 |                   12545 |                         5124 |                         6758 |         31612 |         55102 |                11720 |                24916 |                   558 |                  1448 |                   302 |                   744 |                   906 |                  1464 |                   474 |                   760 |            6137 |                                 5765 |                                 8326 |                   2134 |                   1494 |                  692 |              275 |                  692 |              275 |           2123 |           1480 |            1434 |             731 |            5945 |            1929 |                          1908 |         9742 |         1909 |                 3435 |             3481 |          458 |          934 |                    937 |                    695 |         2827 |         3755 |         4413 |         8528 |         3153 |        38869 |          468 |          384 |                    1630 |                    2112 |                 626 |                1341 |                 338 |                 701 |                 625 |                1343 |                 337 |                 703 |           4703 |           4765 |                         995 |                         545 |               1261 |                829 |                363 |                375 |                          2792 |                          3185 |             2792 |             3180 |                          2815 |                         11672 |                             16239 |                         12740 |                         8646 |                         7458 |        18392 |        15251 |         4964 |         1911 |               207 |                  379 |          666 |          458 |          910 |          910 |          506 |          282 |                                 1711 |                                  756 |           1706 |                       1712 |                    757 |          751 |          541 |          812 |         6215 |                9413 |           10728 |                   8574 |                   8574 |                 17021 |                 17021 |                                40488 |                                 4544 |        37031 |         4544 |                  4496 |                  2772 |              1253 |              2001 |              1269 |              2582 |                      14505 |                       8812 |                      14501 |                       8846 |                       8206 |                       4085 |                      14495 |                       8802 |                       8202 |                       4091 |                       8190 |                       4069 |                       7314 |                       3209 |                   145 |                   121 |                     14060 |                      8678 |                     14061 |                      8716 |                      8113 |                      4033 |                     14082 |                      8748 |                      8125 |                      4039 |                      8097 |                      4021 |                      7266 |                      3154 |            40140 |            16093 |         1472 |          800 |                 489 |          661 |         1345 |              3589 |              2604 |          927 |          927 |             1147 |             1147 |              538 |              313 |          1041 |           800 |           5307 |           7012 |             7010 |                    2115 |                    2247 |                    2247 |           4055 |           2615 |             96 |            103 |         1334 |          214 |          492 |          100 |          3061 |           965 |              765 |         1365 |          632 |          10023 |           2043 |        30020 |         3812 |        21834 |        21834 |                362 |            362 |                                 1709 |                                  700 |                        1688 |                         679 |                                       679 |            1682 |             673 |                           673 |                        2608 |                     396 |         2879 |         3823 |          374 |          486 |             9195 |             5401 |          1455 |           395 |          1076 |           352 |         34633 |           525 |         31435 |           491 |                    1773 |                        2312 |                    1138 |                        1122 |                    1781 |                        1677 |                    1790 |                        1686 |                    1794 |                        1794 |                    2603 |                        3683 |                    1134 |                        1070 |                    2614 |                        2614 |                    2624 |                        2468 |                    2620 |                        2464 |         1206 |         1376 |               6636 |                        49569 |                         13786 |                    81983 | -0.06%       |       1.09 | +0.00%      | +0.00%      | +0.00%      | +0.00%      | +0.00%      | +0.00%      | +0.00%      | +0.00%      | +0.00%      |
|--------------------------|-------------------------------|------------------------------|------------------|------------------|------------------|------------------|------------------|------------------|------------------|------------------|------------------|------------------|----------------|------------------------------|--------------|--------------|--------------|--------------|--------------------|--------------------|--------------|--------------|------------------------------------|------------------------------------|----------------|----------------------------|------------------------|--------------|-----------------|-----------------|-----------------|-----------------|--------------|--------------|---------------------------|---------------------------|-----------------------|-----------------------|---------------------------|-----------------------|---------------|---------------|-------------------------|-------------------------|--------------------|-------------------|-------------------|------------------|----------------------|--------------------|----------------------|----------------|------------------|--------------------|----------------|----------------|----------------|--------------------------------------------------------------|----------------------------------------------------------|--------------------------------------------------|----------------------------------------------|--------------------------------------------------|----------------------------------------------|------------------------------------------------------------|-----------------------|-----------------------|-----------------------|-----------------------|--------------|--------------|--------------|--------------|-----------------------|-----------------------|------------------|------------------|-------------------------|-------------------------|--------------|--------------|------------------|------------------|--------------|--------------|----------------|----------------|---------------|---------------|--------------------------|--------------------------|--------------------|--------------------|--------------|-------------------------|-------------------------|------------------------------|------------------------------|---------------|---------------|----------------------|----------------------|-----------------------|-----------------------|-----------------------|-----------------------|-----------------------|-----------------------|-----------------------|-----------------------|-----------------|--------------------------------------|--------------------------------------|------------------------|------------------------|----------------------|------------------|----------------------|------------------|----------------|----------------|-----------------|-----------------|-----------------|-----------------|-------------------------------|--------------|--------------|----------------------|------------------|--------------|--------------|------------------------|------------------------|--------------|--------------|--------------|--------------|--------------|--------------|--------------|--------------|-------------------------|-------------------------|---------------------|---------------------|---------------------|---------------------|---------------------|---------------------|---------------------|---------------------|----------------|----------------|-----------------------------|-----------------------------|--------------------|--------------------|--------------------|--------------------|-------------------------------|-------------------------------|------------------|------------------|-------------------------------|-------------------------------|-----------------------------------|-------------------------------|------------------------------|------------------------------|--------------|--------------|--------------|--------------|-------------------|----------------------|--------------|--------------|--------------|--------------|--------------|--------------|--------------------------------------|--------------------------------------|----------------|----------------------------|------------------------|--------------|--------------|--------------|--------------|---------------------|-----------------|------------------------|------------------------|-----------------------|-----------------------|--------------------------------------|--------------------------------------|--------------|--------------|-----------------------|-----------------------|-------------------|-------------------|-------------------|-------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|-----------------------|-----------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|------------------|------------------|--------------|--------------|---------------------|--------------|--------------|-------------------|-------------------|--------------|--------------|------------------|------------------|------------------|------------------|---------------|---------------|----------------|----------------|------------------|-------------------------|-------------------------|-------------------------|----------------|----------------|----------------|----------------|--------------|--------------|--------------|--------------|---------------|---------------|------------------|--------------|--------------|----------------|----------------|--------------|--------------|--------------|--------------|--------------------|----------------|--------------------------------------|--------------------------------------|-----------------------------|-----------------------------|-------------------------------------------|-----------------|-----------------|-------------------------------|-----------------------------|-------------------------|--------------|--------------|--------------|--------------|------------------|------------------|---------------|---------------|---------------|---------------|---------------|---------------|---------------|---------------|-------------------------|-----------------------------|-------------------------|-----------------------------|-------------------------|-----------------------------|-------------------------|-----------------------------|-------------------------|-----------------------------|-------------------------|-----------------------------|-------------------------|-----------------------------|-------------------------|-----------------------------|-------------------------|-----------------------------|-------------------------|-----------------------------|--------------|--------------|--------------------|------------------------------|-------------------------------|--------------------------|--------------|------------|-------------|-------------|-------------|-------------|-------------|-------------|-------------|-------------|-------------|
| Total diff               | REGR(+0.33%)                  | REGR(+0.27%)                 | REGR(+0.26%)     | REGR(+0.20%)     | REGR(+0.20%)     | REGR(+0.13%)     | SAME(+0.08%)     | SAME(+0.08%)     | SAME(+0.07%)     | SAME(+0.07%)     | SAME(+0.05%)     | SAME(+0.04%)     | SAME(+0.01%)   | SAME(+0.01%)                 | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%)       | SAME(+0.00%)       | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%)                       | SAME(+0.00%)                       | SAME(+0.00%)   | SAME(+0.00%)               | SAME(+0.00%)           | SAME(+0.00%) | SAME(+0.00%)    | SAME(+0.00%)    | SAME(+0.00%)    | SAME(+0.00%)    | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%)              | SAME(+0.00%)              | SAME(+0.00%)          | SAME(+0.00%)          | SAME(+0.00%)              | SAME(+0.00%)          | SAME(+0.00%)  | SAME(+0.00%)  | SAME(+0.00%)            | SAME(+0.00%)            | SAME(+0.00%)       | SAME(+0.00%)      | SAME(+0.00%)      | SAME(+0.00%)     | SAME(+0.00%)         | SAME(+0.00%)       | SAME(+0.00%)         | SAME(+0.00%)   | SAME(+0.00%)     | SAME(+0.00%)       | SAME(+0.00%)   | SAME(+0.00%)   | SAME(+0.00%)   | SAME(+0.00%)                                                 | SAME(+0.00%)                                             | SAME(+0.00%)                                     | SAME(+0.00%)                                 | SAME(+0.00%)                                     | SAME(+0.00%)                                 | SAME(+0.00%)                                               | SAME(+0.00%)          | SAME(+0.00%)          | SAME(+0.00%)          | SAME(+0.00%)          | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%)          | SAME(+0.00%)          | SAME(+0.00%)     | SAME(+0.00%)     | SAME(+0.00%)            | SAME(+0.00%)            | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%)     | SAME(+0.00%)     | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%)   | SAME(+0.00%)   | SAME(+0.00%)  | SAME(+0.00%)  | SAME(+0.00%)             | SAME(+0.00%)             | SAME(+0.00%)       | SAME(+0.00%)       | SAME(+0.00%) | SAME(+0.00%)            | SAME(+0.00%)            | SAME(+0.00%)                 | SAME(+0.00%)                 | SAME(+0.00%)  | SAME(+0.00%)  | SAME(+0.00%)         | SAME(+0.00%)         | SAME(+0.00%)          | SAME(+0.00%)          | SAME(+0.00%)          | SAME(+0.00%)          | SAME(+0.00%)          | SAME(+0.00%)          | SAME(+0.00%)          | SAME(+0.00%)          | SAME(+0.00%)    | SAME(+0.00%)                         | SAME(+0.00%)                         | SAME(+0.00%)           | SAME(+0.00%)           | SAME(+0.00%)         | SAME(+0.00%)     | SAME(+0.00%)         | SAME(+0.00%)     | SAME(+0.00%)   | SAME(+0.00%)   | SAME(+0.00%)    | SAME(+0.00%)    | SAME(+0.00%)    | SAME(+0.00%)    | SAME(+0.00%)                  | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%)         | SAME(+0.00%)     | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%)           | SAME(+0.00%)           | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%)            | SAME(+0.00%)            | SAME(+0.00%)        | SAME(+0.00%)        | SAME(+0.00%)        | SAME(+0.00%)        | SAME(+0.00%)        | SAME(+0.00%)        | SAME(+0.00%)        | SAME(+0.00%)        | SAME(+0.00%)   | SAME(+0.00%)   | SAME(+0.00%)                | SAME(+0.00%)                | SAME(+0.00%)       | SAME(+0.00%)       | SAME(+0.00%)       | SAME(+0.00%)       | SAME(+0.00%)                  | SAME(+0.00%)                  | SAME(+0.00%)     | SAME(+0.00%)     | SAME(+0.00%)                  | SAME(+0.00%)                  | SAME(+0.00%)                      | SAME(+0.00%)                  | SAME(+0.00%)                 | SAME(+0.00%)                 | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%)      | SAME(+0.00%)         | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%)                         | SAME(+0.00%)                         | SAME(+0.00%)   | SAME(+0.00%)               | SAME(+0.00%)           | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%)        | SAME(+0.00%)    | SAME(+0.00%)           | SAME(+0.00%)           | SAME(+0.00%)          | SAME(+0.00%)          | SAME(+0.00%)                         | SAME(+0.00%)                         | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%)          | SAME(+0.00%)          | SAME(+0.00%)      | SAME(+0.00%)      | SAME(+0.00%)      | SAME(+0.00%)      | SAME(+0.00%)               | SAME(+0.00%)               | SAME(+0.00%)               | SAME(+0.00%)               | SAME(+0.00%)               | SAME(+0.00%)               | SAME(+0.00%)               | SAME(+0.00%)               | SAME(+0.00%)               | SAME(+0.00%)               | SAME(+0.00%)               | SAME(+0.00%)               | SAME(+0.00%)               | SAME(+0.00%)               | SAME(+0.00%)          | SAME(+0.00%)          | SAME(+0.00%)              | SAME(+0.00%)              | SAME(+0.00%)              | SAME(+0.00%)              | SAME(+0.00%)              | SAME(+0.00%)              | SAME(+0.00%)              | SAME(+0.00%)              | SAME(+0.00%)              | SAME(+0.00%)              | SAME(+0.00%)              | SAME(+0.00%)              | SAME(+0.00%)              | SAME(+0.00%)              | SAME(+0.00%)     | SAME(+0.00%)     | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%)        | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%)      | SAME(+0.00%)      | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%)     | SAME(+0.00%)     | SAME(+0.00%)     | SAME(+0.00%)     | SAME(+0.00%)  | SAME(+0.00%)  | SAME(+0.00%)   | SAME(+0.00%)   | SAME(+0.00%)     | SAME(+0.00%)            | SAME(+0.00%)            | SAME(+0.00%)            | SAME(+0.00%)   | SAME(+0.00%)   | SAME(+0.00%)   | SAME(+0.00%)   | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%)  | SAME(+0.00%)  | SAME(+0.00%)     | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%)   | SAME(+0.00%)   | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%)       | SAME(+0.00%)   | SAME(+0.00%)                         | SAME(+0.00%)                         | SAME(+0.00%)                | SAME(+0.00%)                | SAME(+0.00%)                              | SAME(+0.00%)    | SAME(+0.00%)    | SAME(+0.00%)                  | SAME(+0.00%)                | SAME(+0.00%)            | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%)     | SAME(+0.00%)     | SAME(+0.00%)  | SAME(+0.00%)  | SAME(+0.00%)  | SAME(+0.00%)  | SAME(+0.00%)  | SAME(+0.00%)  | SAME(+0.00%)  | SAME(+0.00%)  | SAME(+0.00%)            | SAME(+0.00%)                | SAME(+0.00%)            | SAME(+0.00%)                | SAME(+0.00%)            | SAME(+0.00%)                | SAME(+0.00%)            | SAME(+0.00%)                | SAME(+0.00%)            | SAME(+0.00%)                | SAME(+0.00%)            | SAME(+0.00%)                | SAME(+0.00%)            | SAME(+0.00%)                | SAME(+0.00%)            | SAME(+0.00%)                | SAME(+0.00%)            | SAME(+0.00%)                | SAME(+0.00%)            | SAME(+0.00%)                | SAME(+0.00%) | SAME(+0.00%) | SAME(-0.02%)       | SAME(-0.05%)                 | IMPR(-3.58%)                  | IMPR(-19.44%)            | -0.06%       |       1.09 | +0.00%      | +0.00%      | +0.00%      | +0.00%      | +0.00%      | +0.00%      | +0.00%      | +0.00%      | +0.00%      |
|--------------------------|-------------------------------|------------------------------|------------------|------------------|------------------|------------------|------------------|------------------|------------------|------------------|------------------|------------------|----------------|------------------------------|--------------|--------------|--------------|--------------|--------------------|--------------------|--------------|--------------|------------------------------------|------------------------------------|----------------|----------------------------|------------------------|--------------|-----------------|-----------------|-----------------|-----------------|--------------|--------------|---------------------------|---------------------------|-----------------------|-----------------------|---------------------------|-----------------------|---------------|---------------|-------------------------|-------------------------|--------------------|-------------------|-------------------|------------------|----------------------|--------------------|----------------------|----------------|------------------|--------------------|----------------|----------------|----------------|--------------------------------------------------------------|----------------------------------------------------------|--------------------------------------------------|----------------------------------------------|--------------------------------------------------|----------------------------------------------|------------------------------------------------------------|-----------------------|-----------------------|-----------------------|-----------------------|--------------|--------------|--------------|--------------|-----------------------|-----------------------|------------------|------------------|-------------------------|-------------------------|--------------|--------------|------------------|------------------|--------------|--------------|----------------|----------------|---------------|---------------|--------------------------|--------------------------|--------------------|--------------------|--------------|-------------------------|-------------------------|------------------------------|------------------------------|---------------|---------------|----------------------|----------------------|-----------------------|-----------------------|-----------------------|-----------------------|-----------------------|-----------------------|-----------------------|-----------------------|-----------------|--------------------------------------|--------------------------------------|------------------------|------------------------|----------------------|------------------|----------------------|------------------|----------------|----------------|-----------------|-----------------|-----------------|-----------------|-------------------------------|--------------|--------------|----------------------|------------------|--------------|--------------|------------------------|------------------------|--------------|--------------|--------------|--------------|--------------|--------------|--------------|--------------|-------------------------|-------------------------|---------------------|---------------------|---------------------|---------------------|---------------------|---------------------|---------------------|---------------------|----------------|----------------|-----------------------------|-----------------------------|--------------------|--------------------|--------------------|--------------------|-------------------------------|-------------------------------|------------------|------------------|-------------------------------|-------------------------------|-----------------------------------|-------------------------------|------------------------------|------------------------------|--------------|--------------|--------------|--------------|-------------------|----------------------|--------------|--------------|--------------|--------------|--------------|--------------|--------------------------------------|--------------------------------------|----------------|----------------------------|------------------------|--------------|--------------|--------------|--------------|---------------------|-----------------|------------------------|------------------------|-----------------------|-----------------------|--------------------------------------|--------------------------------------|--------------|--------------|-----------------------|-----------------------|-------------------|-------------------|-------------------|-------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|-----------------------|-----------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|------------------|------------------|--------------|--------------|---------------------|--------------|--------------|-------------------|-------------------|--------------|--------------|------------------|------------------|------------------|------------------|---------------|---------------|----------------|----------------|------------------|-------------------------|-------------------------|-------------------------|----------------|----------------|----------------|----------------|--------------|--------------|--------------|--------------|---------------|---------------|------------------|--------------|--------------|----------------|----------------|--------------|--------------|--------------|--------------|--------------------|----------------|--------------------------------------|--------------------------------------|-----------------------------|-----------------------------|-------------------------------------------|-----------------|-----------------|-------------------------------|-----------------------------|-------------------------|--------------|--------------|--------------|--------------|------------------|------------------|---------------|---------------|---------------|---------------|---------------|---------------|---------------|---------------|-------------------------|-----------------------------|-------------------------|-----------------------------|-------------------------|-----------------------------|-------------------------|-----------------------------|-------------------------|-----------------------------|-------------------------|-----------------------------|-------------------------|-----------------------------|-------------------------|-----------------------------|-------------------------|-----------------------------|-------------------------|-----------------------------|--------------|--------------|--------------------|------------------------------|-------------------------------|--------------------------|--------------|------------|-------------|-------------|-------------|-------------|-------------|-------------|-------------|-------------|-------------|

With unrolling enabled:

|--------------------------|-------------------------------|------------------------------|------------------|------------------|------------------|------------------|------------------|------------------|------------------|------------------|------------------|------------------|------------------------------|----------------|--------------------|------------------------------|--------------|--------------|--------------|--------------|--------------------|--------------------|--------------|--------------|------------------------------------|------------------------------------|----------------|----------------------------|------------------------|--------------|-----------------|-----------------|-----------------|-----------------|--------------|--------------|---------------------------|---------------------------|-----------------------|-----------------------|---------------------------|-----------------------|---------------|---------------|-------------------------|-------------------------|--------------------|-------------------|-------------------|------------------|----------------------|--------------------|----------------------|----------------|------------------|--------------------|----------------|----------------|----------------|--------------------------------------------------------------|----------------------------------------------------------|--------------------------------------------------|----------------------------------------------|--------------------------------------------------|----------------------------------------------|------------------------------------------------------------|-----------------------|-----------------------|-----------------------|-----------------------|--------------|--------------|--------------|--------------|-----------------------|-----------------------|------------------|------------------|-------------------------|-------------------------|--------------|--------------|------------------|------------------|--------------|--------------|----------------|----------------|---------------|---------------|--------------------------|--------------------------|--------------------|--------------------|--------------|-------------------------|-------------------------|------------------------------|------------------------------|---------------|---------------|----------------------|----------------------|-----------------------|-----------------------|-----------------------|-----------------------|-----------------------|-----------------------|-----------------------|-----------------------|-----------------|--------------------------------------|--------------------------------------|------------------------|------------------------|----------------------|------------------|----------------------|------------------|----------------|----------------|-----------------|-----------------|-----------------|-----------------|-------------------------------|--------------|--------------|----------------------|------------------|--------------|--------------|------------------------|------------------------|--------------|--------------|--------------|--------------|--------------|--------------|--------------|--------------|-------------------------|-------------------------|---------------------|---------------------|---------------------|---------------------|---------------------|---------------------|---------------------|---------------------|----------------|----------------|-----------------------------|-----------------------------|--------------------|--------------------|--------------------|--------------------|-------------------------------|-------------------------------|------------------|------------------|-------------------------------|-------------------------------|-----------------------------------|-------------------------------|------------------------------|------------------------------|--------------|--------------|--------------|--------------|-------------------|----------------------|--------------|--------------|--------------|--------------|--------------|--------------|--------------------------------------|--------------------------------------|----------------|----------------------------|------------------------|--------------|--------------|--------------|--------------|---------------------|-----------------|------------------------|------------------------|-----------------------|--------------------------------------|--------------------------------------|--------------|--------------|-----------------------|-----------------------|-------------------|-------------------|-------------------|-------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|-----------------------|-----------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|--------------|--------------|---------------------|--------------|--------------|-------------------|-------------------|--------------|--------------|------------------|------------------|------------------|------------------|---------------|---------------|----------------|----------------|------------------|-------------------------|-------------------------|-------------------------|----------------|----------------|----------------|----------------|--------------|--------------|--------------|--------------|---------------|---------------|------------------|--------------|--------------|----------------|----------------|--------------|--------------|--------------|--------------|--------------------|----------------|--------------------------------------|--------------------------------------|-----------------------------|-----------------------------|-------------------------------------------|-----------------|-----------------|-------------------------------|-----------------------------|-------------------------|--------------|--------------|--------------|--------------|------------------|------------------|---------------|---------------|---------------|---------------|---------------|---------------|---------------|---------------|-------------------------|-----------------------------|-------------------------|-----------------------------|-------------------------|-----------------------------|-------------------------|-----------------------------|-------------------------|-----------------------------|-------------------------|-----------------------------|-------------------------|-----------------------------|-------------------------|-----------------------------|-------------------------|-----------------------------|-------------------------|-----------------------------|--------------|--------------|------------------|--------------------------|------------------|-------------------------------|--------------|------------|-------------|-------------|-------------|-------------|-------------|-------------|-------------|-------------|-------------|
| Core_Compute_Cycle_Count | InstanceNormPart2_aie2_int8_0 | LayerNormC8Part2_aie2_int8_0 | ReduceMin_int8_0 | ReduceMin_int8_1 | ReduceMax_int8_1 | ReduceMin_bf16_1 | ReduceMax_bf16_1 | ReduceSum_bf16_0 | ReduceSum_bf16_1 | ReduceMax_bf16_0 | ReduceMin_bf16_0 | ReduceMax_int8_0 | ReduceMeanNoc8_AIE2_bfloat16 | Mish_aie2_int8 | Mish_aie2_bfloat16 | LayerNormC8Part2_aie2_bf16_0 | Abs_bf16_0   | Abs_int8_0   | Add2D_0      | Add2D_1      | Add2D_Standalone_0 | Add2D_Standalone_1 | Add2D_bf16_0 | Add2D_bf16_1 | AddAttributeBroadcasting_aie2_bf16 | AddAttributeBroadcasting_aie2_int8 | AddBf16_aie2_0 | AddBroadcastingBf16_aie2_0 | AddBroadcasting_aie2_0 | Add_aie2_0   | ArgMax1d_bf16_0 | ArgMax1d_int8_0 | ArgMin1d_bf16_0 | ArgMin1d_int8_0 | AvgPool2D_0  | AvgPool2D_1  | AvgPool2D_aie2_bfloat16_0 | AvgPool2D_aie2_bfloat16_1 | AvgPool2D_aie2_int8_0 | AvgPool2D_aie2_int8_1 | BatchNorm1d_aie2_bfloat16 | BatchNorm1d_aie2_int8 | BatchNorm2D_0 | BatchNorm2D_1 | BilinearInterpolation_0 | BilinearInterpolation_1 | BitShift_AIE2_int8 | BitwiseAnd_int8_0 | BitwiseNot_aie2_0 | BitwiseOr_int8_0 | BitwiseXor_aie2_int8 | Cast_aie2_bfloat16 | Cast_aie2_bfloat16_1 | Cast_aie2_int8 | Cast_aie2_int8_1 | Ceil_AIE2_bfloat16 | Ceil_AIE2_int8 | Clip_aie2_bf16 | Clip_aie2_int8 | CompareOpsBroadcasting_K_EQ_GE_GT_LE_LT_CMP_GE_bfloat16_aie2 | CompareOpsBroadcasting_K_EQ_GE_GT_LE_LT_CMP_GE_int8_aie2 | CompareOps_K_EQ_GE_GT_LE_LT_CMP_EQ_bfloat16_aie2 | CompareOps_K_EQ_GE_GT_LE_LT_CMP_EQ_int8_aie2 | CompareOps_K_EQ_GE_GT_LE_LT_CMP_GE_bfloat16_aie2 | CompareOps_K_EQ_GE_GT_LE_LT_CMP_GE_int8_aie2 | CompareOps_K_EQ_GE_GT_LE_LT_CMP_GE_int8_aie2_ptr_interface | Conv1D_DW_AIE2_bf16_0 | Conv1D_DW_AIE2_bf16_1 | Conv1D_DW_AIE2_int8_0 | Conv1D_DW_AIE2_int8_1 | Conv2D_0     | Conv2D_1     | Conv2D_2x8_0 | Conv2D_2x8_1 | Conv2D_7x7s2_Layer1_0 | Conv2D_7x7s2_Layer1_1 | Conv2D_11x11s4_0 | Conv2D_11x11s4_1 | Conv2D_11x11s4_Layer1_0 | Conv2D_11x11s4_Layer1_1 | Conv2D_DW_0  | Conv2D_DW_1  | Conv2D_DW_bf16_0 | Conv2D_DW_bf16_1 | Conv2D_FC_0  | Conv2D_FC_1  | Conv2D_LReLU_0 | Conv2D_LReLU_1 | Conv2D_ReLU_0 | Conv2D_ReLU_1 | Conv2D_ReLU_Standalone_0 | Conv2D_ReLU_Standalone_1 | Conv2D_ReLU_int8_0 | Conv2D_ReLU_int8_1 | Conv2D_SV60  | Conv2D_Transpose_AIE2_0 | Conv2D_Transpose_AIE2_1 | Conv2D_Transpose_bf16_AIE2_0 | Conv2D_Transpose_bf16_AIE2_1 | Conv2D_bf16_0 | Conv2D_bf16_1 | Conv2D_mixed_batch_0 | Conv2D_mixed_batch_1 | DegroupG4_aie2_bf16_0 | DegroupG4_aie2_bf16_1 | DegroupG4_aie2_int8_0 | DegroupG4_aie2_int8_1 | DegroupG8_aie2_bf16_0 | DegroupG8_aie2_bf16_1 | DegroupG8_aie2_int8_0 | DegroupG8_aie2_int8_1 | DilatedConv2D_1 | DivAttributeBroadcasting_aie2_bf16_0 | DivAttributeBroadcasting_aie2_int8_0 | DivBroadcasting_aie2_0 | DivBroadcasting_aie2_1 | EleMax_aie2_bfloat16 | EleMax_aie2_int8 | EleMin_aie2_bfloat16 | EleMin_aie2_int8 | ElemDiv_aie2_0 | ElemDiv_aie2_1 | Elu_aie2_bf16_0 | Elu_aie2_int8_0 | Erf_aie2_bf16_0 | Erf_aie2_int8_0 | Erf_aie2_int8_0_ptr_interface | Exp_bf16_0   | Exp_bf16_1   | Expand_aie2_bfloat16 | Expand_aie2_int8 | Floor_aie2_0 | Floor_aie2_1 | FullyConnect_aie2_bf16 | FullyConnect_aie2_int8 | GELU_0       | GELU_1       | GEMM_bf16_0  | GEMM_bf16_1  | GEMM_int8_0  | GEMM_int8_1  | GEMV_0       | GEMV_1       | GeluTemplated_aie2_bf16 | GeluTemplated_aie2_int8 | GroupG4_aie2_bf16_0 | GroupG4_aie2_bf16_1 | GroupG4_aie2_int8_0 | GroupG4_aie2_int8_1 | GroupG8_aie2_bf16_0 | GroupG8_aie2_bf16_1 | GroupG8_aie2_int8_0 | GroupG8_aie2_int8_1 | Group_Conv2D_0 | Group_Conv2D_1 | HardSigmoidTemplated_bf16_0 | HardSigmoidTemplated_int8_0 | HardSigmoid_bf16_0 | HardSigmoid_bf16_1 | HardSigmoid_int8_0 | HardSigmoid_int8_1 | HardswishAsHardsigmoid_aie2_0 | HardswishAsHardsigmoid_aie2_1 | Hardswish_aie2_0 | Hardswish_aie2_1 | InstanceNormPart1_aie2_bf16_0 | InstanceNormPart1_aie2_int8_0 | InterpolateLinear1D_AIE2_bfloat16 | InterpolateLinear1D_AIE2_int8 | LayerNormC8Part1_aie2_bf16_0 | LayerNormC8Part1_aie2_int8_0 | LayerNorm_0  | LayerNorm_1  | Log_bf16_0   | Log_int8_0   | LogicalNot_aie2_0 | LogicalXor_aie2_int8 | MaxPool2D_0  | MaxPool2D_1  | Mul2D_0      | Mul2D_1      | Mul2d_bf16_0 | Mul2d_bf16_1 | MulAttributeBroadcasting_aie2_bf16_0 | MulAttributeBroadcasting_aie2_int8_0 | MulBf16_aie2_0 | MulBroadcastingBf16_aie2_0 | MulBroadcasting_aie2_0 | Mul_aie2_0   | Neg_aie2_0   | Neg_aie2_1   | Pad2D_bf16_0 | Pad3D_AIE2_bfloat16 | Pad3D_AIE2_int8 | PixelShuffle_aie2_bf16 | PixelShuffle_aie2_int8 | PixelUnshuffle_int8_0 | PowAttributeBroadcasting_aie2_bf16_0 | PowAttributeBroadcasting_aie2_int8_0 | Pow_bf16_0   | Pow_int8_0   | Range_bfloat16_aie2_0 | Range_bfloat16_aie2_1 | Range_int8_aie2_0 | Range_int8_aie2_1 | Reciprocal_aie2_0 | Reciprocal_aie2_1 | ReduceMeanAxis_1_aie2_bf16 | ReduceMeanAxis_1_aie2_int8 | ReduceMeanAxis_2_aie2_bf16 | ReduceMeanAxis_2_aie2_int8 | ReduceMeanAxis_3_aie2_bf16 | ReduceMeanAxis_3_aie2_int8 | ReduceMeanAxis_4_aie2_bf16 | ReduceMeanAxis_4_aie2_int8 | ReduceMeanAxis_5_aie2_bf16 | ReduceMeanAxis_5_aie2_int8 | ReduceMeanAxis_6_aie2_bf16 | ReduceMeanAxis_6_aie2_int8 | ReduceMeanAxis_7_aie2_bf16 | ReduceMeanAxis_7_aie2_int8 | ReduceMin1D_aie2_bf16 | ReduceMin1D_aie2_int8 | ReduceSumAxis_1_aie2_bf16 | ReduceSumAxis_1_aie2_int8 | ReduceSumAxis_2_aie2_bf16 | ReduceSumAxis_2_aie2_int8 | ReduceSumAxis_3_aie2_bf16 | ReduceSumAxis_3_aie2_int8 | ReduceSumAxis_4_aie2_bf16 | ReduceSumAxis_4_aie2_int8 | ReduceSumAxis_5_aie2_bf16 | ReduceSumAxis_5_aie2_int8 | ReduceSumAxis_6_aie2_bf16 | ReduceSumAxis_6_aie2_int8 | ReduceSumAxis_7_aie2_bf16 | ReduceSumAxis_7_aie2_int8 | Requantize_0 | Requantize_1 | Rescale_aie2_int8_0 | Round_aie2_0 | Round_aie2_1 | Rsqrt_aie2_bf16_0 | Rsqrt_aie2_int8_0 | Scale_Add_0  | Scale_Add_1  | Scale_Add_bf16_0 | Scale_Add_bf16_1 | Select_aie2_bf16 | Select_aie2_int8 | Shrink_aie2_0 | Shrink_aie2_1 | SiLU_aie2_bf16 | SiLU_aie2_int8 | SiLU_aie2_int8_1 | SigmoidTemplated_bf16_0 | SigmoidTemplated_int8_0 | SigmoidTemplated_int8_1 | Sigmoid_bf16_0 | Sigmoid_bf16_1 | Sigmoid_int8_0 | Sigmoid_int8_1 | Sign_bf16_0  | Sign_bf16_1  | Sign_int8_0  | Sign_int8_1  | Sin_aie2_bf16 | Sin_aie2_int8 | Slice_bfloat16_0 | Slice_int8_0 | Softmax_1    | Softmax_bf16_0 | Softmax_bf16_1 | Sqrt_bf16_0  | Sqrt_bf16_1  | Sqrt_int8_0  | Sqrt_int8_1  | Squeeze_bfloat16_0 | Squeeze_int8_0 | SubAttributeBroadcasting_aie2_bf16_0 | SubAttributeBroadcasting_aie2_int8_0 | SubBroadcasting_aie2_bf16_0 | SubBroadcasting_aie2_int8_0 | SubBroadcasting_aie2_int8_0_ptr_interface | Sub_aie2_bf16_0 | Sub_aie2_int8_0 | Sub_aie2_int8_0_ptr_interface | TanhTemplated_aie2_bfloat16 | TanhTemplated_aie2_int8 | Tanh_0       | Tanh_1       | Tanh_int8_0  | Tanh_int8_1  | Tile_aie2_bf16_0 | Tile_aie2_int8_1 | Topk1D_bf16_0 | Topk1D_bf16_1 | Topk1D_int8_0 | Topk1D_int8_1 | Topk2D_bf16_0 | Topk2D_bf16_1 | Topk2D_int8_0 | Topk2D_int8_1 | Transpose_aie2_bf16_021 | Transpose_aie2_bf16_021_pad | Transpose_aie2_bf16_102 | Transpose_aie2_bf16_102_pad | Transpose_aie2_bf16_120 | Transpose_aie2_bf16_120_pad | Transpose_aie2_bf16_201 | Transpose_aie2_bf16_201_pad | Transpose_aie2_bf16_210 | Transpose_aie2_bf16_210_pad | Transpose_aie2_int8_021 | Transpose_aie2_int8_021_pad | Transpose_aie2_int8_102 | Transpose_aie2_int8_102_pad | Transpose_aie2_int8_120 | Transpose_aie2_int8_120_pad | Transpose_aie2_int8_201 | Transpose_aie2_int8_201_pad | Transpose_aie2_int8_210 | Transpose_aie2_int8_210_pad | bfloat16     | int8         | ReduceSum_int8_0 | ReduceMeanNoc8_AIE2_int8 | ReduceSum_int8_1 | InstanceNormPart2_aie2_bf16_0 | Averege diff | Diff stdev | Quantile #1 | Quantile #2 | Quantile #3 | Quantile #4 | Quantile #5 | Quantile #6 | Quantile #7 | Quantile #8 | Quantile #9 |
|--------------------------|-------------------------------|------------------------------|------------------|------------------|------------------|------------------|------------------|------------------|------------------|------------------|------------------|------------------|------------------------------|----------------|--------------------|------------------------------|--------------|--------------|--------------|--------------|--------------------|--------------------|--------------|--------------|------------------------------------|------------------------------------|----------------|----------------------------|------------------------|--------------|-----------------|-----------------|-----------------|-----------------|--------------|--------------|---------------------------|---------------------------|-----------------------|-----------------------|---------------------------|-----------------------|---------------|---------------|-------------------------|-------------------------|--------------------|-------------------|-------------------|------------------|----------------------|--------------------|----------------------|----------------|------------------|--------------------|----------------|----------------|----------------|--------------------------------------------------------------|----------------------------------------------------------|--------------------------------------------------|----------------------------------------------|--------------------------------------------------|----------------------------------------------|------------------------------------------------------------|-----------------------|-----------------------|-----------------------|-----------------------|--------------|--------------|--------------|--------------|-----------------------|-----------------------|------------------|------------------|-------------------------|-------------------------|--------------|--------------|------------------|------------------|--------------|--------------|----------------|----------------|---------------|---------------|--------------------------|--------------------------|--------------------|--------------------|--------------|-------------------------|-------------------------|------------------------------|------------------------------|---------------|---------------|----------------------|----------------------|-----------------------|-----------------------|-----------------------|-----------------------|-----------------------|-----------------------|-----------------------|-----------------------|-----------------|--------------------------------------|--------------------------------------|------------------------|------------------------|----------------------|------------------|----------------------|------------------|----------------|----------------|-----------------|-----------------|-----------------|-----------------|-------------------------------|--------------|--------------|----------------------|------------------|--------------|--------------|------------------------|------------------------|--------------|--------------|--------------|--------------|--------------|--------------|--------------|--------------|-------------------------|-------------------------|---------------------|---------------------|---------------------|---------------------|---------------------|---------------------|---------------------|---------------------|----------------|----------------|-----------------------------|-----------------------------|--------------------|--------------------|--------------------|--------------------|-------------------------------|-------------------------------|------------------|------------------|-------------------------------|-------------------------------|-----------------------------------|-------------------------------|------------------------------|------------------------------|--------------|--------------|--------------|--------------|-------------------|----------------------|--------------|--------------|--------------|--------------|--------------|--------------|--------------------------------------|--------------------------------------|----------------|----------------------------|------------------------|--------------|--------------|--------------|--------------|---------------------|-----------------|------------------------|------------------------|-----------------------|--------------------------------------|--------------------------------------|--------------|--------------|-----------------------|-----------------------|-------------------|-------------------|-------------------|-------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|-----------------------|-----------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|--------------|--------------|---------------------|--------------|--------------|-------------------|-------------------|--------------|--------------|------------------|------------------|------------------|------------------|---------------|---------------|----------------|----------------|------------------|-------------------------|-------------------------|-------------------------|----------------|----------------|----------------|----------------|--------------|--------------|--------------|--------------|---------------|---------------|------------------|--------------|--------------|----------------|----------------|--------------|--------------|--------------|--------------|--------------------|----------------|--------------------------------------|--------------------------------------|-----------------------------|-----------------------------|-------------------------------------------|-----------------|-----------------|-------------------------------|-----------------------------|-------------------------|--------------|--------------|--------------|--------------|------------------|------------------|---------------|---------------|---------------|---------------|---------------|---------------|---------------|---------------|-------------------------|-----------------------------|-------------------------|-----------------------------|-------------------------|-----------------------------|-------------------------|-----------------------------|-------------------------|-----------------------------|-------------------------|-----------------------------|-------------------------|-----------------------------|-------------------------|-----------------------------|-------------------------|-----------------------------|-------------------------|-----------------------------|--------------|--------------|------------------|--------------------------|------------------|-------------------------------|--------------|------------|-------------|-------------|-------------|-------------|-------------|-------------|-------------|-------------|-------------|
| Baseline                 |                         12762 |                        10802 |            19512 |            23790 |            24036 |            29334 |            14790 |            47492 |            19126 |            17856 |            17856 |            35861 |                        50062 |          10148 |               6042 |                        12052 |          418 |          485 |          424 |          479 |                424 |                808 |          166 |          226 |                                821 |                               1039 |            812 |                        822 |                   1037 |         1026 |             352 |             413 |             390 |             305 |         1511 |         1023 |                      2722 |                      1844 |                  1511 |                  1023 |                       510 |                   512 |           347 |           537 |                    2246 |                     972 |               1985 |               396 |               207 |              396 |                  492 |               1906 |                 1906 |           1238 |             1238 |               1685 |            398 |            199 |            293 |                                                         1857 |                                                      979 |                                             1838 |                                          962 |                                             1838 |                                          962 |                                                        962 |                  3796 |                  4408 |                  1607 |                  1863 |         8919 |         2728 |         1988 |         4948 |                  6310 |                  1756 |             5485 |             5483 |                    4688 |                    3274 |         2857 |          763 |             1216 |             4437 |         2972 |         1239 |           2211 |           5495 |          1310 |         31087 |                     1310 |                     2496 |              11342 |                986 |          920 |                   39538 |                   10636 |                         5161 |                         6275 |         31380 |         55120 |                11720 |                24916 |                   534 |                   990 |                   294 |                   526 |                   678 |                  1117 |                   366 |                   589 |            6137 |                                 5765 |                                 8326 |                   2134 |                   1494 |                  634 |              232 |                  634 |              232 |           2123 |           1480 |            1470 |             649 |            5945 |            2058 |                          2037 |         7407 |         1493 |                 3435 |             3481 |          353 |          922 |                   1270 |                    673 |         2827 |         3755 |         3789 |         8206 |         3041 |        37310 |          483 |          393 |                    1410 |                    1238 |                 461 |                1507 |                 261 |                 786 |                 714 |                1634 |                 386 |                 849 |           4221 |           4764 |                        1036 |                         272 |               1261 |                829 |                363 |                375 |                          1695 |                          4021 |             1695 |             4016 |                          2831 |                         11625 |                             16239 |                         12740 |                         8648 |                         7538 |        19802 |        16736 |         4964 |         1888 |               193 |                  368 |          787 |          543 |          910 |          910 |          506 |          282 |                                 1061 |                                  530 |           1052 |                       1062 |                    531 |          520 |          588 |          380 |         6370 |                9379 |            9840 |                   8574 |                   8574 |                 17021 |                                40872 |                                 4297 |        37418 |         4297 |                  3696 |                  2536 |              1133 |              1676 |              1352 |              2582 |                      14241 |                       8581 |                      14239 |                       8622 |                       8238 |                       4143 |                      14231 |                       8571 |                       8234 |                       4161 |                       8222 |                       4139 |                       7370 |                       3411 |                   162 |                   137 |                     13801 |                      8453 |                     13805 |                      8492 |                      8148 |                      4103 |                     13823 |                      8523 |                      8160 |                      4107 |                      8130 |                      4089 |                      7315 |                      3361 |         1893 |         1013 |                 293 |          596 |         1345 |              3589 |              2604 |          355 |          355 |             1147 |             1147 |              445 |              273 |          1049 |           813 |           4098 |           4012 |             4011 |                    2895 |                    1364 |                    1364 |           4055 |           2615 |            111 |            130 |         1030 |          190 |          419 |          104 |          3061 |           851 |              765 |         1365 |          503 |           7690 |           1643 |        30020 |         3812 |        21834 |        21834 |                176 |            176 |                                  821 |                                 1039 |                         800 |                        1016 |                                      1016 |             790 |            1007 |                          1007 |                        2608 |                     374 |         2879 |         3823 |          347 |          447 |             9195 |             5401 |          1219 |           171 |           846 |           122 |         34471 |           305 |         32520 |           271 |                    1773 |                        2340 |                    1138 |                        1122 |                    1781 |                        1677 |                    1790 |                        1686 |                    1794 |                        1794 |                    2603 |                        3184 |                    1134 |                        1070 |                    2614 |                        2614 |                    2624 |                        2468 |                    2620 |                        2464 |         1206 |         1049 |            41024 |                    83475 |            16926 |                         14298 |              |            |             |             |             |             |             |             |             |             |             |
|--------------------------|-------------------------------|------------------------------|------------------|------------------|------------------|------------------|------------------|------------------|------------------|------------------|------------------|------------------|------------------------------|----------------|--------------------|------------------------------|--------------|--------------|--------------|--------------|--------------------|--------------------|--------------|--------------|------------------------------------|------------------------------------|----------------|----------------------------|------------------------|--------------|-----------------|-----------------|-----------------|-----------------|--------------|--------------|---------------------------|---------------------------|-----------------------|-----------------------|---------------------------|-----------------------|---------------|---------------|-------------------------|-------------------------|--------------------|-------------------|-------------------|------------------|----------------------|--------------------|----------------------|----------------|------------------|--------------------|----------------|----------------|----------------|--------------------------------------------------------------|----------------------------------------------------------|--------------------------------------------------|----------------------------------------------|--------------------------------------------------|----------------------------------------------|------------------------------------------------------------|-----------------------|-----------------------|-----------------------|-----------------------|--------------|--------------|--------------|--------------|-----------------------|-----------------------|------------------|------------------|-------------------------|-------------------------|--------------|--------------|------------------|------------------|--------------|--------------|----------------|----------------|---------------|---------------|--------------------------|--------------------------|--------------------|--------------------|--------------|-------------------------|-------------------------|------------------------------|------------------------------|---------------|---------------|----------------------|----------------------|-----------------------|-----------------------|-----------------------|-----------------------|-----------------------|-----------------------|-----------------------|-----------------------|-----------------|--------------------------------------|--------------------------------------|------------------------|------------------------|----------------------|------------------|----------------------|------------------|----------------|----------------|-----------------|-----------------|-----------------|-----------------|-------------------------------|--------------|--------------|----------------------|------------------|--------------|--------------|------------------------|------------------------|--------------|--------------|--------------|--------------|--------------|--------------|--------------|--------------|-------------------------|-------------------------|---------------------|---------------------|---------------------|---------------------|---------------------|---------------------|---------------------|---------------------|----------------|----------------|-----------------------------|-----------------------------|--------------------|--------------------|--------------------|--------------------|-------------------------------|-------------------------------|------------------|------------------|-------------------------------|-------------------------------|-----------------------------------|-------------------------------|------------------------------|------------------------------|--------------|--------------|--------------|--------------|-------------------|----------------------|--------------|--------------|--------------|--------------|--------------|--------------|--------------------------------------|--------------------------------------|----------------|----------------------------|------------------------|--------------|--------------|--------------|--------------|---------------------|-----------------|------------------------|------------------------|-----------------------|--------------------------------------|--------------------------------------|--------------|--------------|-----------------------|-----------------------|-------------------|-------------------|-------------------|-------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|-----------------------|-----------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|--------------|--------------|---------------------|--------------|--------------|-------------------|-------------------|--------------|--------------|------------------|------------------|------------------|------------------|---------------|---------------|----------------|----------------|------------------|-------------------------|-------------------------|-------------------------|----------------|----------------|----------------|----------------|--------------|--------------|--------------|--------------|---------------|---------------|------------------|--------------|--------------|----------------|----------------|--------------|--------------|--------------|--------------|--------------------|----------------|--------------------------------------|--------------------------------------|-----------------------------|-----------------------------|-------------------------------------------|-----------------|-----------------|-------------------------------|-----------------------------|-------------------------|--------------|--------------|--------------|--------------|------------------|------------------|---------------|---------------|---------------|---------------|---------------|---------------|---------------|---------------|-------------------------|-----------------------------|-------------------------|-----------------------------|-------------------------|-----------------------------|-------------------------|-----------------------------|-------------------------|-----------------------------|-------------------------|-----------------------------|-------------------------|-----------------------------|-------------------------|-----------------------------|-------------------------|-----------------------------|-------------------------|-----------------------------|--------------|--------------|------------------|--------------------------|------------------|-------------------------------|--------------|------------|-------------|-------------|-------------|-------------|-------------|-------------|-------------|-------------|-------------|
| After change             |                         12822 |                        10831 |            19560 |            23838 |            24084 |            29382 |            14814 |            47563 |            19152 |            17880 |            17880 |            35909 |                        50102 |          10150 |               6043 |                        12053 |          418 |          485 |          424 |          479 |                424 |                808 |          166 |          226 |                                821 |                               1039 |            812 |                        822 |                   1037 |         1026 |             352 |             413 |             390 |             305 |         1511 |         1023 |                      2722 |                      1844 |                  1511 |                  1023 |                       510 |                   512 |           347 |           537 |                    2246 |                     972 |               1985 |               396 |               207 |              396 |                  492 |               1906 |                 1906 |           1238 |             1238 |               1685 |            398 |            199 |            293 |                                                         1857 |                                                      979 |                                             1838 |                                          962 |                                             1838 |                                          962 |                                                        962 |                  3796 |                  4408 |                  1607 |                  1863 |         8919 |         2728 |         1988 |         4948 |                  6310 |                  1756 |             5485 |             5483 |                    4688 |                    3274 |         2857 |          763 |             1216 |             4437 |         2972 |         1239 |           2211 |           5495 |          1310 |         31087 |                     1310 |                     2496 |              11342 |                986 |          920 |                   39538 |                   10636 |                         5161 |                         6275 |         31380 |         55120 |                11720 |                24916 |                   534 |                   990 |                   294 |                   526 |                   678 |                  1117 |                   366 |                   589 |            6137 |                                 5765 |                                 8326 |                   2134 |                   1494 |                  634 |              232 |                  634 |              232 |           2123 |           1480 |            1470 |             649 |            5945 |            2058 |                          2037 |         7407 |         1493 |                 3435 |             3481 |          353 |          922 |                   1270 |                    673 |         2827 |         3755 |         3789 |         8206 |         3041 |        37310 |          483 |          393 |                    1410 |                    1238 |                 461 |                1507 |                 261 |                 786 |                 714 |                1634 |                 386 |                 849 |           4221 |           4764 |                        1036 |                         272 |               1261 |                829 |                363 |                375 |                          1695 |                          4021 |             1695 |             4016 |                          2831 |                         11625 |                             16239 |                         12740 |                         8648 |                         7538 |        19802 |        16736 |         4964 |         1888 |               193 |                  368 |          787 |          543 |          910 |          910 |          506 |          282 |                                 1061 |                                  530 |           1052 |                       1062 |                    531 |          520 |          588 |          380 |         6370 |                9379 |            9840 |                   8574 |                   8574 |                 17021 |                                40872 |                                 4297 |        37418 |         4297 |                  3696 |                  2536 |              1133 |              1676 |              1352 |              2582 |                      14241 |                       8581 |                      14239 |                       8622 |                       8238 |                       4143 |                      14231 |                       8571 |                       8234 |                       4161 |                       8222 |                       4139 |                       7370 |                       3411 |                   162 |                   137 |                     13801 |                      8453 |                     13805 |                      8492 |                      8148 |                      4103 |                     13823 |                      8523 |                      8160 |                      4107 |                      8130 |                      4089 |                      7315 |                      3361 |         1893 |         1013 |                 293 |          596 |         1345 |              3589 |              2604 |          355 |          355 |             1147 |             1147 |              445 |              273 |          1049 |           813 |           4098 |           4012 |             4011 |                    2895 |                    1364 |                    1364 |           4055 |           2615 |            111 |            130 |         1030 |          190 |          419 |          104 |          3061 |           851 |              765 |         1365 |          503 |           7690 |           1643 |        30020 |         3812 |        21834 |        21834 |                176 |            176 |                                  821 |                                 1039 |                         800 |                        1016 |                                      1016 |             790 |            1007 |                          1007 |                        2608 |                     374 |         2879 |         3823 |          347 |          447 |             9195 |             5401 |          1219 |           171 |           846 |           122 |         34471 |           305 |         32520 |           271 |                    1773 |                        2340 |                    1138 |                        1122 |                    1781 |                        1677 |                    1790 |                        1686 |                    1794 |                        1794 |                    2603 |                        3184 |                    1134 |                        1070 |                    2614 |                        2614 |                    2624 |                        2468 |                    2620 |                        2464 |         1206 |         1049 |            41005 |                    83432 |            16914 |                         13786 | -0.00%       |       0.20 | +0.00%      | +0.00%      | +0.00%      | +0.00%      | +0.00%      | +0.00%      | +0.00%      | +0.00%      | +0.00%      |
|--------------------------|-------------------------------|------------------------------|------------------|------------------|------------------|------------------|------------------|------------------|------------------|------------------|------------------|------------------|------------------------------|----------------|--------------------|------------------------------|--------------|--------------|--------------|--------------|--------------------|--------------------|--------------|--------------|------------------------------------|------------------------------------|----------------|----------------------------|------------------------|--------------|-----------------|-----------------|-----------------|-----------------|--------------|--------------|---------------------------|---------------------------|-----------------------|-----------------------|---------------------------|-----------------------|---------------|---------------|-------------------------|-------------------------|--------------------|-------------------|-------------------|------------------|----------------------|--------------------|----------------------|----------------|------------------|--------------------|----------------|----------------|----------------|--------------------------------------------------------------|----------------------------------------------------------|--------------------------------------------------|----------------------------------------------|--------------------------------------------------|----------------------------------------------|------------------------------------------------------------|-----------------------|-----------------------|-----------------------|-----------------------|--------------|--------------|--------------|--------------|-----------------------|-----------------------|------------------|------------------|-------------------------|-------------------------|--------------|--------------|------------------|------------------|--------------|--------------|----------------|----------------|---------------|---------------|--------------------------|--------------------------|--------------------|--------------------|--------------|-------------------------|-------------------------|------------------------------|------------------------------|---------------|---------------|----------------------|----------------------|-----------------------|-----------------------|-----------------------|-----------------------|-----------------------|-----------------------|-----------------------|-----------------------|-----------------|--------------------------------------|--------------------------------------|------------------------|------------------------|----------------------|------------------|----------------------|------------------|----------------|----------------|-----------------|-----------------|-----------------|-----------------|-------------------------------|--------------|--------------|----------------------|------------------|--------------|--------------|------------------------|------------------------|--------------|--------------|--------------|--------------|--------------|--------------|--------------|--------------|-------------------------|-------------------------|---------------------|---------------------|---------------------|---------------------|---------------------|---------------------|---------------------|---------------------|----------------|----------------|-----------------------------|-----------------------------|--------------------|--------------------|--------------------|--------------------|-------------------------------|-------------------------------|------------------|------------------|-------------------------------|-------------------------------|-----------------------------------|-------------------------------|------------------------------|------------------------------|--------------|--------------|--------------|--------------|-------------------|----------------------|--------------|--------------|--------------|--------------|--------------|--------------|--------------------------------------|--------------------------------------|----------------|----------------------------|------------------------|--------------|--------------|--------------|--------------|---------------------|-----------------|------------------------|------------------------|-----------------------|--------------------------------------|--------------------------------------|--------------|--------------|-----------------------|-----------------------|-------------------|-------------------|-------------------|-------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|-----------------------|-----------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|--------------|--------------|---------------------|--------------|--------------|-------------------|-------------------|--------------|--------------|------------------|------------------|------------------|------------------|---------------|---------------|----------------|----------------|------------------|-------------------------|-------------------------|-------------------------|----------------|----------------|----------------|----------------|--------------|--------------|--------------|--------------|---------------|---------------|------------------|--------------|--------------|----------------|----------------|--------------|--------------|--------------|--------------|--------------------|----------------|--------------------------------------|--------------------------------------|-----------------------------|-----------------------------|-------------------------------------------|-----------------|-----------------|-------------------------------|-----------------------------|-------------------------|--------------|--------------|--------------|--------------|------------------|------------------|---------------|---------------|---------------|---------------|---------------|---------------|---------------|---------------|-------------------------|-----------------------------|-------------------------|-----------------------------|-------------------------|-----------------------------|-------------------------|-----------------------------|-------------------------|-----------------------------|-------------------------|-----------------------------|-------------------------|-----------------------------|-------------------------|-----------------------------|-------------------------|-----------------------------|-------------------------|-----------------------------|--------------|--------------|------------------|--------------------------|------------------|-------------------------------|--------------|------------|-------------|-------------|-------------|-------------|-------------|-------------|-------------|-------------|-------------|
| Total diff               | REGR(+0.47%)                  | REGR(+0.27%)                 | REGR(+0.25%)     | REGR(+0.20%)     | REGR(+0.20%)     | REGR(+0.16%)     | REGR(+0.16%)     | REGR(+0.15%)     | REGR(+0.14%)     | REGR(+0.13%)     | REGR(+0.13%)     | REGR(+0.13%)     | SAME(+0.08%)                 | SAME(+0.02%)   | SAME(+0.02%)       | SAME(+0.01%)                 | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%)       | SAME(+0.00%)       | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%)                       | SAME(+0.00%)                       | SAME(+0.00%)   | SAME(+0.00%)               | SAME(+0.00%)           | SAME(+0.00%) | SAME(+0.00%)    | SAME(+0.00%)    | SAME(+0.00%)    | SAME(+0.00%)    | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%)              | SAME(+0.00%)              | SAME(+0.00%)          | SAME(+0.00%)          | SAME(+0.00%)              | SAME(+0.00%)          | SAME(+0.00%)  | SAME(+0.00%)  | SAME(+0.00%)            | SAME(+0.00%)            | SAME(+0.00%)       | SAME(+0.00%)      | SAME(+0.00%)      | SAME(+0.00%)     | SAME(+0.00%)         | SAME(+0.00%)       | SAME(+0.00%)         | SAME(+0.00%)   | SAME(+0.00%)     | SAME(+0.00%)       | SAME(+0.00%)   | SAME(+0.00%)   | SAME(+0.00%)   | SAME(+0.00%)                                                 | SAME(+0.00%)                                             | SAME(+0.00%)                                     | SAME(+0.00%)                                 | SAME(+0.00%)                                     | SAME(+0.00%)                                 | SAME(+0.00%)                                               | SAME(+0.00%)          | SAME(+0.00%)          | SAME(+0.00%)          | SAME(+0.00%)          | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%)          | SAME(+0.00%)          | SAME(+0.00%)     | SAME(+0.00%)     | SAME(+0.00%)            | SAME(+0.00%)            | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%)     | SAME(+0.00%)     | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%)   | SAME(+0.00%)   | SAME(+0.00%)  | SAME(+0.00%)  | SAME(+0.00%)             | SAME(+0.00%)             | SAME(+0.00%)       | SAME(+0.00%)       | SAME(+0.00%) | SAME(+0.00%)            | SAME(+0.00%)            | SAME(+0.00%)                 | SAME(+0.00%)                 | SAME(+0.00%)  | SAME(+0.00%)  | SAME(+0.00%)         | SAME(+0.00%)         | SAME(+0.00%)          | SAME(+0.00%)          | SAME(+0.00%)          | SAME(+0.00%)          | SAME(+0.00%)          | SAME(+0.00%)          | SAME(+0.00%)          | SAME(+0.00%)          | SAME(+0.00%)    | SAME(+0.00%)                         | SAME(+0.00%)                         | SAME(+0.00%)           | SAME(+0.00%)           | SAME(+0.00%)         | SAME(+0.00%)     | SAME(+0.00%)         | SAME(+0.00%)     | SAME(+0.00%)   | SAME(+0.00%)   | SAME(+0.00%)    | SAME(+0.00%)    | SAME(+0.00%)    | SAME(+0.00%)    | SAME(+0.00%)                  | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%)         | SAME(+0.00%)     | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%)           | SAME(+0.00%)           | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%)            | SAME(+0.00%)            | SAME(+0.00%)        | SAME(+0.00%)        | SAME(+0.00%)        | SAME(+0.00%)        | SAME(+0.00%)        | SAME(+0.00%)        | SAME(+0.00%)        | SAME(+0.00%)        | SAME(+0.00%)   | SAME(+0.00%)   | SAME(+0.00%)                | SAME(+0.00%)                | SAME(+0.00%)       | SAME(+0.00%)       | SAME(+0.00%)       | SAME(+0.00%)       | SAME(+0.00%)                  | SAME(+0.00%)                  | SAME(+0.00%)     | SAME(+0.00%)     | SAME(+0.00%)                  | SAME(+0.00%)                  | SAME(+0.00%)                      | SAME(+0.00%)                  | SAME(+0.00%)                 | SAME(+0.00%)                 | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%)      | SAME(+0.00%)         | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%)                         | SAME(+0.00%)                         | SAME(+0.00%)   | SAME(+0.00%)               | SAME(+0.00%)           | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%)        | SAME(+0.00%)    | SAME(+0.00%)           | SAME(+0.00%)           | SAME(+0.00%)          | SAME(+0.00%)                         | SAME(+0.00%)                         | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%)          | SAME(+0.00%)          | SAME(+0.00%)      | SAME(+0.00%)      | SAME(+0.00%)      | SAME(+0.00%)      | SAME(+0.00%)               | SAME(+0.00%)               | SAME(+0.00%)               | SAME(+0.00%)               | SAME(+0.00%)               | SAME(+0.00%)               | SAME(+0.00%)               | SAME(+0.00%)               | SAME(+0.00%)               | SAME(+0.00%)               | SAME(+0.00%)               | SAME(+0.00%)               | SAME(+0.00%)               | SAME(+0.00%)               | SAME(+0.00%)          | SAME(+0.00%)          | SAME(+0.00%)              | SAME(+0.00%)              | SAME(+0.00%)              | SAME(+0.00%)              | SAME(+0.00%)              | SAME(+0.00%)              | SAME(+0.00%)              | SAME(+0.00%)              | SAME(+0.00%)              | SAME(+0.00%)              | SAME(+0.00%)              | SAME(+0.00%)              | SAME(+0.00%)              | SAME(+0.00%)              | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%)        | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%)      | SAME(+0.00%)      | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%)     | SAME(+0.00%)     | SAME(+0.00%)     | SAME(+0.00%)     | SAME(+0.00%)  | SAME(+0.00%)  | SAME(+0.00%)   | SAME(+0.00%)   | SAME(+0.00%)     | SAME(+0.00%)            | SAME(+0.00%)            | SAME(+0.00%)            | SAME(+0.00%)   | SAME(+0.00%)   | SAME(+0.00%)   | SAME(+0.00%)   | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%)  | SAME(+0.00%)  | SAME(+0.00%)     | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%)   | SAME(+0.00%)   | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%)       | SAME(+0.00%)   | SAME(+0.00%)                         | SAME(+0.00%)                         | SAME(+0.00%)                | SAME(+0.00%)                | SAME(+0.00%)                              | SAME(+0.00%)    | SAME(+0.00%)    | SAME(+0.00%)                  | SAME(+0.00%)                | SAME(+0.00%)            | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%)     | SAME(+0.00%)     | SAME(+0.00%)  | SAME(+0.00%)  | SAME(+0.00%)  | SAME(+0.00%)  | SAME(+0.00%)  | SAME(+0.00%)  | SAME(+0.00%)  | SAME(+0.00%)  | SAME(+0.00%)            | SAME(+0.00%)                | SAME(+0.00%)            | SAME(+0.00%)                | SAME(+0.00%)            | SAME(+0.00%)                | SAME(+0.00%)            | SAME(+0.00%)                | SAME(+0.00%)            | SAME(+0.00%)                | SAME(+0.00%)            | SAME(+0.00%)                | SAME(+0.00%)            | SAME(+0.00%)                | SAME(+0.00%)            | SAME(+0.00%)                | SAME(+0.00%)            | SAME(+0.00%)                | SAME(+0.00%)            | SAME(+0.00%)                | SAME(+0.00%) | SAME(+0.00%) | SAME(-0.05%)     | SAME(-0.05%)             | SAME(-0.07%)     | IMPR(-3.58%)                  | -0.00%       |       0.20 | +0.00%      | +0.00%      | +0.00%      | +0.00%      | +0.00%      | +0.00%      | +0.00%      | +0.00%      | +0.00%      |
|--------------------------|-------------------------------|------------------------------|------------------|------------------|------------------|------------------|------------------|------------------|------------------|------------------|------------------|------------------|------------------------------|----------------|--------------------|------------------------------|--------------|--------------|--------------|--------------|--------------------|--------------------|--------------|--------------|------------------------------------|------------------------------------|----------------|----------------------------|------------------------|--------------|-----------------|-----------------|-----------------|-----------------|--------------|--------------|---------------------------|---------------------------|-----------------------|-----------------------|---------------------------|-----------------------|---------------|---------------|-------------------------|-------------------------|--------------------|-------------------|-------------------|------------------|----------------------|--------------------|----------------------|----------------|------------------|--------------------|----------------|----------------|----------------|--------------------------------------------------------------|----------------------------------------------------------|--------------------------------------------------|----------------------------------------------|--------------------------------------------------|----------------------------------------------|------------------------------------------------------------|-----------------------|-----------------------|-----------------------|-----------------------|--------------|--------------|--------------|--------------|-----------------------|-----------------------|------------------|------------------|-------------------------|-------------------------|--------------|--------------|------------------|------------------|--------------|--------------|----------------|----------------|---------------|---------------|--------------------------|--------------------------|--------------------|--------------------|--------------|-------------------------|-------------------------|------------------------------|------------------------------|---------------|---------------|----------------------|----------------------|-----------------------|-----------------------|-----------------------|-----------------------|-----------------------|-----------------------|-----------------------|-----------------------|-----------------|--------------------------------------|--------------------------------------|------------------------|------------------------|----------------------|------------------|----------------------|------------------|----------------|----------------|-----------------|-----------------|-----------------|-----------------|-------------------------------|--------------|--------------|----------------------|------------------|--------------|--------------|------------------------|------------------------|--------------|--------------|--------------|--------------|--------------|--------------|--------------|--------------|-------------------------|-------------------------|---------------------|---------------------|---------------------|---------------------|---------------------|---------------------|---------------------|---------------------|----------------|----------------|-----------------------------|-----------------------------|--------------------|--------------------|--------------------|--------------------|-------------------------------|-------------------------------|------------------|------------------|-------------------------------|-------------------------------|-----------------------------------|-------------------------------|------------------------------|------------------------------|--------------|--------------|--------------|--------------|-------------------|----------------------|--------------|--------------|--------------|--------------|--------------|--------------|--------------------------------------|--------------------------------------|----------------|----------------------------|------------------------|--------------|--------------|--------------|--------------|---------------------|-----------------|------------------------|------------------------|-----------------------|--------------------------------------|--------------------------------------|--------------|--------------|-----------------------|-----------------------|-------------------|-------------------|-------------------|-------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|-----------------------|-----------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|--------------|--------------|---------------------|--------------|--------------|-------------------|-------------------|--------------|--------------|------------------|------------------|------------------|------------------|---------------|---------------|----------------|----------------|------------------|-------------------------|-------------------------|-------------------------|----------------|----------------|----------------|----------------|--------------|--------------|--------------|--------------|---------------|---------------|------------------|--------------|--------------|----------------|----------------|--------------|--------------|--------------|--------------|--------------------|----------------|--------------------------------------|--------------------------------------|-----------------------------|-----------------------------|-------------------------------------------|-----------------|-----------------|-------------------------------|-----------------------------|-------------------------|--------------|--------------|--------------|--------------|------------------|------------------|---------------|---------------|---------------|---------------|---------------|---------------|---------------|---------------|-------------------------|-----------------------------|-------------------------|-----------------------------|-------------------------|-----------------------------|-------------------------|-----------------------------|-------------------------|-----------------------------|-------------------------|-----------------------------|-------------------------|-----------------------------|-------------------------|-----------------------------|-------------------------|-----------------------------|-------------------------|-----------------------------|--------------|--------------|------------------|--------------------------|------------------|-------------------------------|--------------|------------|-------------|-------------|-------------|-------------|-------------|-------------|-------------|-------------|-------------|

for (auto &RegMILoad : LoadUses) {
Register Reg = RegMILoad.first;
if (!UsedByStore.contains(Reg))
continue;
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit: I think checking for uses by both load and stores is a good enough heuristic, but I'm wondering if we could not be a bit more precise and detect the case where the iterators will be duplicated inside the loop.

I guess we have something like

loop:
  %0:edc = PHI [entry, ...], [loop, %4]
  %10:edc = PHI [entry, ...], [loop, %14]
  %1:ed = reg_seq %100, %101, %102, %0
  %2:vec256, %3:ep, %4:edc = VLD_2D %200:ep %1:ed
  %11:ed = reg_seq %100, %101, %102, %10
  %13:ep, %14:edc = VST_2D %200:ep %11:ed, ...

We could notice that the %100, %101, %102 components are used in iterators whose counter comes from different PHI nodes. I think this means the regcoalescer/twoaddresselimination will fail and will need to insert 3 copies to materializxe the %11 reg_sequence.

Food for thought.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @gbossu, this case is already covered and this pseudo code looks like the one that we have in the test ;-). We filter off for duplication registers that are defined inside the MBB. Maybe with the refactoring this cases will be a bit more clear.

@andcarminati andcarminati force-pushed the andreu.dup.2d3d.address branch from 56e87c3 to b9722fa Compare August 21, 2024 11:37
gbossu
gbossu previously approved these changes Aug 22, 2024
Copy link
Collaborator

@gbossu gbossu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM! As mentioned in #145 (comment), I think checking for uses of iterators by both load and stores is a simple and good enough heuristic. We can always improve it if needed in the future.

I left some nits, address up to taste

@andcarminati
Copy link
Collaborator Author

andcarminati commented Aug 23, 2024

LGTM! As mentioned in #145 (comment), I think checking for uses of iterators by both load and stores is a simple and good enough heuristic. We can always improve it if needed in the future.

I left some nits, address up to taste

Thank you very much for the suggestions. I addressed all of them.

gbossu
gbossu previously approved these changes Aug 23, 2024
gbossu
gbossu previously approved these changes Aug 23, 2024
@andcarminati andcarminati force-pushed the andreu.dup.2d3d.address branch from 83a4e79 to e37f896 Compare August 28, 2024 14:46
Copy link
Collaborator

@martien-de-jong martien-de-jong left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have some nits, but I think it's good to go.


bool Changed = false;
for (auto &RegMILoad : LoadUses) {
Register Reg = RegMILoad.first;
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: const Reg


// Used by both loads and stores. We will duplicate for
// load use.
MachineInstr *DefReg = MRI.getUniqueVRegDef(Reg);
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit const DefReg

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This const is not possible because we need a non-const iterator.

if (UseMI->mayLoad())
LoadUses[Reg].insert(&MI);
else
UsedByStore.insert(Reg);
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Theoretically, the use could be in the value operand of the store, or not a store at all. If this is still the right action, the name of the set might be more generically NonLoadUses.
I can also imagine that we collect MI and NonLoadUses in one map indexed by Reg.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I renamed the set to NonLoadUses, because if can hold some padd cases, if we fail to combine.

gbossu
gbossu previously approved these changes Aug 30, 2024
@andcarminati andcarminati dismissed stale reviews from gbossu and martien-de-jong via 93e9aeb September 2, 2024 07:40
@andcarminati andcarminati force-pushed the andreu.dup.2d3d.address branch from e37f896 to 93e9aeb Compare September 2, 2024 07:40
This for loop blocks with shared virtual addressing regs between loads and stores.
@andcarminati andcarminati force-pushed the andreu.dup.2d3d.address branch from 93e9aeb to a54bbe8 Compare September 2, 2024 07:44
Copy link
Collaborator

@gbossu gbossu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Still looks good to me :)

@andcarminati andcarminati merged commit 3887a71 into aie-public Sep 2, 2024
8 checks passed
@andcarminati andcarminati deleted the andreu.dup.2d3d.address branch September 2, 2024 14:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants