Alpha
From Ellcc
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"
