📄 avcall-sparc.s
字号:
#include "asmsparc.h".text .align 4 .global C(__builtin_avcall) DECLARE_FUNCTION(__builtin_avcall) .proc 04C(__builtin_avcall:) !$PROLOGUE$ 0 save %sp, -1152, %sp !$PROLOGUE$ 1 ld [%i0+20], %g3 add %sp, 68, %l2 add %g3, -40, %g3 ld [%i0+12], %o7 sub %g3, %i0, %g3 cmp %o7, 16 bne L3 sra %g3, 2, %l0 ld [%i0+4], %g3 andcc %g3, 8, %g0 bne L87 cmp %l0, 6 ld [%i0+8], %g3 st %g3, [%l2-4]L3: cmp %l0, 6L87: ble,a L88 ld [%i0+12], %g3 add %l0, -6, %l0 add %i0, 40, %l1 mov 24, %o7L7: ld [%l1+%o7], %g3 addcc %l0, -1, %l0 st %g3, [%o7+%l2] bne L7 add %o7, 4, %o7 ld [%i0+12], %g3L88: cmp %g3, 16 bne,a L89 ld [%i0], %g3 ld [%i0+4], %g3 andcc %g3, 16, %g0 be L9 sethi %hi(-2117607424), %o7 ld [%i0+16], %g3 and %g3, 4095, %g3 or %o7, 8, %o7 sethi %hi(-1614774272), %l0 sethi %hi(16777216), %l1 sethi %hi(-1341120512), %l2 sethi %hi(-2115502080), %l3 st %g3, [%fp-24] std %l0, [%fp-32] st %l2, [%fp-20] st %o7, [%fp-16] st %l3, [%fp-12] add %fp, -32, %g3 iflush %g3 add %fp, -24, %o7 iflush %o7 add %fp, -16, %g3 iflush %g3 add %fp, -12, %o7 iflush %o7 ld [%i0], %g2 ld [%i0+40], %o0 ld [%i0+44], %o1 ld [%i0+48], %o2 ld [%i0+52], %o3 ld [%i0+56], %o4 jmp %fp-32 ld [%i0+60], %o5L9: ld [%i0], %g3L89: ld [%i0+40], %o0 ld [%i0+44], %o1 ld [%i0+48], %o2 ld [%i0+52], %o3 ld [%i0+56], %o4 call %g3, 0 ld [%i0+60], %o5 mov %o0, %l2 nop ld [%i0+12], %g3 cmp %g3, 1 be L11 cmp %g3, 0 be L84 cmp %g3, 2 be L85 cmp %g3, 3 be L85 cmp %g3, 4 be L85 cmp %g3, 5 be L86 cmp %g3, 6 be L86 cmp %g3, 7 be L84 cmp %g3, 8 be L84 cmp %g3, 9 be L84 cmp %g3, 10 be,a L90 ld [%i0+8], %g3 ld [%i0+12], %o7 add %o7, -11, %g3 cmp %g3, 1 bgu L32 cmp %o7, 13 ld [%i0+8], %g3 st %l2, [%g3] ld [%i0+8], %o7 b L11 st %o1, [%o7+4]L32: bne L34 cmp %o7, 14 ld [%i0+4], %g3 andcc %g3, 32, %g0 bne,a L35 fdtos %f0, %f0L35: ld [%i0+8], %g3 b L11 st %f0, [%g3]L34: bne L38 cmp %o7, 15 ld [%i0+8], %g3 b L11 std %f0, [%g3]L38: be L84 cmp %o7, 16 bne L11 nop ld [%i0+4], %g3 andcc %g3, 8, %g0 be L43 andcc %g3, 1, %g0 ld [%i0+16], %g3 cmp %g3, 1 bne L44 cmp %g3, 2 ld [%i0+8], %o7 ldub [%sp-1], %g3 b L11 stb %g3, [%o7]L44: bne L46 cmp %g3, 4 ld [%i0+8], %o7 lduh [%sp-2], %g3 b L11 sth %g3, [%o7]L46: bne L48 cmp %g3, 8 ld [%i0+8], %o7 ld [%sp-4], %g3 b L11 st %g3, [%o7]L48: bne L50 andcc %g3, 3, %g0 ld [%sp-8], %g3 ld [%i0+8], %o7 st %g3, [%o7] ld [%i0+8], %l0 ld [%sp-4], %g3 b L11 st %g3, [%l0+4]L50: be L52 sub %sp, %g3, %o7 ld [%i0+8], %i0 cmp %g3, 4 bleu L53 mov %g3, %l0 and %o7, -4, %o7L53: cmp %g3, 0 be L11 nopL56: ldub [%o7], %g3 addcc %l0, -1, %l0 stb %g3, [%i0] add %o7, 1, %o7 bne L56 add %i0, 1, %i0 b,a L11L52: cmp %o7, %sp bgeu L11 ld [%i0+8], %i0L61: ld [%o7], %g3 add %o7, 4, %o7 st %g3, [%i0] cmp %o7, %sp blu L61 add %i0, 4, %i0 b,a L11L43: be L64 andcc %g3, 2, %g0 ld [%i0+16], %g3 cmp %g3, 1 bne L65 cmp %g3, 2 ld [%i0+8], %o7 ldub [%l2], %g3 b L11 stb %g3, [%o7]L65: bne L67 cmp %g3, 4 ld [%i0+8], %o7 lduh [%l2], %g3 b L11 sth %g3, [%o7]L67: bne L69 cmp %g3, 8 ld [%i0+8], %o7 ld [%l2], %g3 b L11 st %g3, [%o7]L69: bne L71 add %g3, 3, %g3 ld [%l2], %g3 ld [%i0+8], %o7 st %g3, [%o7] ld [%i0+8], %l0 ld [%l2+4], %g3 b L11 st %g3, [%l0+4]L71: srl %g3, 2, %l1 addcc %l1, -1, %l1 bneg L11 sll %l1, 2, %l0L75: ld [%l0+%l2], %o7 addcc %l1, -1, %l1 ld [%i0+8], %g3 st %o7, [%g3+%l0] bpos L75 add %l0, -4, %l0 b,a L11L64: be L11 nop ld [%i0+16], %g3 cmp %g3, 1 bne L79 cmp %g3, 2L85: ld [%i0+8], %g3 b L11 stb %l2, [%g3]L79: bne L81 cmp %g3, 4L86: ld [%i0+8], %g3 b L11 sth %l2, [%g3]L81: bne L11 nopL84: ld [%i0+8], %g3L90: st %l2, [%g3]L11: ret restore %g0, 0, %o0
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -