   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
  33  goto_if_not_int_lt %i6, $56, L1
  38  int_sub $56, %i6 -> %i6
  42  L2:
  42  -live- %i0, %i1, %i2, %i3, %i4, %i5, %i6, %r0, %r3
  42  goto_if_not_int_is_true %i6, L3
  46  int_sub %i6, $1 -> %i6
  50  residual_call_ir_r $<* fn ll_char_mul__Char_Signed>, I[$'\x00', %i6], R[], <CallDescr(ii) EF=3> -> %r2
  59  -live- %i0, %i1, %i2, %i3, %i4, %i5, %r0, %r2, %r3
  59  residual_call_r_r $<* fn ll_strconcat__rpy_stringPtr_rpy_stringPtr>, R[$<* struct rpy_string>, %r2], <CallDescr(rr) EF=3 OS_STR_CONCAT> -> %r2
  67  -live- %i0, %i1, %i2, %i3, %i4, %i5, %r0, %r2, %r3
  67  residual_call_r_v $<* fn W_MD5.update>, R[%r0, %r2], <CallDescr(rr) EF=5>
  74  -live- %i0, %i1, %i2, %i3, %i4, %i5, %r0, %r3
  74  L4:
  74  getfield_gc_r %r0, FieldDescr<pypy.module._md5.interp_md5.W_MD5.inst_input> -> %r2
  79  getfield_gc_r %r0, FieldDescr<pypy.module._md5.interp_md5.W_MD5.inst_uintbuffer> -> %r1
  84  residual_call_ir_v $<* fn _string2uintlist>, I[$0, $14], R[%r2, %r1], <CallDescr(riir) EF=5>
  94  -live- %i0, %i1, %i2, %i3, %i4, %i5, %r0, %r1, %r3
  94  int_lshift %i1, $3 -> %i6
  98  setarrayitem_gc_i %r1, $14, %i6, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000002aa59454d40>
 104  uint_rshift %i6, $32 -> %i6
 108  setarrayitem_gc_i %r1, $15, %i6, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000002aa59454d40>
 114  inline_call_r_v <JitCode 'W_MD5._transform'>, R[%r0, %r1]
 120  -live- %i0, %i1, %i2, %i3, %i4, %i5, %r0, %r3
 120  getfield_gc_i %r0, FieldDescr<pypy.module._md5.interp_md5.W_MD5.inst_A> -> %i6
 125  getfield_gc_i %r0, FieldDescr<pypy.module._md5.interp_md5.W_MD5.inst_B> -> %i7
 130  getfield_gc_i %r0, FieldDescr<pypy.module._md5.interp_md5.W_MD5.inst_C> -> %i8
 135  getfield_gc_i %r0, FieldDescr<pypy.module._md5.interp_md5.W_MD5.inst_D> -> %i9
 140  -live- %i0, %i1, %i2, %i3, %i4, %i5, %i6, %i7, %i8, %i9, %r0, %r3
 140  switch %i0, <SwitchDictDescr 0:L5, 1:L6>
 144  unreachable
 145  ---
 145  L5:
 145  -live- %i1, %i2, %i3, %i4, %i5, %i6, %i7, %i8, %i9, %r0, %r3
 145  inline_call_ir_r <JitCode '_state2hexstring'>, I[%i6, %i7, %i8, %i9], R[] -> %r2
 155  -live- %i1, %i2, %i3, %i4, %i5, %r0, %r2, %r3
 155  L7:
 155  setfield_gc_i %r0, %i1, FieldDescr<pypy.module._md5.interp_md5.W_MD5.inst_count>
 160  setfield_gc_r %r0, %r3, FieldDescr<pypy.module._md5.interp_md5.W_MD5.inst_input>
 165  setfield_gc_i %r0, %i2, FieldDescr<pypy.module._md5.interp_md5.W_MD5.inst_A>
 170  setfield_gc_i %r0, %i3, FieldDescr<pypy.module._md5.interp_md5.W_MD5.inst_B>
 175  setfield_gc_i %r0, %i4, FieldDescr<pypy.module._md5.interp_md5.W_MD5.inst_C>
 180  setfield_gc_i %r0, %i5, FieldDescr<pypy.module._md5.interp_md5.W_MD5.inst_D>
 185  ref_return %r2
 187  ---
 187  L6:
 187  -live- %i1, %i2, %i3, %i4, %i5, %i6, %i7, %i8, %i9, %r0, %r3
 187  inline_call_ir_r <JitCode '_state2string'>, I[%i6, %i7, %i8, %i9], R[] -> %r2
 197  -live- %i1, %i2, %i3, %i4, %i5, %r0, %r2, %r3
 197  goto L7
 200  ---
 200  L3:
 200  goto L4
 203  ---
 203  L1:
 203  int_sub $120, %i6 -> %i6
 207  goto L2
