#include <metal_stdlib>
using namespace metal;

struct tint_module_vars_struct {
  const device half2x3* in;
  device half2x3* out;
};

void tint_store_and_preserve_padding(device half2x3* const target, half2x3 value_param) {
  (*target)[0u] = value_param[0u];
  (*target)[1u] = value_param[1u];
}

kernel void tint_symbol(const device half2x3* in [[buffer(1)]], device half2x3* out [[buffer(0)]]) {
  tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.in=in, .out=out};
  tint_store_and_preserve_padding(tint_module_vars.out, (*tint_module_vars.in));
}
