insert: !#PROLOGUE# 0 !#PROLOGUE# 1 cmp %o0, 0 bl,pn %icc, .LL9 sethi %hi(num), %g3 sll %o0, 2, %o2 or %g3, %lo(num), %o3 ld [%o3+%o2], %g2 cmp %g2, %o1 ble,pn %icc, .LL9 add %o2, 4, %g2 mov %o3, %o4 add %g2, %o4, %o3 addcc %o0, -1, %o0 ld [%o2+%o4], %g2 .LL53: add %o2, -4, %o2 st %g2, [%o3] bneg,pn %icc, .LL9 add %o3, -4, %o3 ld [%o2+%o4], %g2 cmp %g2, %o1 bg,a,pt %icc, .LL53 addcc %o0, -1, %o0 .LL9: add %o0, 1, %g2 or %g3, %lo(num), %g3 sll %g2, 2, %g2 retl st %o1, [%g3+%g2]