   0  getfield_raw_i %i0, FieldDescr<CIF_DESCRIPTION.rtype> -> %i3
   5  residual_call_ir_i $<* fn getkind>, I[%i3], R[], <CallDescr(i) EF=0> -> %i3
  13  -live- %i0, %i1, %i2, %i3
  13  switch %i3, <SwitchDictDescr 76:L1, 83:L2, 102:L3, 105:L4, 117:L5, 118:L6>
  17  residual_call_ir_v $<* fn jit_ffi_call_impl_any>, I[%i0, %i1, %i2], R[], <CallDescr(iii) EF=7>
  26  -live-
  26  void_return
  27  ---
  27  L1:
  27  -live- %i0, %i1, %i2
  27  residual_call_ir_i $<* fn jit_ffi_call_impl_longlong>, I[%i0, %i1, %i2], R[], <CallDescr(iii) EF=7 OS_LIBFFI_CALL> -> %i1
  37  -live- %i0, %i1, %i2
  37  getfield_raw_i %i0, FieldDescr<CIF_DESCRIPTION.exchange_result> -> %i0
  42  raw_store_i %i2, %i0, %i1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x1009a1a7c10>
  48  void_return
  49  ---
  49  L2:
  49  -live- %i0, %i1, %i2
  49  residual_call_ir_v $<* fn _do_ffi_call_singlefloat>, I[%i0, %i1, %i2], R[], <CallDescr(iii) EF=7>
  58  -live-
  58  void_return
  59  ---
  59  L3:
  59  -live- %i0, %i1, %i2
  59  residual_call_irf_f $<* fn jit_ffi_call_impl_float>, I[%i0, %i1, %i2], R[], F[], <CallDescr(iii) EF=7 OS_LIBFFI_CALL> -> %f0
  70  -live- %f0, %i0, %i2
  70  getfield_raw_i %i0, FieldDescr<CIF_DESCRIPTION.exchange_result> -> %i0
  75  raw_store_f %i2, %i0, %f0, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x1009a532510>
  81  void_return
  82  ---
  82  L4:
  82  -live- %i0, %i1, %i2
  82  inline_call_ir_v <JitCode '_do_ffi_call_sint'>, I[%i0, %i1, %i2], R[]
  90  -live-
  90  void_return
  91  ---
  91  L5:
  91  -live- %i0, %i1, %i2
  91  inline_call_ir_v <JitCode '_do_ffi_call_uint'>, I[%i0, %i1, %i2], R[]
  99  -live-
  99  void_return
 100  ---
 100  L6:
 100  -live- %i0, %i1, %i2
 100  residual_call_ir_v $<* fn jit_ffi_call_impl_void>, I[%i0, %i1, %i2], R[], <CallDescr(iii) EF=7 OS_LIBFFI_CALL>
 109  -live-
 109  void_return
