   0  uint_le %i0, $127L -> %i2
   4  -live- %i0, %i1, %i2
   7  goto_if_not %i2, L1
  11  newstr $1 -> %r0
  14  strsetitem %r0, $0, %i0
  18  ref_return %r0
  20  ---
  20  L1:
  20  uint_le %i0, $2047L -> %i2
  24  -live- %i0, %i1, %i2
  27  goto_if_not %i2, L2
  31  uint_rshift %i0, $6 -> %i2
  35  int_or %i2, $192L -> %i2
  39  int_and %i0, $63L -> %i1
  43  int_or %i1, $128L -> %i1
  47  newstr $1 -> %r0
  50  strsetitem %r0, $0, %i2
  54  newstr $1 -> %r1
  57  strsetitem %r1, $0, %i1
  61  residual_call_r_r $<* fn ll_strconcat__rpy_stringPtr_rpy_stringPtr>, R[%r0, %r1], <CallDescr(rr) EF=3 OS_STR_CONCAT> -> %r0
  69  -live- %r0
  72  ref_return %r0
  74  ---
  74  L2:
  74  uint_le %i0, $65535L -> %i2
  78  -live- %i0, %i1, %i2
  81  goto_if_not %i2, L3
  85  -live- %i0, %i1
  88  goto_if_not %i1, L4
  92  L5:
  92  uint_rshift %i0, $12 -> %i2
  96  int_or %i2, $224L -> %i2
 100  uint_rshift %i0, $6 -> %i1
 104  int_and %i1, $63L -> %i1
 108  int_or %i1, $128L -> %i1
 112  newstr $1 -> %r0
 115  strsetitem %r0, $0, %i2
 119  newstr $1 -> %r1
 122  strsetitem %r1, $0, %i1
 126  residual_call_r_r $<* fn ll_strconcat__rpy_stringPtr_rpy_stringPtr>, R[%r0, %r1], <CallDescr(rr) EF=3 OS_STR_CONCAT> -> %r0
 134  -live- %i0, %r0
 137  int_and %i0, $63L -> %i2
 141  int_or %i2, $128L -> %i2
 145  newstr $1 -> %r1
 148  strsetitem %r1, $0, %i2
 152  residual_call_r_r $<* fn ll_strconcat__rpy_stringPtr_rpy_stringPtr>, R[%r0, %r1], <CallDescr(rr) EF=3 OS_STR_CONCAT> -> %r0
 160  -live- %r0
 163  ref_return %r0
 165  ---
 165  L4:
 165  uint_ge %i0, $55296L -> %i2
 169  -live- %i0, %i2
 172  goto_if_not %i2, L6
 176  uint_le %i0, $57343L -> %i2
 180  -live- %i0, %i2
 183  goto_if_not %i2, L7
 187  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x0000555aa7708a68> -> %r0
 191  setfield_gc_i %r0, %i0, FieldDescr<rpython.rlib.rutf8.OutOfRange.inst_code>
 196  assert_not_none %r0
 198  -live- %r0
 201  raise %r0
 203  ---
 203  L7:
 203  goto L5
 206  ---
 206  L6:
 206  goto L5
 209  ---
 209  L3:
 209  uint_le %i0, $1114111L -> %i2
 213  -live- %i0, %i2
 216  goto_if_not %i2, L8
 220  uint_rshift %i0, $18 -> %i2
 224  int_or %i2, $240L -> %i2
 228  uint_rshift %i0, $12 -> %i1
 232  int_and %i1, $63L -> %i1
 236  int_or %i1, $128L -> %i1
 240  newstr $1 -> %r0
 243  strsetitem %r0, $0, %i2
 247  newstr $1 -> %r1
 250  strsetitem %r1, $0, %i1
 254  residual_call_r_r $<* fn ll_strconcat__rpy_stringPtr_rpy_stringPtr>, R[%r0, %r1], <CallDescr(rr) EF=3 OS_STR_CONCAT> -> %r0
 262  -live- %i0, %r0
 265  uint_rshift %i0, $6 -> %i2
 269  int_and %i2, $63L -> %i2
 273  int_or %i2, $128L -> %i2
 277  newstr $1 -> %r1
 280  strsetitem %r1, $0, %i2
 284  residual_call_r_r $<* fn ll_strconcat__rpy_stringPtr_rpy_stringPtr>, R[%r0, %r1], <CallDescr(rr) EF=3 OS_STR_CONCAT> -> %r0
 292  -live- %i0, %r0
 295  int_and %i0, $63L -> %i2
 299  int_or %i2, $128L -> %i2
 303  newstr $1 -> %r1
 306  strsetitem %r1, $0, %i2
 310  residual_call_r_r $<* fn ll_strconcat__rpy_stringPtr_rpy_stringPtr>, R[%r0, %r1], <CallDescr(rr) EF=3 OS_STR_CONCAT> -> %r0
 318  -live- %r0
 321  ref_return %r0
 323  ---
 323  L8:
 323  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x0000555aa7708a68> -> %r0
 327  setfield_gc_i %r0, %i0, FieldDescr<rpython.rlib.rutf8.OutOfRange.inst_code>
 332  assert_not_none %r0
 334  -live- %r0
 337  raise %r0
