.file "zip.c" # rs6000/powerpc options: -msdata=data -G 8 # GNU C version 2.7-97r2 (powerpc-eabi) compiled by GNU C version 2.7-97r2. # options passed: -O # options enabled: -fdefer-pop -fomit-frame-pointer -fthread-jumps # -fpeephole -ffunction-cse -finline -fkeep-static-consts # -fpcc-struct-return -fsjlj-exceptions -fcommon -fverbose-asm # -fgnu-linker -mpowerpc -mnew-mnemonics -meabi -mcall-sysv -msdata=data gcc2_compiled.: .section ".text" .align 2 .globl zip .type zip,@function zip: stwu 1,-32(1) mflr 0 stw 29,20(1) stw 30,24(1) stw 31,28(1) stw 0,36(1) mr 30,4 li 31,0 sth 31,8(1) sth 31,10(1) addis 9,0,ifd@ha stw 3,ifd@l(9) addis 9,0,ofd@ha stw 30,ofd@l(9) addis 11,0,outcnt@ha stw 31,outcnt@l(11) addis 9,0,method@ha li 0,8 stw 0,method@l(9) addis 9,0,outbuf@ha addi 9,9,outbuf@l li 0,31 stbx 0,9,31 li 0,1 stw 0,outcnt@l(11) addis 11,0,outbuf@ha addi 11,11,outbuf@l addis 10,0,outcnt@ha lwz 0,outcnt@l(10) li 9,-117 stbx 9,11,0 addic 0,0,1 stw 0,outcnt@l(10) cmpwi 1,0,16384 bc 4,6,.L3 bl flush_outbuf .L3: addis 11,0,outbuf@ha addi 11,11,outbuf@l addis 10,0,outcnt@ha lwz 0,outcnt@l(10) li 9,8 stbx 9,11,0 addic 0,0,1 stw 0,outcnt@l(10) cmpwi 1,0,16384 bc 4,6,.L4 bl flush_outbuf .L4: addis 9,0,save_orig_name@ha lwz 0,save_orig_name@l(9) cmpwi 1,0,0 bc 12,6,.L5 ori 31,31,8 .L5: addis 9,0,outbuf@ha addi 9,9,outbuf@l addis 11,0,outcnt@ha lwz 0,outcnt@l(11) stbx 31,9,0 addic 0,0,1 stw 0,outcnt@l(11) cmpwi 1,0,16384 bc 4,6,.L6 bl flush_outbuf .L6: addis 8,0,outcnt@ha lwz 9,outcnt@l(8) cmplwi 1,9,16381 bc 12,5,.L7 addis 10,0,outbuf@ha addi 10,10,outbuf@l addis 11,0,time_stamp@ha addi 11,11,time_stamp@l lbz 0,3(11) stbx 0,10,9 addi 9,9,1 stw 9,outcnt@l(8) lhz 0,2(11) srwi 0,0,8 stbx 0,10,9 addi 9,9,1 stw 9,outcnt@l(8) b .L8 .L7: addis 11,0,outbuf@ha addi 11,11,outbuf@l addis 10,0,outcnt@ha lwz 0,outcnt@l(10) addis 9,0,time_stamp+3@ha lbz 9,time_stamp+3@l(9) stbx 9,11,0 addic 0,0,1 stw 0,outcnt@l(10) cmpwi 1,0,16384 bc 4,6,.L9 bl flush_outbuf .L9: addis 10,0,outbuf@ha addi 10,10,outbuf@l addis 8,0,outcnt@ha lwz 11,outcnt@l(8) addis 9,0,time_stamp+2@ha lhz 0,time_stamp+2@l(9) srwi 0,0,8 stbx 0,10,11 addi 11,11,1 stw 11,outcnt@l(8) cmpwi 1,11,16384 bc 4,6,.L8 bl flush_outbuf .L8: addis 8,0,outcnt@ha lwz 9,outcnt@l(8) cmplwi 1,9,16381 bc 12,5,.L11 addis 11,0,outbuf@ha addi 11,11,outbuf@l addis 10,0,time_stamp@ha lwz 0,time_stamp@l(10) srwi 0,0,16 stbx 0,11,9 addi 9,9,1 stw 9,outcnt@l(8) lwz 0,time_stamp@l(10) srwi 0,0,24 stbx 0,11,9 addi 9,9,1 stw 9,outcnt@l(8) b .L12 .L11: addis 11,0,outbuf@ha addi 11,11,outbuf@l addis 10,0,outcnt@ha lwz 0,outcnt@l(10) addis 9,0,time_stamp@ha lhz 9,time_stamp@l(9) stbx 9,11,0 addic 0,0,1 stw 0,outcnt@l(10) cmpwi 1,0,16384 bc 4,6,.L13 bl flush_outbuf .L13: addis 10,0,outbuf@ha addi 10,10,outbuf@l addis 8,0,outcnt@ha lwz 11,outcnt@l(8) addis 9,0,time_stamp@ha lhz 0,time_stamp@l(9) srwi 0,0,8 stbx 0,10,11 addi 11,11,1 stw 11,outcnt@l(8) cmpwi 1,11,16384 bc 4,6,.L12 bl flush_outbuf .L12: li 3,0 mr 4,3 bl updcrc addis 9,0,crc@ha stw 3,crc@l(9) mr 3,30 bl bi_init addi 3,1,8 addis 4,0,method@ha addi 4,4,method@l bl ct_init addis 9,0,level@ha lwz 3,level@l(9) addi 4,1,10 bl lm_init addis 11,0,outbuf@ha addi 11,11,outbuf@l addis 10,0,outcnt@ha lwz 0,outcnt@l(10) lbz 9,11(1) stbx 9,11,0 addic 0,0,1 stw 0,outcnt@l(10) cmpwi 1,0,16384 bc 4,6,.L15 bl flush_outbuf .L15: addis 11,0,outbuf@ha addi 11,11,outbuf@l addis 10,0,outcnt@ha lwz 0,outcnt@l(10) li 9,3 stbx 9,11,0 addic 0,0,1 stw 0,outcnt@l(10) cmpwi 1,0,16384 bc 4,6,.L16 bl flush_outbuf .L16: addis 9,0,save_orig_name@ha lwz 0,save_orig_name@l(9) cmpwi 1,0,0 bc 12,6,.L17 addis 3,0,ifname@ha addi 3,3,ifname@l bl basename mr 31,3 addis 9,0,outbuf@ha addi 29,9,outbuf@l addis 30,0,outcnt@ha .L18: lwz 0,outcnt@l(30) lbz 9,0(31) stbx 9,29,0 addic 0,0,1 stw 0,outcnt@l(30) cmpwi 1,0,16384 bc 4,6,.L20 bl flush_outbuf .L20: lbz 0,0(31) addi 31,31,1 cmpwi 1,0,0 bc 4,6,.L18 .L17: addis 9,0,header_bytes@ha addis 31,0,outcnt@ha lwz 0,outcnt@l(31) stw 0,header_bytes@l(9) bl deflate lwz 9,outcnt@l(31) cmplwi 1,9,16381 bc 12,5,.L23 addis 10,0,outbuf@ha addi 10,10,outbuf@l addis 11,0,crc@ha addi 11,11,crc@l lbz 0,3(11) stbx 0,10,9 addi 9,9,1 stw 9,outcnt@l(31) lhz 0,2(11) srwi 0,0,8 stbx 0,10,9 addi 9,9,1 stw 9,outcnt@l(31) b .L24 .L23: addis 11,0,outbuf@ha addi 11,11,outbuf@l addis 10,0,outcnt@ha lwz 0,outcnt@l(10) addis 9,0,crc+3@ha lbz 9,crc+3@l(9) stbx 9,11,0 addic 0,0,1 stw 0,outcnt@l(10) cmpwi 1,0,16384 bc 4,6,.L25 bl flush_outbuf .L25: addis 10,0,outbuf@ha addi 10,10,outbuf@l addis 8,0,outcnt@ha lwz 11,outcnt@l(8) addis 9,0,crc+2@ha lhz 0,crc+2@l(9) srwi 0,0,8 stbx 0,10,11 addi 11,11,1 stw 11,outcnt@l(8) cmpwi 1,11,16384 bc 4,6,.L24 bl flush_outbuf .L24: addis 8,0,outcnt@ha lwz 9,outcnt@l(8) cmplwi 1,9,16381 bc 12,5,.L27 addis 11,0,outbuf@ha addi 11,11,outbuf@l addis 10,0,crc@ha lwz 0,crc@l(10) srwi 0,0,16 stbx 0,11,9 addi 9,9,1 stw 9,outcnt@l(8) lwz 0,crc@l(10) srwi 0,0,24 stbx 0,11,9 addi 9,9,1 stw 9,outcnt@l(8) b .L28 .L27: addis 11,0,outbuf@ha addi 11,11,outbuf@l addis 10,0,outcnt@ha lwz 0,outcnt@l(10) addis 9,0,crc@ha lhz 9,crc@l(9) stbx 9,11,0 addic 0,0,1 stw 0,outcnt@l(10) cmpwi 1,0,16384 bc 4,6,.L29 bl flush_outbuf .L29: addis 10,0,outbuf@ha addi 10,10,outbuf@l addis 8,0,outcnt@ha lwz 11,outcnt@l(8) addis 9,0,crc@ha lhz 0,crc@l(9) srwi 0,0,8 stbx 0,10,11 addi 11,11,1 stw 11,outcnt@l(8) cmpwi 1,11,16384 bc 4,6,.L28 bl flush_outbuf .L28: addis 8,0,outcnt@ha lwz 9,outcnt@l(8) cmplwi 1,9,16381 bc 12,5,.L31 addis 10,0,outbuf@ha addi 10,10,outbuf@l addis 11,0,bytes_in@ha addi 11,11,bytes_in@l lbz 0,3(11) stbx 0,10,9 addi 9,9,1 stw 9,outcnt@l(8) lhz 0,2(11) srwi 0,0,8 stbx 0,10,9 addi 9,9,1 stw 9,outcnt@l(8) b .L32 .L31: addis 11,0,outbuf@ha addi 11,11,outbuf@l addis 10,0,outcnt@ha lwz 0,outcnt@l(10) addis 9,0,bytes_in+3@ha lbz 9,bytes_in+3@l(9) stbx 9,11,0 addic 0,0,1 stw 0,outcnt@l(10) cmpwi 1,0,16384 bc 4,6,.L33 bl flush_outbuf .L33: addis 10,0,outbuf@ha addi 10,10,outbuf@l addis 8,0,outcnt@ha lwz 11,outcnt@l(8) addis 9,0,bytes_in+2@ha lhz 0,bytes_in+2@l(9) srwi 0,0,8 stbx 0,10,11 addi 11,11,1 stw 11,outcnt@l(8) cmpwi 1,11,16384 bc 4,6,.L32 bl flush_outbuf .L32: addis 8,0,outcnt@ha lwz 9,outcnt@l(8) cmplwi 1,9,16381 bc 12,5,.L35 addis 11,0,outbuf@ha addi 11,11,outbuf@l addis 10,0,bytes_in@ha lwz 0,bytes_in@l(10) srwi 0,0,16 stbx 0,11,9 addi 9,9,1 stw 9,outcnt@l(8) lwz 0,bytes_in@l(10) srwi 0,0,24 stbx 0,11,9 addi 9,9,1 stw 9,outcnt@l(8) b .L36 .L35: addis 11,0,outbuf@ha addi 11,11,outbuf@l addis 10,0,outcnt@ha lwz 0,outcnt@l(10) addis 9,0,bytes_in@ha lhz 9,bytes_in@l(9) stbx 9,11,0 addic 0,0,1 stw 0,outcnt@l(10) cmpwi 1,0,16384 bc 4,6,.L37 bl flush_outbuf .L37: addis 10,0,outbuf@ha addi 10,10,outbuf@l addis 8,0,outcnt@ha lwz 11,outcnt@l(8) addis 9,0,bytes_in@ha lhz 0,bytes_in@l(9) srwi 0,0,8 stbx 0,10,11 addi 11,11,1 stw 11,outcnt@l(8) cmpwi 1,11,16384 bc 4,6,.L36 bl flush_outbuf .L36: addis 9,0,header_bytes@ha lwz 0,header_bytes@l(9) addic 0,0,8 stw 0,header_bytes@l(9) bl flush_outbuf li 3,0 lwz 0,36(1) mtlr 0 lwz 29,20(1) lwz 30,24(1) lwz 31,28(1) addi 1,1,32 blr .Lfe1: .size zip,.Lfe1-zip .align 2 .globl file_read .type file_read,@function file_read: stwu 1,-16(1) mflr 0 stw 30,8(1) stw 31,12(1) stw 0,20(1) mr 30,3 mr 5,4 addis 9,0,ifd@ha lwz 3,ifd@l(9) mr 4,30 bl read mr 31,3 subfic 9,31,-1 subfic 0,9,0 adde 9,0,9 subfic 11,31,0 adde 0,11,31 or. 11,9,0 bc 4,2,.L41 mr 3,30 mr 4,31 bl updcrc addis 9,0,crc@ha stw 3,crc@l(9) addis 9,0,bytes_in@ha lwz 0,bytes_in@l(9) add 0,31,0 stw 0,bytes_in@l(9) mr 3,31 .L41: lwz 0,20(1) mtlr 0 lwz 30,8(1) lwz 31,12(1) addi 1,1,16 blr .Lfe2: .size file_read,.Lfe2-file_read .comm header_bytes,4,4 .section ".sdata","aw" .align 2 crc: .space 4 .size crc,4 .ident "GCC: (GNU) 2.7-97r2"