   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
  16  switch %i3, <SwitchDictDescr 76:L1, 83:L2, 102:L3, 105:L4, 117:L5, 118:L6>
  20  residual_call_ir_v $<* fn jit_ffi_call_impl_any>, I[%i0, %i1, %i2], R[], <CallDescr(iii) EF=7>
  29  -live-
  32  void_return
  33  ---
  33  L1:
  33  -live- %i0, %i1, %i2
  36  residual_call_ir_i $<* fn jit_ffi_call_impl_longlong>, I[%i0, %i1, %i2], R[], <CallDescr(iii) EF=7 OS_LIBFFI_CALL> -> %i1
  46  -live- %i0, %i1, %i2
  49  getfield_raw_i %i0, FieldDescr<CIF_DESCRIPTION.exchange_result> -> %i0
  54  raw_store_i %i2, %i0, %i1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000aaab4736de18>
  60  void_return
  61  ---
  61  L2:
  61  -live- %i0, %i1, %i2
  64  residual_call_ir_v $<* fn _do_ffi_call_singlefloat>, I[%i0, %i1, %i2], R[], <CallDescr(iii) EF=7>
  73  -live-
  76  void_return
  77  ---
  77  L3:
  77  -live- %i0, %i1, %i2
  80  residual_call_irf_f $<* fn jit_ffi_call_impl_float>, I[%i0, %i1, %i2], R[], F[], <CallDescr(iii) EF=7 OS_LIBFFI_CALL> -> %f0
  91  -live- %f0, %i0, %i2
  94  getfield_raw_i %i0, FieldDescr<CIF_DESCRIPTION.exchange_result> -> %i0
  99  raw_store_f %i2, %i0, %f0, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000aaab473df9b8>
 105  void_return
 106  ---
 106  L4:
 106  -live- %i0, %i1, %i2
 109  inline_call_ir_v <JitCode '_do_ffi_call_sint'>, I[%i0, %i1, %i2], R[]
 117  -live-
 120  void_return
 121  ---
 121  L5:
 121  -live- %i0, %i1, %i2
 124  inline_call_ir_v <JitCode '_do_ffi_call_uint'>, I[%i0, %i1, %i2], R[]
 132  -live-
 135  void_return
 136  ---
 136  L6:
 136  -live- %i0, %i1, %i2
 139  residual_call_ir_v $<* fn jit_ffi_call_impl_void>, I[%i0, %i1, %i2], R[], <CallDescr(iii) EF=7 OS_LIBFFI_CALL>
 148  -live-
 151  void_return
