123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127 |
- .text
- .p2align 4
- #
- #
- #
- .globl memcpy
- .type memcpy,@function
- memcpy:
- or.p gr8,gr9,gr4
- orcc gr10,gr0,gr0,icc3
- or.p gr10,gr4,gr4
- beqlr icc3,
-
- andicc.p gr4,
- setlos
- andicc.p gr4,
- beq icc0,
- andicc.p gr4,
- beq icc1,
- andicc.p gr4,
- beq icc0,
- andicc.p gr4,
- beq icc1,
- setlos.p
- beq icc0,
-
- sub.p gr8,gr11,gr3
- sub gr9,gr11,gr9
- 0: ldubu.p @(gr9,gr11),gr4
- subicc gr10,
- stbu.p gr4,@(gr3,gr11)
- bne icc0,
- bralr
-
- memcpy_2:
- setlos
- sub.p gr8,gr11,gr3
- sub gr9,gr11,gr9
- 0: lduhu.p @(gr9,gr11),gr4
- subicc gr10,
- sthu.p gr4,@(gr3,gr11)
- bne icc0,
- bralr
-
- memcpy_4:
- setlos
- sub.p gr8,gr11,gr3
- sub gr9,gr11,gr9
- 0: ldu.p @(gr9,gr11),gr4
- subicc gr10,
- stu.p gr4,@(gr3,gr11)
- bne icc0,
- bralr
-
- memcpy_8:
- sub.p gr8,gr11,gr3
- sub gr9,gr11,gr9
- 0: lddu.p @(gr9,gr11),gr4
- subicc gr10,
- stdu.p gr4,@(gr3,gr11)
- bne icc0,
- bralr
-
- memcpy_16:
- sub.p gr8,gr11,gr3
- sub gr9,gr11,gr9
- 0: lddu @(gr9,gr11),gr4
- lddu.p @(gr9,gr11),gr6
- subicc gr10,
- stdu gr4,@(gr3,gr11)
- stdu.p gr6,@(gr3,gr11)
- bne icc0,
- bralr
-
- memcpy_32:
- sub.p gr8,gr11,gr3
- sub gr9,gr11,gr9
- 0: lddu @(gr9,gr11),gr4
- lddu @(gr9,gr11),gr6
- lddu @(gr9,gr11),gr12
- lddu.p @(gr9,gr11),gr14
- subicc gr10,
- stdu gr4,@(gr3,gr11)
- stdu gr6,@(gr3,gr11)
- stdu gr12,@(gr3,gr11)
- stdu.p gr14,@(gr3,gr11)
- bne icc0,
- bralr
- .size memcpy, .-memcpy
- libc_hidden_def(memcpy)
|