blob: 7b57447c4cbd4698cd8f269ee3182b43e852e6cf [file]
#include <dx/linalg.h>
using namespace dx::linalg;
using Matrix_left_f32_8x8 = Matrix<ComponentType::F32, 8, 8, MatrixUse::A, MatrixScope::Wave>;
using Matrix_right_f32_8x8 = Matrix<ComponentType::F32, 8, 8, MatrixUse::B, MatrixScope::Wave>;
struct S {
Matrix_left_f32_8x8 l;
Matrix_right_f32_8x8 r;
};
struct S_Nested {
S s;
};
RWByteAddressBuffer buffer : register(u0);
[numthreads(64, 1, 1)]
void main() {
uint v = 0u;
buffer.GetDimensions(v);
if ((((0u + (64u * 7u)) + 8u) <= (v / 4u))) {
Matrix_left_f32_8x8::Splat(0.0f).Store(buffer, 0u, 256u, MatrixLayout::RowMajor);
}
Matrix_left_f32_8x8 v_1 = Matrix_left_f32_8x8::Splat(0.0f);
Matrix_left_f32_8x8 v_2[4] = {v_1, v_1, v_1, v_1};
Matrix_left_f32_8x8 v_3 = v_2[1u];
uint v_4 = 0u;
buffer.GetDimensions(v_4);
if ((((0u + (64u * 7u)) + 8u) <= (v_4 / 4u))) {
v_3.Store(buffer, 0u, 256u, MatrixLayout::RowMajor);
}
Matrix_left_f32_8x8 v_5 = Matrix_left_f32_8x8::Splat(0.0f);
Matrix_left_f32_8x8 v_6[4] = {v_5, v_5, v_5, v_5};
Matrix_left_f32_8x8 v_7[4][4] = {v_6, v_6, v_6, v_6};
Matrix_left_f32_8x8 v_8 = v_7[2u][3u];
uint v_9 = 0u;
buffer.GetDimensions(v_9);
if ((((0u + (64u * 7u)) + 8u) <= (v_9 / 4u))) {
v_8.Store(buffer, 0u, 256u, MatrixLayout::RowMajor);
}
S v_10 = {Matrix_left_f32_8x8::Splat(0.0f), Matrix_right_f32_8x8::Splat(0.0f)};
Matrix_left_f32_8x8 v_11 = v_10.l;
uint v_12 = 0u;
buffer.GetDimensions(v_12);
if ((((0u + (64u * 7u)) + 8u) <= (v_12 / 4u))) {
v_11.Store(buffer, 0u, 256u, MatrixLayout::RowMajor);
}
S v_13 = {Matrix_left_f32_8x8::Splat(0.0f), Matrix_right_f32_8x8::Splat(0.0f)};
S_Nested v_14 = {v_13};
Matrix_right_f32_8x8 v_15 = v_14.s.r;
uint v_16 = 0u;
buffer.GetDimensions(v_16);
if ((((0u + (64u * 7u)) + 8u) <= (v_16 / 4u))) {
v_15.Store(buffer, 0u, 256u, MatrixLayout::RowMajor);
}
uint v_17 = 0u;
buffer.GetDimensions(v_17);
if ((((0u + (64u * 7u)) + 8u) <= (v_17 / 4u))) {
Matrix_left_f32_8x8::Splat(42.0f).Store(buffer, 0u, 256u, MatrixLayout::RowMajor);
}
Matrix_left_f32_8x8 v_18[2] = {Matrix_left_f32_8x8::Splat(42.0f), Matrix_left_f32_8x8::Splat(100.0f)};
Matrix_left_f32_8x8 v_19 = v_18[1u];
uint v_20 = 0u;
buffer.GetDimensions(v_20);
if ((((0u + (64u * 7u)) + 8u) <= (v_20 / 4u))) {
v_19.Store(buffer, 0u, 256u, MatrixLayout::RowMajor);
}
Matrix_left_f32_8x8 v_21[2] = {Matrix_left_f32_8x8::Splat(42.0f), Matrix_left_f32_8x8::Splat(100.0f)};
Matrix_left_f32_8x8 v_22[2] = {Matrix_left_f32_8x8::Splat(-7.0f), Matrix_left_f32_8x8::Splat(-42.0f)};
Matrix_left_f32_8x8 v_23[2][2] = {v_21, v_22};
Matrix_left_f32_8x8 v_24 = v_23[1u][0u];
uint v_25 = 0u;
buffer.GetDimensions(v_25);
if ((((0u + (64u * 7u)) + 8u) <= (v_25 / 4u))) {
v_24.Store(buffer, 0u, 256u, MatrixLayout::RowMajor);
}
S v_26 = {Matrix_left_f32_8x8::Splat(42.0f), Matrix_right_f32_8x8::Splat(100.0f)};
Matrix_left_f32_8x8 v_27 = v_26.l;
uint v_28 = 0u;
buffer.GetDimensions(v_28);
if ((((0u + (64u * 7u)) + 8u) <= (v_28 / 4u))) {
v_27.Store(buffer, 0u, 256u, MatrixLayout::RowMajor);
}
S v_29 = {Matrix_left_f32_8x8::Splat(42.0f), Matrix_right_f32_8x8::Splat(100.0f)};
S_Nested v_30 = {v_29};
Matrix_right_f32_8x8 v_31 = v_30.s.r;
uint v_32 = 0u;
buffer.GetDimensions(v_32);
if ((((0u + (64u * 7u)) + 8u) <= (v_32 / 4u))) {
v_31.Store(buffer, 0u, 256u, MatrixLayout::RowMajor);
}
}