SKIP: FAILED

#include <metal_stdlib>
using namespace metal;

kernel void f() {
  int const a = 4;
  int3 const b = int3(1, 2, 3);
  int3 const r = tint_div_v3i32(int3(a), b);
}
int3 tint_div_v3i32(int3 lhs, int3 rhs) {
  return (lhs / select(rhs, int3(1), ((rhs == int3(0)) | ((lhs == int3((-2147483647 - 1))) & (rhs == int3(-1))))));
}
program_source:7:18: error: use of undeclared identifier 'tint_div_v3i32'
  int3 const r = tint_div_v3i32(int3(a), b);
                 ^

