.set noat .set noreorder .set nomacro .text .align 2 .align 4 .globl duffcpy .ent duffcpy duffcpy: .frame $30,0,$26,0 ldah $29,0($27) !gpdisp!1 lda $29,0($29) !gpdisp!1 $duffcpy..ng: .prologue 1 and $18,7,$2 cmpule $2,7,$1 lda $18,7($18) cpys $f31,$f31,$f31 srl $18,3,$18 beq $1,$L1 ldah $1,$L15($29) !gprelhigh lda $1,$L15($1) !gprellow s4addq $2,$1,$1 ldl $2,0($1) addq $29,$2,$2 jmp $31,($2),$L4 .section .rodata .align 2 .align 2 $L15: .gprel32 $L4 .gprel32 $L13 .gprel32 $L12 .gprel32 $L11 .gprel32 $L10 .gprel32 $L9 .gprel32 $L8 .gprel32 $L7 .text .align 4 $L4: ldq_u $3,0($17) ldq_u $2,0($16) extbl $3,$17,$1 mskbl $2,$16,$2 insbl $1,$16,$1 lda $17,1($17) bis $1,$2,$1 stq_u $1,0($16) lda $16,1($16) $L7: ldq_u $3,0($17) ldq_u $2,0($16) extbl $3,$17,$1 mskbl $2,$16,$2 insbl $1,$16,$1 lda $17,1($17) bis $1,$2,$1 stq_u $1,0($16) lda $16,1($16) $L8: ldq_u $3,0($17) ldq_u $2,0($16) extbl $3,$17,$1 mskbl $2,$16,$2 insbl $1,$16,$1 lda $17,1($17) bis $1,$2,$1 stq_u $1,0($16) lda $16,1($16) $L9: ldq_u $3,0($17) ldq_u $2,0($16) extbl $3,$17,$1 mskbl $2,$16,$2 insbl $1,$16,$1 lda $17,1($17) bis $1,$2,$1 stq_u $1,0($16) lda $16,1($16) $L10: ldq_u $3,0($17) ldq_u $2,0($16) extbl $3,$17,$1 mskbl $2,$16,$2 insbl $1,$16,$1 lda $17,1($17) bis $1,$2,$1 stq_u $1,0($16) lda $16,1($16) $L11: ldq_u $3,0($17) ldq_u $2,0($16) extbl $3,$17,$1 mskbl $2,$16,$2 insbl $1,$16,$1 lda $17,1($17) bis $1,$2,$1 stq_u $1,0($16) lda $16,1($16) $L12: ldq_u $3,0($17) ldq_u $2,0($16) extbl $3,$17,$1 mskbl $2,$16,$2 insbl $1,$16,$1 lda $17,1($17) bis $1,$2,$1 stq_u $1,0($16) lda $16,1($16) $L13: ldq_u $3,0($17) lda $18,-1($18) ldq_u $2,0($16) extbl $3,$17,$1 mskbl $2,$16,$2 insbl $1,$16,$1 lda $17,1($17) bis $1,$2,$1 stq_u $1,0($16) lda $16,1($16) bne $18,$L4 $L1: ret $31,($26),1 .end duffcpy .globl testpat .section .rodata .type testpat, @object .size testpat, 46 testpat: .ascii "The quick brown fox jumped over the lazy dog.\0" .text .align 2 .align 4 .globl main .ent main main: .frame $30,0,$26,0 .mask 0x4000200,0 ldah $29,0($27) !gpdisp!2 lda $29,0($29) !gpdisp!2 $main..ng: lda $30,-80($30) lda $16,16($30) stq $9,8($30) lda $18,46($31) ldah $9,testpat($29) !gprelhigh stq $26,0($30) .prologue 1 lda $9,testpat($9) !gprellow mov $9,$17 bsr $26,$duffcpy..ng lda $18,46($31) lda $16,16($30) ldq $27,memcmp($29) !literal!5 mov $9,$17 jsr $26,($27),memcmp !lituse_jsr!5 ldah $29,0($26) !gpdisp!6 cpys $f31,$f31,$f31 lda $29,0($29) !gpdisp!6 beq $0,$L18 ldq $27,abort($29) !literal!4 jsr $26,($27),abort !lituse_jsr!4 $L18: mov $31,$16 ldq $27,exit($29) !literal!3 jsr $26,($27),exit !lituse_jsr!3 .end main .ident "GCC: (GNU) 3.3.2"