Alpha

From Ellcc

Jump to: navigation, search

Assembly generated by sieve.c:

./alpha-elf-ecc -v -O5 -S test/sieve.c
        .arch ev6
        .set noat

        .text
        .align  4
        .globl main
        .ent main
main:
        ldah $29,0($27)         !gpdisp!1
        lda $29,0($29)          !gpdisp!1
        $main..ng:

        lda $30,-48($30)
        stq $9,40($30)
        stq $10,32($30)
        stq $11,24($30)
        stq $12,16($30)
        stq $13,8($30)
        bis $29,$29,$9
        bis $26,$26,$10
        ldah $0,str($9)         !gprelhigh
        ldq $27,puts($9)                !literal
        lda $16,str($0)         !gprellow
        bis $31,$31,$11
        jsr $26,($27),0
        br $31,$BB1_11  # body2.outer
$BB1_1: # next
        ldah $11,.str1($9)              !gprelhigh
        ldq $12,printf($9)              !literal
        lda $16,.str1($11)              !gprellow
        bis $12,$12,$27
        jsr $26,($27),0
        ldah $11,.str2($9)              !gprelhigh
        ldah $0,.str3($9)               !gprelhigh
        lda $16,.str2($11)              !gprellow
        lda $17,.str3($0)               !gprellow
        bis $12,$12,$27
        jsr $26,($27),0
        ldah $11,.str4($9)              !gprelhigh
        lda $16,.str4($11)              !gprellow
        lda $17,53($31)
        bis $12,$12,$27
        jsr $26,($27),0
        ldah $11,.str5($9)              !gprelhigh
        ldah $0,.str6($9)               !gprelhigh
        lda $16,.str5($11)              !gprellow
        lda $17,.str6($0)               !gprellow
        bis $12,$12,$27
        jsr $26,($27),0
        ldah $11,.str7($9)              !gprelhigh
        ldah $0,.str8($9)               !gprelhigh
        lda $16,.str7($11)              !gprellow
        lda $17,.str8($0)               !gprellow
        bis $12,$12,$27
        jsr $26,($27),0
        ldah $11,.str9($9)              !gprelhigh
        bis $31,$31,$13
        lda $16,.str9($11)              !gprellow
        bis $13,$13,$17
        bis $12,$12,$27
        jsr $26,($27),0
        ldah $11,.str10($9)             !gprelhigh
        lda $16,.str10($11)             !gprellow
        lda $17,1($31)
        bis $12,$12,$27
        jsr $26,($27),0
        ldah $11,.str11($9)             !gprelhigh
        lda $16,.str11($11)             !gprellow
        bis $13,$13,$17
        bis $12,$12,$27
        jsr $26,($27),0
        ldah $11,.str12($9)             !gprelhigh
        ldah $0,.str13($9)              !gprelhigh
        lda $16,.str12($11)             !gprellow
        lda $17,.str13($0)              !gprellow
        bis $12,$12,$27
        jsr $26,($27),0
        ldah $11,.str14($9)             !gprelhigh
        ldah $9,.str15($9)              !gprelhigh
        lda $16,.str14($11)             !gprellow
        lda $17,.str15($9)              !gprellow
        bis $12,$12,$27
        jsr $26,($27),0
        bis $10,$10,$26
        bis $13,$13,$0
        ldq $13,8($30)
        ldq $12,16($30)
        ldq $11,24($30)
        ldq $10,32($30)
        ldq $9,40($30)
        lda $30,48($30)
        ret $31,($26),1
$BB1_2: # body2
        ldq $1,flags($9)                !literal
        addl $0,0,$2
        addq $0,1,$0
        lda $3,1($31)
        addq $1,$2,$1
        stb $3,0($1)
        zapnot $0,15,$1
        lda $2,8191($31)
        cmpeq $1,$2,$1
        beq $1,$BB1_2   # body2
$BB1_3: # body2.body6_crit_edge
        bis $31,$31,$0
        lda $1,3($31)
        bis $1,$1,$2
        bis $0,$0,$17
$BB1_4: # body6
        ldq $3,flags($9)                !literal
        addl $0,0,$4
        addq $3,$4,$3
        ldbu $3,0($3)
        beq $3,$BB1_9   # next9
$BB1_5: # ifTrue
        addl $1,0,$3
        lda $4,8190($31)
        cmplt $4,$3,$3
        bne $3,$BB1_8   # next12
$BB1_6: # ifTrue.body11_crit_edge
        bis $1,$1,$3
$BB1_7: # body11
        ldq $4,flags($9)                !literal
        addl $3,0,$5
        addq $2,$3,$6
        addq $4,$5,$4
        stb $31,0($4)
        addl $2,$3,$3
        lda $4,8191($31)
        cmplt $3,$4,$4
        bis $6,$6,$3
        bne $4,$BB1_7   # body11
$BB1_8: # next12
        addq $17,1,$17
$BB1_9: # next9
        addq $0,1,$0
        addq $1,3,$1
        addq $2,2,$2
        zapnot $0,15,$3
        lda $4,8191($31)
        cmpeq $3,$4,$3
        beq $3,$BB1_4   # body6
$BB1_10:        # next8
        addq $11,1,$11
        zapnot $11,15,$0
        lda $1,10000($31)
        cmpeq $0,$1,$0
        bne $0,$BB1_1   # next
$BB1_11:        # body2.outer
        bis $31,$31,$0
        br $31,$BB1_2   # body2
        bis $31,$31,$31
        bis $31,$31,$31
        .end main
        .globl flags
        .section        .bss
        .type   flags, @object
        .size   flags, 8191
        .align  4
flags:
        .zero   8191

        .section        .data
        .type   .str1, @object
        .size   .str1, 11
.str1:
        .asciz  "%d primes\n"

        .type   .str2, @object
        .size   .str2, 15
.str2:
        .asciz  "__FILE__ = %s\n"

        .type   .str3, @object
        .size   .str3, 13
.str3:
        .asciz  "test/sieve.c"

        .type   .str4, @object
        .size   .str4, 15
.str4:
        .asciz  "__LINE__ = %d\n"

        .type   .str5, @object
        .size   .str5, 15
.str5:
        .asciz  "__DATE__ = %s\n"

        .type   .str6, @object
        .size   .str6, 12
.str6:
        .asciz  "Jul 12 2008"

        .type   .str7, @object
        .size   .str7, 15
.str7:
        .asciz  "__TIME__ = %s\n"

        .type   .str8, @object
        .size   .str8, 9
.str8:
        .asciz  "05:43:53"

        .type   .str9, @object
        .size   .str9, 16
.str9:
        .asciz  "__ELLCC__ = %d\n"

        .type   .str10, @object
        .size   .str10, 22
        .align  4
.str10:
        .asciz  "__ELLCC_MINOR__ = %d\n"

        .type   .str11, @object
        .size   .str11, 27
        .align  4
.str11:
        .asciz  "__ELLCC_PATCHLEVEL__ = %d\n"

        .type   .str12, @object
        .size   .str12, 31
        .align  4
.str12:
        .asciz  "__ELLCC_VERSION_STRING__ = %s\n"

        .type   .str13, @object
        .size   .str13, 6
.str13:
        .asciz  "0.1.0"

        .type   .str14, @object
        .size   .str14, 25
        .align  4
.str14:
        .asciz  "__ELLCC_VERSIONG__ = %s\n"

        .type   .str15, @object
        .size   .str15, 24
        .align  4
.str15:
        .asciz  "0.1.0 ALPHA Jul 11 2008"

        .type   str, @object
        .size   str, 17
        .align  4
str:
        .asciz  "10000 iterations"
Personal tools