.section ".text",#alloc,#execinstr .align 8 .skip 16 ! block 0 .global main .type main,#function main: save %sp,-128,%sp ! block 1 .L94: st %i0,[%fp+68] st %i1,[%fp+72] ! File pi.c: ! 1 #include <stdio.h> ! 2 ! 3 int ! 4 main(int argv, char **argc) ! 5 { ! 6 double i; ! 7 double sum = 0; // Line 7 sethi %hi(.L_cseg0),%l0 ldd [%l0+%lo(.L_cseg0)],%f4 std %f4,[%fp-24] ! 9 for(i=1; i<50000000;) // Line 9 sethi %hi(.L_cseg1),%l0 ldd [%l0+%lo(.L_cseg1)],%f4 std %f4,[%fp-16] ldd [%fp-16],%f6 sethi %hi(.L_cseg2),%l0 ldd [%l0+%lo(.L_cseg2)],%f4 fcmped %f6,%f4 fbuge .L98 nop ! block 2 .L_y0: sethi %hi(.L_cseg2),%l1 or %l1,%lo(.L_cseg2),%l1 sethi %hi(.L_cseg4),%l2 or %l2,%lo(.L_cseg4),%l2 sethi %hi(.L_cseg3),%l0 or %l0,%lo(.L_cseg3),%l0 .L99: .L96: ! 10 { ! 11 sum = sum + 4.0 / i; i += 2; // Line 11 ldd [%fp-24],%f6 ldd [%l0+0],%f4 ldd [%fp-16],%f8 fdivd %f4,%f8,%f4 faddd %f6,%f4,%f6 std %f6,[%fp-24] ldd [%l2+0],%f4 faddd %f8,%f4,%f8 std %f8,[%fp-16] ! 12 sum = sum - 4.0 / i; i += 2; // Line 12 ldd [%l0+0],%f4 fdivd %f4,%f8,%f4 fsubd %f6,%f4,%f4 std %f4,[%fp-24] ldd [%l2+0],%f4 faddd %f8,%f4,%f6 std %f6,[%fp-16] ldd [%l1+0],%f4 fcmped %f6,%f4 fbl .L96 nop ! block 3 .L100: .L98: ! 13 } ! 14 ! 15 printf("After %d iterations sum = %.8f\n", (int)(i-1)/2, sum); // Line 15 sethi %hi(.L101),%o0 or %o0,%lo(.L101),%o0 ldd [%fp-16],%f6 sethi %hi(.L_cseg5),%l0 ldd [%l0+%lo(.L_cseg5)],%f4 faddd %f6,%f4,%f4 fdtoi %f4,%f4 st %f4,[%fp-28] ld [%fp-28],%l2 sra %l2,31,%l0 and %l0,1,%l1 add %l2,%l1,%l0 sra %l0,1,%o1 ldd [%fp-24],%f4 std %f4,[%sp+88] ldx [%sp+88],%g1 srlx %g1,32,%o2 or %g0,%g1,%o3 call printf nop ! 17 return 0; st %g0,[%fp-4] mov 0,%i0 jmp %i7+8 restore ! block 4 .L93: mov 0,%i0 jmp %i7+8 restore .size main,(.-main) .align 8 .section ".rodata1",#alloc .align 4 .L101: .ascii "After %d iterations sum = %.8f\n\000" .type .L101,#object .size .L101,32 .section ".rodata",#alloc .align 8 .L_cseg0: .skip 8 .type .L_cseg0,#object .size .L_cseg0,8 .align 8 .L_cseg1: .word 0x3ff00000,0x0 .type .L_cseg1,#object .size .L_cseg1,8 .align 8 .L_cseg2: .word 0x4187d784,0x0 .type .L_cseg2,#object .size .L_cseg2,8 .align 8 .L_cseg3: .word 0x40100000,0x0 .type .L_cseg3,#object .size .L_cseg3,8 .align 8 .L_cseg4: .word 0x40000000,0x0 .type .L_cseg4,#object .size .L_cseg4,8 .align 8 .L_cseg5: .word 0xbff00000,0x0 .type .L_cseg5,#object .size .L_cseg5,8 .section ".bss",#alloc,#write Bbss.bss: .skip 0 .type Bbss.bss,#object .size Bbss.bss,0 .section ".data",#alloc,#write Ddata.data: .skip 0 .type Ddata.data,#object .size Ddata.data,0 .section ".rodata",#alloc Drodata.rodata: .skip 0 .type Drodata.rodata,#object .size Drodata.rodata,0 .file "pi.c" .ident "@(#)stdio.h 1.84 04/09/28 SMI" .ident "@(#)feature_tests.h 1.25 07/02/02 SMI" .ident "@(#)ccompile.h 1.2 04/11/08 SMI" .ident "@(#)isa_defs.h 1.28 07/02/01 SMI" .ident "@(#)stdio_iso.h 1.8 05/08/16 SMI" .ident "@(#)va_list.h 1.15 04/11/19 SMI" .ident "@(#)stdio_tag.h 1.4 04/09/28 SMI" .ident "@(#)stdio_impl.h 1.15 07/03/05 SMI" .ident "@(#)stdio_c99.h 1.2 04/03/29 SMI" .ident "acomp: Sun C 5.8 2005/10/13" .global __fsr_init_value __fsr_init_value = 0x0 ! Begin sdCreateSection : .debug_info ! Section Info: link_name/strtab=, entsize=0x1, adralign=0x1, flags=0x0 ! Section Data Blocks: ! reloc[0]: knd=2, off=6, siz=4, lab1=.debug_abbrev, lab2=, loff=0 ! reloc[1]: knd=2, off=155, siz=4, lab1=.debug_line, lab2=, loff=0 .section ".debug_info" .byte 0x00,0x00,0x00,0x9c,0x00,0x02 .uaword %section_symbol(".debug_abbrev") .byte 0x04,0x01,0x00,0x00,0x00,0x00,0x00,0x00 .byte 0x00,0x04,0x70,0x69,0x2e,0x63,0x00,0x0c .byte 0x2f,0x68,0x6f,0x6d,0x65,0x2f,0x66,0x61 .byte 0x63,0x75,0x6c,0x74,0x79,0x2f,0x6b,0x6f .byte 0x70,0x70,0x65,0x6c,0x2f,0x74,0x65,0x61 .byte 0x63,0x68,0x2f,0x63,0x61,0x63,0x6f,0x6d .byte 0x2f,0x6f,0x70,0x74,0x00,0x20,0x2f,0x6f .byte 0x70,0x74,0x2f,0x53,0x55,0x4e,0x57,0x73 .byte 0x70,0x72,0x6f,0x2f,0x70,0x72,0x6f,0x64 .byte 0x2f,0x62,0x69,0x6e,0x2f,0x63,0x63,0x20 .byte 0x2d,0x53,0x20,0x20,0x70,0x69,0x2e,0x63 .byte 0x00,0x58,0x61,0x3b,0x52,0x3d,0x53,0x75 .byte 0x6e,0x20,0x43,0x20,0x35,0x2e,0x38,0x20 .byte 0x32,0x30,0x30,0x35,0x2f,0x31,0x30,0x2f .byte 0x31,0x33,0x3b,0x62,0x61,0x63,0x6b,0x65 .byte 0x6e,0x64,0x3b,0x72,0x61,0x77,0x3b,0x63 .byte 0x64,0x3b,0x00,0x44,0x42,0x47,0x5f,0x47 .byte 0x45,0x4e,0x20,0x35,0x2e,0x30,0x2e,0x38 .byte 0x00 .uaword %section_symbol(".debug_line") .byte 0x00 ! End sdCreateSection ! Begin sdCreateSection : .debug_line ! Section Info: link_name/strtab=, entsize=0x1, adralign=0x1, flags=0x0 ! Section Data Blocks: .section ".debug_line" .byte 0x00,0x00,0x00,0x43,0x00,0x02,0x00,0x00 .byte 0x00,0x3d,0x04,0x00,0xff,0x04,0x0a,0x00 .byte 0x01,0x01,0x01,0x01,0x00,0x00,0x00,0x01 .byte 0x2f,0x68,0x6f,0x6d,0x65,0x2f,0x66,0x61 .byte 0x63,0x75,0x6c,0x74,0x79,0x2f,0x6b,0x6f .byte 0x70,0x70,0x65,0x6c,0x2f,0x74,0x65,0x61 .byte 0x63,0x68,0x2f,0x63,0x61,0x63,0x6f,0x6d .byte 0x2f,0x6f,0x70,0x74,0x00,0x00,0x70,0x69 .byte 0x2e,0x63,0x00,0x01,0x00,0x00,0x00 ! End sdCreateSection ! Begin sdCreateSection : .debug_abbrev ! Section Info: link_name/strtab=, entsize=0x1, adralign=0x1, flags=0x0 ! Section Data Blocks: .section ".debug_abbrev" .byte 0x01,0x11,0x00,0x11,0x01,0x12,0x01,0x03 .byte 0x08,0x13,0x0b,0x1b,0x08,0x85,0x44,0x08 .byte 0x87,0x44,0x08,0x25,0x08,0x10,0x06,0x00 .byte 0x00,0x00 ! End sdCreateSection