   0  instance_ptr_eq %r0, %r2 -> %i0
   4  -live- %i0, %r0, %r1, %r2, %r3
   7  goto_if_not %i0, L1
  11  int_return $True
  13  ---
  13  L1:
  13  residual_call_r_i $<* fn ll_streq__rpy_stringPtr_rpy_stringPtr>, R[%r3, $<* struct rpy_string>], <CallDescr(rr) EF=0 OS_STR_EQUAL> -> %i0
  21  -live- %i0, %r0, %r1, %r2, %r3
  24  goto_if_not %i0, L2
  28  int_return $True
  30  ---
  30  L2:
  30  -live- %r0, %r1, %r2, %r3
  33  record_quasiimmut_field %r0, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
  39  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r4
  44  -live- %r0, %r1, %r2, %r3, %r4
  47  guard_class %r4 -> %i0
  50  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_kind> -> %i0
  55  -live- %i0, %r0, %r1, %r2, %r3
  58  switch %i0, <SwitchDictDescr 98:L3, 99:L4, 102:L5, 105:L6, 117:L7>
  62  L8:
  62  inline_call_r_i <JitCode 'can_cast_type'>, R[%r0, %r2, %r3] -> %i0
  70  -live- %i0
  73  int_return %i0
  75  ---
  75  L3:
  75  L9:
  75  -live- %r0, %r1, %r2, %r3
  78  residual_call_r_i $<* fn ll_streq__rpy_stringPtr_rpy_stringPtr>, R[%r3, $<* struct rpy_string>], <CallDescr(rr) EF=0 OS_STR_EQUAL> -> %i0
  86  residual_call_r_i $<* fn ll_streq__rpy_stringPtr_rpy_stringPtr>, R[%r3, $<* struct rpy_string>], <CallDescr(rr) EF=0 OS_STR_EQUAL> -> %i1
  94  int_or %i0, %i1 -> %i0
  98  -live- %i0, %r0, %r1, %r2, %r3
 101  goto_if_not %i0, L10
 105  goto L8
 108  ---
 108  L10:
 108  -live- %r0, %r1, %r2, %r3
 111  record_quasiimmut_field %r0, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_byteorder>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_byteorder>
 117  getfield_gc_i_pure %r0, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_byteorder> -> %i0
 122  int_eq %i0, $61 -> %i1
 126  int_eq %i0, $60 -> %i0
 130  int_or %i1, %i0 -> %i0
 134  -live- %i0, %r1, %r2, %r3
 137  goto_if_not %i0, L11
 141  L12:
 141  -live- %r1, %r2, %r3
 144  guard_class %r1 -> %i0
 147  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.boxes.W_GenericBox_vtable.cls_min_dtype> -> %i0
 152  -live- %i0, %r1, %r2, %r3
 155  int_guard_value %i0
 157  residual_call_r_r %i0, <IndirectCallTargets>, R[%r1], <CallDescr(r) EF=2> -> %r4
 164  -live- %r2, %r3, %r4
 167  getfield_gc_i_pure %r4, FieldDescr<tuple2.item0> -> %i0
 172  getfield_gc_i_pure %r4, FieldDescr<tuple2.item1> -> %i1
 177  -live- %i0, %i1, %r2, %r3
 180  record_quasiimmut_field %r2, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
 186  getfield_gc_r_pure %r2, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r4
 191  -live- %i0, %i1, %r2, %r3, %r4
 194  guard_class %r4 -> %i2
 197  getfield_raw_i %i2, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_kind> -> %i2
 202  -live- %i0, %i1, %i2, %r2, %r3
 205  goto_if_not_int_eq %i2, $'u', L13
 210  int_copy %i1 -> %i0
 213  L14:
 213  residual_call_ir_r $<* fn num2dtype>, I[%i0], R[], <CallDescr(i) EF=4> -> %r4
 221  -live- %r2, %r3, %r4
 224  inline_call_r_i <JitCode 'can_cast_type'>, R[%r4, %r2, %r3] -> %i0
 232  -live- %i0
 235  int_return %i0
 237  ---
 237  L13:
 237  goto L14
 240  ---
 240  L11:
 240  inline_call_r_r <JitCode 'W_GenericBox.descr_byteswap'>, R[%r1] -> %r1
 246  -live- %r1, %r2, %r3
 249  goto L12
 252  ---
 252  L4:
 252  -live- %r0, %r1, %r2, %r3
 255  goto L9
 258  ---
 258  L5:
 258  -live- %r0, %r1, %r2, %r3
 261  goto L9
 264  ---
 264  L6:
 264  -live- %r0, %r1, %r2, %r3
 267  goto L9
 270  ---
 270  L7:
 270  -live- %r0, %r1, %r2, %r3
 273  goto L9
