SKIP: FAILED

#include <metal_stdlib>
using namespace metal;

kernel void f() {
  uint const a = 4u;
  uint3 const b = uint3(1u, 2u, 3u);
  uint3 const r = tint_mod_v3u32(uint3(a), b);
}
uint3 tint_mod_v3u32(uint3 lhs, uint3 rhs) {
  uint3 const v = select(rhs, uint3(1u), (rhs == uint3(0u)));
  return (lhs - ((lhs / v) * v));
}
program_source:7:19: error: use of undeclared identifier 'tint_mod_v3u32'
  uint3 const r = tint_mod_v3u32(uint3(a), b);
                  ^

