   0  int_and %i1, $4 -> %i2
   4  -live- %i0, %i1, %i2
   7  goto_if_not_int_is_true %i2, L1
  11  -live- %i0
  14  goto_if_not_int_lt %i0, $256, L2
  19  int_signext %i0, $4 -> %i1
  23  residual_call_ir_i $<* fn toupper>, I[%i1], R[], <CallDescr(i) EF=2> -> %i0
  31  int_return %i0
  33  ---
  33  L2:
  33  int_return %i0
  35  ---
  35  L1:
  35  int_and %i1, $32 -> %i1
  39  -live- %i0, %i1
  42  goto_if_not_int_is_true %i1, L3
  46  -live- %i0
  49  goto_if_not_int_lt %i0, $128, L4
  54  int_between $97, %i0, $123 -> %i1
  59  int_mul %i1, $32 -> %i1
  63  int_sub %i0, %i1 -> %i0
  67  int_return %i0
  69  ---
  69  L4:
  69  inline_call_ir_r <JitCode 'toupper_full'>, I[%i0], R[] -> %r0
  76  -live- %i0, %r0
  79  catch_exception L5
  82  getarrayitem_gc_i %r0, $0, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x00005609341ae480> -> %i0
  88  int_return %i0
  90  ---
  90  L5:
  90  goto_if_exception_mismatch $<* struct object_vtable>, L6
  94  int_return %i0
  96  ---
  96  L6:
  96  reraise
  97  ---
  97  L3:
  97  int_between $97, %i0, $123 -> %i1
 102  int_mul %i1, $32 -> %i1
 106  int_sub %i0, %i1 -> %i0
 110  int_return %i0
