SKIP: FAILED

#include <metal_stdlib>
using namespace metal;

kernel void f() {
  uint3 const a = uint3(1u, 2u, 3u);
  uint3 const b = uint3(0u, 5u, 0u);
  uint3 const r = tint_mod_v3u32(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(a, b);
                  ^

