| .file 1 "../bn_mulw.c" |
| .set nobopt |
| .option pic2 |
| |
| # GNU C 2.6.3 [AL 1.1, MM 40] SGI running IRIX 5.0 compiled by GNU C |
| |
| # Cc1 defaults: |
| # -mabicalls |
| |
| # Cc1 arguments (-G value = 0, Cpu = 3000, ISA = 1): |
| # -quiet -dumpbase -O2 -o |
| |
| gcc2_compiled.: |
| __gnu_compiled_c: |
| .rdata |
| |
| .byte 0x24,0x52,0x65,0x76,0x69,0x73,0x69,0x6f |
| .byte 0x6e,0x3a,0x20,0x31,0x2e,0x34,0x39,0x20 |
| .byte 0x24,0x0 |
| |
| .byte 0x24,0x52,0x65,0x76,0x69,0x73,0x69,0x6f |
| .byte 0x6e,0x3a,0x20,0x31,0x2e,0x33,0x34,0x20 |
| .byte 0x24,0x0 |
| |
| .byte 0x24,0x52,0x65,0x76,0x69,0x73,0x69,0x6f |
| .byte 0x6e,0x3a,0x20,0x31,0x2e,0x35,0x20,0x24 |
| .byte 0x0 |
| |
| .byte 0x24,0x52,0x65,0x76,0x69,0x73,0x69,0x6f |
| .byte 0x6e,0x3a,0x20,0x31,0x2e,0x38,0x20,0x24 |
| .byte 0x0 |
| |
| .byte 0x24,0x52,0x65,0x76,0x69,0x73,0x69,0x6f |
| .byte 0x6e,0x3a,0x20,0x31,0x2e,0x32,0x33,0x20 |
| .byte 0x24,0x0 |
| |
| .byte 0x24,0x52,0x65,0x76,0x69,0x73,0x69,0x6f |
| .byte 0x6e,0x3a,0x20,0x31,0x2e,0x37,0x38,0x20 |
| .byte 0x24,0x0 |
| |
| .byte 0x24,0x52,0x65,0x76,0x69,0x73,0x69,0x6f |
| .byte 0x6e,0x3a,0x20,0x33,0x2e,0x37,0x30,0x20 |
| .byte 0x24,0x0 |
| |
| .byte 0x24,0x52,0x65,0x76,0x69,0x73,0x69,0x6f |
| .byte 0x6e,0x3a,0x20,0x31,0x2e,0x32,0x20,0x24 |
| .byte 0x0 |
| |
| .byte 0x24,0x52,0x65,0x76,0x69,0x73,0x69,0x6f |
| .byte 0x6e,0x3a,0x20,0x31,0x2e,0x34,0x20,0x24 |
| .byte 0x0 |
| |
| .byte 0x24,0x52,0x65,0x76,0x69,0x73,0x69,0x6f |
| .byte 0x6e,0x3a,0x20,0x31,0x2e,0x38,0x20,0x24 |
| .byte 0x0 |
| .text |
| .align 2 |
| .globl bn_mul_add_words |
| .ent bn_mul_add_words |
| bn_mul_add_words: |
| .frame $sp,0,$31 # vars= 0, regs= 0/0, args= 0, extra= 0 |
| .mask 0x00000000,0 |
| .fmask 0x00000000,0 |
| .set noreorder |
| .cpload $25 |
| .set reorder |
| move $12,$4 |
| move $14,$5 |
| move $9,$6 |
| move $13,$7 |
| move $8,$0 |
| addu $10,$12,12 |
| addu $11,$14,12 |
| $L2: |
| lw $6,0($14) |
| #nop |
| multu $13,$6 |
| mfhi $6 |
| mflo $7 |
| #nop |
| move $5,$8 |
| move $4,$0 |
| lw $3,0($12) |
| addu $9,$9,-1 |
| move $2,$0 |
| addu $7,$7,$3 |
| sltu $8,$7,$3 |
| addu $6,$6,$2 |
| addu $6,$6,$8 |
| addu $7,$7,$5 |
| sltu $2,$7,$5 |
| addu $6,$6,$4 |
| addu $6,$6,$2 |
| srl $3,$6,0 |
| move $2,$0 |
| move $8,$3 |
| .set noreorder |
| .set nomacro |
| beq $9,$0,$L3 |
| sw $7,0($12) |
| .set macro |
| .set reorder |
| |
| lw $6,-8($11) |
| #nop |
| multu $13,$6 |
| mfhi $6 |
| mflo $7 |
| #nop |
| move $5,$8 |
| move $4,$0 |
| lw $3,-8($10) |
| addu $9,$9,-1 |
| move $2,$0 |
| addu $7,$7,$3 |
| sltu $8,$7,$3 |
| addu $6,$6,$2 |
| addu $6,$6,$8 |
| addu $7,$7,$5 |
| sltu $2,$7,$5 |
| addu $6,$6,$4 |
| addu $6,$6,$2 |
| srl $3,$6,0 |
| move $2,$0 |
| move $8,$3 |
| .set noreorder |
| .set nomacro |
| beq $9,$0,$L3 |
| sw $7,-8($10) |
| .set macro |
| .set reorder |
| |
| lw $6,-4($11) |
| #nop |
| multu $13,$6 |
| mfhi $6 |
| mflo $7 |
| #nop |
| move $5,$8 |
| move $4,$0 |
| lw $3,-4($10) |
| addu $9,$9,-1 |
| move $2,$0 |
| addu $7,$7,$3 |
| sltu $8,$7,$3 |
| addu $6,$6,$2 |
| addu $6,$6,$8 |
| addu $7,$7,$5 |
| sltu $2,$7,$5 |
| addu $6,$6,$4 |
| addu $6,$6,$2 |
| srl $3,$6,0 |
| move $2,$0 |
| move $8,$3 |
| .set noreorder |
| .set nomacro |
| beq $9,$0,$L3 |
| sw $7,-4($10) |
| .set macro |
| .set reorder |
| |
| lw $6,0($11) |
| #nop |
| multu $13,$6 |
| mfhi $6 |
| mflo $7 |
| #nop |
| move $5,$8 |
| move $4,$0 |
| lw $3,0($10) |
| addu $9,$9,-1 |
| move $2,$0 |
| addu $7,$7,$3 |
| sltu $8,$7,$3 |
| addu $6,$6,$2 |
| addu $6,$6,$8 |
| addu $7,$7,$5 |
| sltu $2,$7,$5 |
| addu $6,$6,$4 |
| addu $6,$6,$2 |
| srl $3,$6,0 |
| move $2,$0 |
| move $8,$3 |
| .set noreorder |
| .set nomacro |
| beq $9,$0,$L3 |
| sw $7,0($10) |
| .set macro |
| .set reorder |
| |
| addu $11,$11,16 |
| addu $14,$14,16 |
| addu $10,$10,16 |
| .set noreorder |
| .set nomacro |
| j $L2 |
| addu $12,$12,16 |
| .set macro |
| .set reorder |
| |
| $L3: |
| .set noreorder |
| .set nomacro |
| j $31 |
| move $2,$8 |
| .set macro |
| .set reorder |
| |
| .end bn_mul_add_words |
| .align 2 |
| .globl bn_mul_words |
| .ent bn_mul_words |
| bn_mul_words: |
| .frame $sp,0,$31 # vars= 0, regs= 0/0, args= 0, extra= 0 |
| .mask 0x00000000,0 |
| .fmask 0x00000000,0 |
| .set noreorder |
| .cpload $25 |
| .set reorder |
| move $11,$4 |
| move $12,$5 |
| move $8,$6 |
| move $6,$0 |
| addu $10,$11,12 |
| addu $9,$12,12 |
| $L10: |
| lw $4,0($12) |
| #nop |
| multu $7,$4 |
| mfhi $4 |
| mflo $5 |
| #nop |
| move $3,$6 |
| move $2,$0 |
| addu $8,$8,-1 |
| addu $5,$5,$3 |
| sltu $6,$5,$3 |
| addu $4,$4,$2 |
| addu $4,$4,$6 |
| srl $3,$4,0 |
| move $2,$0 |
| move $6,$3 |
| .set noreorder |
| .set nomacro |
| beq $8,$0,$L11 |
| sw $5,0($11) |
| .set macro |
| .set reorder |
| |
| lw $4,-8($9) |
| #nop |
| multu $7,$4 |
| mfhi $4 |
| mflo $5 |
| #nop |
| move $3,$6 |
| move $2,$0 |
| addu $8,$8,-1 |
| addu $5,$5,$3 |
| sltu $6,$5,$3 |
| addu $4,$4,$2 |
| addu $4,$4,$6 |
| srl $3,$4,0 |
| move $2,$0 |
| move $6,$3 |
| .set noreorder |
| .set nomacro |
| beq $8,$0,$L11 |
| sw $5,-8($10) |
| .set macro |
| .set reorder |
| |
| lw $4,-4($9) |
| #nop |
| multu $7,$4 |
| mfhi $4 |
| mflo $5 |
| #nop |
| move $3,$6 |
| move $2,$0 |
| addu $8,$8,-1 |
| addu $5,$5,$3 |
| sltu $6,$5,$3 |
| addu $4,$4,$2 |
| addu $4,$4,$6 |
| srl $3,$4,0 |
| move $2,$0 |
| move $6,$3 |
| .set noreorder |
| .set nomacro |
| beq $8,$0,$L11 |
| sw $5,-4($10) |
| .set macro |
| .set reorder |
| |
| lw $4,0($9) |
| #nop |
| multu $7,$4 |
| mfhi $4 |
| mflo $5 |
| #nop |
| move $3,$6 |
| move $2,$0 |
| addu $8,$8,-1 |
| addu $5,$5,$3 |
| sltu $6,$5,$3 |
| addu $4,$4,$2 |
| addu $4,$4,$6 |
| srl $3,$4,0 |
| move $2,$0 |
| move $6,$3 |
| .set noreorder |
| .set nomacro |
| beq $8,$0,$L11 |
| sw $5,0($10) |
| .set macro |
| .set reorder |
| |
| addu $9,$9,16 |
| addu $12,$12,16 |
| addu $10,$10,16 |
| .set noreorder |
| .set nomacro |
| j $L10 |
| addu $11,$11,16 |
| .set macro |
| .set reorder |
| |
| $L11: |
| .set noreorder |
| .set nomacro |
| j $31 |
| move $2,$6 |
| .set macro |
| .set reorder |
| |
| .end bn_mul_words |
| .align 2 |
| .globl bn_sqr_words |
| .ent bn_sqr_words |
| bn_sqr_words: |
| .frame $sp,0,$31 # vars= 0, regs= 0/0, args= 0, extra= 0 |
| .mask 0x00000000,0 |
| .fmask 0x00000000,0 |
| .set noreorder |
| .cpload $25 |
| .set reorder |
| move $9,$4 |
| addu $7,$9,28 |
| addu $8,$5,12 |
| $L18: |
| lw $2,0($5) |
| #nop |
| multu $2,$2 |
| mfhi $2 |
| mflo $3 |
| #nop |
| addu $6,$6,-1 |
| sw $3,0($9) |
| srl $3,$2,0 |
| move $2,$0 |
| .set noreorder |
| .set nomacro |
| beq $6,$0,$L19 |
| sw $3,-24($7) |
| .set macro |
| .set reorder |
| |
| lw $2,-8($8) |
| #nop |
| multu $2,$2 |
| mfhi $2 |
| mflo $3 |
| #nop |
| addu $6,$6,-1 |
| sw $3,-20($7) |
| srl $3,$2,0 |
| move $2,$0 |
| .set noreorder |
| .set nomacro |
| beq $6,$0,$L19 |
| sw $3,-16($7) |
| .set macro |
| .set reorder |
| |
| lw $2,-4($8) |
| #nop |
| multu $2,$2 |
| mfhi $2 |
| mflo $3 |
| #nop |
| addu $6,$6,-1 |
| sw $3,-12($7) |
| srl $3,$2,0 |
| move $2,$0 |
| .set noreorder |
| .set nomacro |
| beq $6,$0,$L19 |
| sw $3,-8($7) |
| .set macro |
| .set reorder |
| |
| lw $2,0($8) |
| #nop |
| multu $2,$2 |
| mfhi $2 |
| mflo $3 |
| #nop |
| addu $6,$6,-1 |
| sw $3,-4($7) |
| srl $3,$2,0 |
| move $2,$0 |
| .set noreorder |
| .set nomacro |
| beq $6,$0,$L19 |
| sw $3,0($7) |
| .set macro |
| .set reorder |
| |
| addu $8,$8,16 |
| addu $5,$5,16 |
| addu $7,$7,32 |
| .set noreorder |
| .set nomacro |
| j $L18 |
| addu $9,$9,32 |
| .set macro |
| .set reorder |
| |
| $L19: |
| j $31 |
| .end bn_sqr_words |
| .rdata |
| .align 2 |
| $LC0: |
| |
| .byte 0x44,0x69,0x76,0x69,0x73,0x69,0x6f,0x6e |
| .byte 0x20,0x77,0x6f,0x75,0x6c,0x64,0x20,0x6f |
| .byte 0x76,0x65,0x72,0x66,0x6c,0x6f,0x77,0xa |
| .byte 0x0 |
| .text |
| .align 2 |
| .globl bn_div64 |
| .ent bn_div64 |
| bn_div64: |
| .frame $sp,56,$31 # vars= 0, regs= 7/0, args= 16, extra= 8 |
| .mask 0x901f0000,-8 |
| .fmask 0x00000000,0 |
| .set noreorder |
| .cpload $25 |
| .set reorder |
| subu $sp,$sp,56 |
| .cprestore 16 |
| sw $16,24($sp) |
| move $16,$4 |
| sw $17,28($sp) |
| move $17,$5 |
| sw $18,32($sp) |
| move $18,$6 |
| sw $20,40($sp) |
| move $20,$0 |
| sw $19,36($sp) |
| li $19,0x00000002 # 2 |
| sw $31,48($sp) |
| .set noreorder |
| .set nomacro |
| bne $18,$0,$L26 |
| sw $28,44($sp) |
| .set macro |
| .set reorder |
| |
| .set noreorder |
| .set nomacro |
| j $L43 |
| li $2,-1 # 0xffffffff |
| .set macro |
| .set reorder |
| |
| $L26: |
| move $4,$18 |
| jal BN_num_bits_word |
| move $4,$2 |
| li $2,0x00000020 # 32 |
| .set noreorder |
| .set nomacro |
| beq $4,$2,$L27 |
| li $2,0x00000001 # 1 |
| .set macro |
| .set reorder |
| |
| sll $2,$2,$4 |
| sltu $2,$2,$16 |
| .set noreorder |
| .set nomacro |
| beq $2,$0,$L44 |
| li $5,0x00000020 # 32 |
| .set macro |
| .set reorder |
| |
| la $4,__iob+32 |
| la $5,$LC0 |
| jal fprintf |
| jal abort |
| $L27: |
| li $5,0x00000020 # 32 |
| $L44: |
| sltu $2,$16,$18 |
| .set noreorder |
| .set nomacro |
| bne $2,$0,$L28 |
| subu $4,$5,$4 |
| .set macro |
| .set reorder |
| |
| subu $16,$16,$18 |
| $L28: |
| .set noreorder |
| .set nomacro |
| beq $4,$0,$L29 |
| li $10,-65536 # 0xffff0000 |
| .set macro |
| .set reorder |
| |
| sll $18,$18,$4 |
| sll $3,$16,$4 |
| subu $2,$5,$4 |
| srl $2,$17,$2 |
| or $16,$3,$2 |
| sll $17,$17,$4 |
| $L29: |
| srl $7,$18,16 |
| andi $9,$18,0xffff |
| $L30: |
| srl $2,$16,16 |
| .set noreorder |
| .set nomacro |
| beq $2,$7,$L34 |
| li $6,0x0000ffff # 65535 |
| .set macro |
| .set reorder |
| |
| divu $6,$16,$7 |
| $L34: |
| mult $6,$9 |
| mflo $5 |
| #nop |
| #nop |
| mult $6,$7 |
| and $2,$17,$10 |
| srl $8,$2,16 |
| mflo $4 |
| $L35: |
| subu $3,$16,$4 |
| and $2,$3,$10 |
| .set noreorder |
| .set nomacro |
| bne $2,$0,$L36 |
| sll $2,$3,16 |
| .set macro |
| .set reorder |
| |
| addu $2,$2,$8 |
| sltu $2,$2,$5 |
| .set noreorder |
| .set nomacro |
| beq $2,$0,$L36 |
| subu $5,$5,$9 |
| .set macro |
| .set reorder |
| |
| subu $4,$4,$7 |
| .set noreorder |
| .set nomacro |
| j $L35 |
| addu $6,$6,-1 |
| .set macro |
| .set reorder |
| |
| $L36: |
| mult $6,$7 |
| mflo $5 |
| #nop |
| #nop |
| mult $6,$9 |
| mflo $4 |
| #nop |
| #nop |
| srl $3,$4,16 |
| sll $2,$4,16 |
| and $4,$2,$10 |
| sltu $2,$17,$4 |
| .set noreorder |
| .set nomacro |
| beq $2,$0,$L40 |
| addu $5,$5,$3 |
| .set macro |
| .set reorder |
| |
| addu $5,$5,1 |
| $L40: |
| sltu $2,$16,$5 |
| .set noreorder |
| .set nomacro |
| beq $2,$0,$L41 |
| subu $17,$17,$4 |
| .set macro |
| .set reorder |
| |
| addu $16,$16,$18 |
| addu $6,$6,-1 |
| $L41: |
| addu $19,$19,-1 |
| .set noreorder |
| .set nomacro |
| beq $19,$0,$L31 |
| subu $16,$16,$5 |
| .set macro |
| .set reorder |
| |
| sll $20,$6,16 |
| sll $3,$16,16 |
| srl $2,$17,16 |
| or $16,$3,$2 |
| .set noreorder |
| .set nomacro |
| j $L30 |
| sll $17,$17,16 |
| .set macro |
| .set reorder |
| |
| $L31: |
| or $2,$20,$6 |
| $L43: |
| lw $31,48($sp) |
| lw $20,40($sp) |
| lw $19,36($sp) |
| lw $18,32($sp) |
| lw $17,28($sp) |
| lw $16,24($sp) |
| addu $sp,$sp,56 |
| j $31 |
| .end bn_div64 |
| |
| .globl abort .text |
| .globl fprintf .text |
| .globl BN_num_bits_word .text |