   0  -live- %i0, %i1, %i2, %r0, %r1
   3  switch %i0, <SwitchDictDescr 0:L1, 1:L2, 2:L3>
   7  unreachable
   8  ---
   8  L1:
   8  -live- %i1, %i2, %r0, %r1
  11  int_add %i2, $2 -> %i0
  15  getfield_gc_r_pure %r0, FieldDescr<rpython.rlib.rsre.rsre_core.StrMatchContext.inst__string> -> %r2
  20  strgetitem %r2, %i1 -> %i1
  24  inline_call_ir_i <JitCode 'check_charset'>, I[%i0, %i1], R[%r0, %r1] -> %i0
  34  -live- %i0
  37  int_return %i0
  39  ---
  39  L2:
  39  -live- %i1, %i2, %r0, %r1
  42  int_add %i2, $2 -> %i0
  46  getfield_gc_r_pure %r0, FieldDescr<rpython.rlib.rsre.rsre_core.BufMatchContext.inst__buffer> -> %r2
  51  -live- %i0, %i1, %r0, %r1, %r2
  54  guard_class %r2 -> %i2
  57  getfield_raw_i %i2, FieldDescr<rpython.rlib.buffer.Buffer_vtable.cls_getitem> -> %i2
  62  -live- %i0, %i1, %i2, %r0, %r1, %r2
  65  int_guard_value %i2
  67  residual_call_ir_i %i2, <IndirectCallTargets>, I[%i1], R[%r2], <CallDescr(ri) EF=7> -> %i1
  76  -live- %i0, %i1, %r0, %r1
  79  inline_call_ir_i <JitCode 'check_charset'>, I[%i0, %i1], R[%r0, %r1] -> %i0
  89  -live- %i0
  92  int_return %i0
  94  ---
  94  L3:
  94  -live- %i1, %i2, %r0, %r1
  97  int_add %i2, $2 -> %i0
 101  getfield_gc_r %r0, FieldDescr<rpython.rlib.rsre.rsre_utf8.Utf8MatchContext.inst__utf8> -> %r2
 106  inline_call_ir_i <JitCode 'codepoint_at_pos'>, I[%i1], R[%r2] -> %i1
 114  -live- %i0, %i1, %r0, %r1
 117  inline_call_ir_i <JitCode 'check_charset'>, I[%i0, %i1], R[%r0, %r1] -> %i0
 127  -live- %i0
 130  int_return %i0
