   0  getfield_gc_i %r0, FieldDescr<pypy.module._md5.interp_md5.W_MD5.inst_count> -> %i1
   5  getfield_gc_r %r0, FieldDescr<pypy.module._md5.interp_md5.W_MD5.inst_input> -> %r3
  10  getfield_gc_i %r0, FieldDescr<pypy.module._md5.interp_md5.W_MD5.inst_A> -> %i2
  15  getfield_gc_i %r0, FieldDescr<pypy.module._md5.interp_md5.W_MD5.inst_B> -> %i3
  20  getfield_gc_i %r0, FieldDescr<pypy.module._md5.interp_md5.W_MD5.inst_C> -> %i4
  25  getfield_gc_i %r0, FieldDescr<pypy.module._md5.interp_md5.W_MD5.inst_D> -> %i5
  30  strlen %r3 -> %i6
  33  -live- %i0, %i1, %i2, %i3, %i4, %i5, %i6, %r0, %r3
  36  goto_if_not_int_lt %i6, $56, L1
  41  int_sub $56, %i6 -> %i6
  45  L2:
  45  -live- %i0, %i1, %i2, %i3, %i4, %i5, %i6, %r0, %r3
  48  goto_if_not_int_is_true %i6, L3
  52  int_sub %i6, $1 -> %i6
  56  residual_call_ir_r $<* fn ll_char_mul__Char_Signed>, I[$'\x00', %i6], R[], <CallDescr(ii) EF=3> -> %r2
  65  -live- %i0, %i1, %i2, %i3, %i4, %i5, %r0, %r2, %r3
  68  residual_call_r_r $<* fn ll_strconcat__rpy_stringPtr_rpy_stringPtr>, R[$<* struct rpy_string>, %r2], <CallDescr(rr) EF=3 OS_STR_CONCAT> -> %r2
  76  -live- %i0, %i1, %i2, %i3, %i4, %i5, %r0, %r2, %r3
  79  residual_call_r_v $<* fn W_MD5.update>, R[%r0, %r2], <CallDescr(rr) EF=5>
  86  L4:
  86  -live- %i0, %i1, %i2, %i3, %i4, %i5, %r0, %r3
  89  getfield_gc_r %r0, FieldDescr<pypy.module._md5.interp_md5.W_MD5.inst_input> -> %r2
  94  getfield_gc_r %r0, FieldDescr<pypy.module._md5.interp_md5.W_MD5.inst_uintbuffer> -> %r1
  99  residual_call_ir_v $<* fn _string2uintlist>, I[$0, $14], R[%r2, %r1], <CallDescr(riir) EF=5>
 109  -live- %i0, %i1, %i2, %i3, %i4, %i5, %r0, %r1, %r3
 112  int_lshift %i1, $3 -> %i6
 116  setarrayitem_gc_i %r1, $14, %i6, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000aaab4d0ea870>
 122  uint_rshift %i6, $32 -> %i6
 126  setarrayitem_gc_i %r1, $15, %i6, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000aaab4d0ea870>
 132  inline_call_r_v <JitCode 'W_MD5._transform'>, R[%r0, %r1]
 138  -live- %i0, %i1, %i2, %i3, %i4, %i5, %r0, %r3
 141  getfield_gc_i %r0, FieldDescr<pypy.module._md5.interp_md5.W_MD5.inst_A> -> %i6
 146  getfield_gc_i %r0, FieldDescr<pypy.module._md5.interp_md5.W_MD5.inst_B> -> %i7
 151  getfield_gc_i %r0, FieldDescr<pypy.module._md5.interp_md5.W_MD5.inst_C> -> %i8
 156  getfield_gc_i %r0, FieldDescr<pypy.module._md5.interp_md5.W_MD5.inst_D> -> %i9
 161  -live- %i0, %i1, %i2, %i3, %i4, %i5, %i6, %i7, %i8, %i9, %r0, %r3
 164  switch %i0, <SwitchDictDescr 0:L5, 1:L6>
 168  unreachable
 169  ---
 169  L5:
 169  -live- %i1, %i2, %i3, %i4, %i5, %i6, %i7, %i8, %i9, %r0, %r3
 172  inline_call_ir_r <JitCode '_state2hexstring'>, I[%i6, %i7, %i8, %i9], R[] -> %r2
 182  L7:
 182  -live- %i1, %i2, %i3, %i4, %i5, %r0, %r2, %r3
 185  setfield_gc_i %r0, %i1, FieldDescr<pypy.module._md5.interp_md5.W_MD5.inst_count>
 190  setfield_gc_r %r0, %r3, FieldDescr<pypy.module._md5.interp_md5.W_MD5.inst_input>
 195  setfield_gc_i %r0, %i2, FieldDescr<pypy.module._md5.interp_md5.W_MD5.inst_A>
 200  setfield_gc_i %r0, %i3, FieldDescr<pypy.module._md5.interp_md5.W_MD5.inst_B>
 205  setfield_gc_i %r0, %i4, FieldDescr<pypy.module._md5.interp_md5.W_MD5.inst_C>
 210  setfield_gc_i %r0, %i5, FieldDescr<pypy.module._md5.interp_md5.W_MD5.inst_D>
 215  ref_return %r2
 217  ---
 217  L6:
 217  -live- %i1, %i2, %i3, %i4, %i5, %i6, %i7, %i8, %i9, %r0, %r3
 220  inline_call_ir_r <JitCode '_state2string'>, I[%i6, %i7, %i8, %i9], R[] -> %r2
 230  -live- %i1, %i2, %i3, %i4, %i5, %r0, %r2, %r3
 233  goto L7
 236  ---
 236  L3:
 236  goto L4
 239  ---
 239  L1:
 239  int_sub $120, %i6 -> %i6
 243  goto L2
