// Run: %dxc -T vs_6_0 -E main struct S { float2 f[2]; }; void main() { // CHECK: [[v0102:%\d+]] = OpCompositeConstruct %v2float %float_1 %float_2 // CHECK-NEXT: [[v0304:%\d+]] = OpCompositeConstruct %v2float %float_3 %float_4 // CHECK-NEXT: [[vf0:%\d+]] = OpCompositeConstruct %_arr_v2float_uint_2 [[v0102]] [[v0304]] // CHECK-NEXT: [[vs0:%\d+]] = OpCompositeConstruct %S [[vf0]] // CHECK-NEXT: [[v0506:%\d+]] = OpCompositeConstruct %v2float %float_5 %float_6 // CHECK-NEXT: [[v0708:%\d+]] = OpCompositeConstruct %v2float %float_7 %float_8 // CHECK-NEXT: [[vf1:%\d+]] = OpCompositeConstruct %_arr_v2float_uint_2 [[v0506]] [[v0708]] // CHECK-NEXT: [[vs1:%\d+]] = OpCompositeConstruct %S [[vf1]] // CHECK-NEXT: [[v0910:%\d+]] = OpCompositeConstruct %v2float %float_9 %float_10 // CHECK-NEXT: [[v1112:%\d+]] = OpCompositeConstruct %v2float %float_11 %float_12 // CHECK-NEXT: [[vf2:%\d+]] = OpCompositeConstruct %_arr_v2float_uint_2 [[v0910]] [[v1112]] // CHECK-NEXT: [[vs2:%\d+]] = OpCompositeConstruct %S [[vf2]] // CHECK-NEXT: [[v1314:%\d+]] = OpCompositeConstruct %v2float %float_13 %float_14 // CHECK-NEXT: [[v1516:%\d+]] = OpCompositeConstruct %v2float %float_15 %float_16 // CHECK-NEXT: [[vf3:%\d+]] = OpCompositeConstruct %_arr_v2float_uint_2 [[v1314]] [[v1516]] // CHECK-NEXT: [[vs3:%\d+]] = OpCompositeConstruct %S [[vf3]] // CHECK-NEXT: [[va4:%\d+]] = OpCompositeConstruct %_arr_S_uint_4 [[vs0]] [[vs1]] [[vs2]] [[vs3]] // CHECK-NEXT: {{%\d+}} = OpCompositeConstruct %_arr__arr_S_uint_4_uint_1 [[va4]] S var[1][4] = {1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0, 13.0, 14.0, 15.0, 16.0}; }