#version 450 core
#extension GL_KHR_memory_scope_semantics : enable
#extension GL_KHR_cooperative_matrix : enable
#extension GL_EXT_shader_explicit_arithmetic_types : enable

layout (local_size_x = 64, local_size_y = 1, local_size_z = 1) in;


void main()
{
    coopmat<float, gl_ScopeSubgroup, 8, 8, gl_MatrixUseA> f;
    coopmat<float, gl_ScopeSubgroup, 8, 8, gl_MatrixUseB> f2;
    coopmat<float, gl_ScopeSubgroup, 16, 8, gl_MatrixUseA> f3;

    coopmat<float16_t, gl_ScopeSubgroup, 8, 8, gl_MatrixUseA> f16;

    coopmat<uint8_t, gl_ScopeSubgroup, 8, 8, gl_MatrixUseA> u8;
    coopmat<int8_t, gl_ScopeSubgroup, 8, 8, gl_MatrixUseA> i8;
    coopmat<int32_t, gl_ScopeSubgroup, 8, 8, gl_MatrixUseA> i32;

    f+1.0;
    f-1.0;
    f/1.0;
    1.0+f;
    1.0-f;
    1.0/f;
    f+=1.0;
    f-=1.0;
    f/=1.0;

    f+f16;
    f-f16;
    f*f16;
    f/f16;
    f+=f16;
    f-=f16;
    f*=f16;
    f/=f16;

    f+f2;
    f-f2;
    f*f2;
    f/f2;
    f+=f2;
    f-=f2;
    f*=f2;
    f/=f2;

    f+f3;
    f-f3;
    f*f3;
    f/f3;
    f+=f3;
    f-=f3;
    f*=f3;
    f/=f3;

    u8+i8;
    u8-i8;
    u8*i8;
    u8/i8;
    u8+=i8;
    u8-=i8;
    u8*=i8;
    u8/=i8;

    u8+uint8_t(1);
    u8-uint8_t(1);
    u8/uint8_t(1);
    u8+=uint8_t(1);
    u8-=uint8_t(1);
    u8/=uint8_t(1);

    i8+int8_t(1);
    i8-int8_t(1);
    i8/int8_t(1);
    i8+=int8_t(1);
    i8-=int8_t(1);
    i8/=int8_t(1);

    i32+1;
    i32-1;
    i32/1;
    i32+=1;
    i32-=1;
    i32/=1;
}
