]> git.wh0rd.org - ICEs.git/blobdiff - 555418/mips.s
more
[ICEs.git] / 555418 / mips.s
diff --git a/555418/mips.s b/555418/mips.s
new file mode 100644 (file)
index 0000000..ae86312
--- /dev/null
@@ -0,0 +1,205 @@
+       .file   1 "mips.c"
+       .section .mdebug.abi64
+       .previous
+       .gnu_attribute 4, 1
+       .abicalls
+       .text
+       .align  2
+       .set    nomips16
+       .ent    engine_getbits
+       .type   engine_getbits, @function
+engine_getbits:
+       .frame  $fp,32,$31              # vars= 16, regs= 1/0, args= 0, gp= 0
+       .mask   0x40000000,-8
+       .fmask  0x00000000,0
+       .set    noreorder
+       .set    nomacro
+       daddiu  $sp,$sp,-32
+       sd      $fp,24($sp)
+       move    $fp,$sp
+       move    $3,$5
+       move    $2,$6
+       sll     $4,$4,0
+       sw      $4,0($fp)
+       sll     $3,$3,0
+       sw      $3,4($fp)
+       sll     $2,$2,0
+       sw      $2,8($fp)
+       lw      $3,0($fp)
+       lw      $2,4($fp)
+       srl     $2,$3,$2
+       move    $3,$2
+       li      $4,1                    # 0x1
+       lw      $2,8($fp)
+       sll     $2,$4,$2
+       addiu   $2,$2,-1
+       and     $2,$3,$2
+       move    $sp,$fp
+       ld      $fp,24($sp)
+       daddiu  $sp,$sp,32
+       j       $31
+       nop
+
+       .set    macro
+       .set    reorder
+       .end    engine_getbits
+       .size   engine_getbits, .-engine_getbits
+       .align  2
+       .set    nomips16
+       .ent    engine_decode
+       .type   engine_decode, @function
+engine_decode:
+       .frame  $fp,96,$31              # vars= 64, regs= 3/0, args= 0, gp= 0
+       .mask   0xd0000000,-8
+       .fmask  0x00000000,0
+       .set    noreorder
+       .set    nomacro
+       daddiu  $sp,$sp,-96
+       sd      $31,88($sp)
+       sd      $fp,80($sp)
+       sd      $28,72($sp)
+       move    $fp,$sp
+       lui     $28,%hi(%neg(%gp_rel(engine_decode)))
+       daddu   $28,$28,$25
+       daddiu  $28,$28,%lo(%neg(%gp_rel(engine_decode)))
+       sd      $4,32($fp)
+       sd      $5,40($fp)
+       move    $2,$6
+       sll     $2,$2,0
+       sw      $2,48($fp)
+       lw      $2,48($fp)
+       move    $4,$2
+       li      $5,26                   # 0x1a
+       li      $6,6                    # 0x6
+       ld      $2,%got_page(engine_getbits)($28)
+       daddiu  $2,$2,%got_ofst(engine_getbits)
+       move    $25,$2
+       .reloc  1f,R_MIPS_JALR,engine_getbits
+1:     jalr    $25
+       nop
+
+       sw      $2,0($fp)
+       lw      $2,0($fp)
+       dsll    $2,$2,3
+       ld      $3,32($fp)
+       daddu   $2,$3,$2
+       ld      $2,0($2)
+       sd      $2,8($fp)
+       lw      $2,48($fp)
+       move    $4,$2
+       move    $5,$0
+       li      $6,6                    # 0x6
+       ld      $2,%got_page(engine_getbits)($28)
+       daddiu  $2,$2,%got_ofst(engine_getbits)
+       move    $25,$2
+       .reloc  1f,R_MIPS_JALR,engine_getbits
+1:     jalr    $25
+       nop
+
+       dsll    $2,$2,32
+       dsrl    $2,$2,32
+       dsll    $2,$2,3
+       ld      $3,40($fp)
+       daddu   $2,$3,$2
+       ld      $2,0($2)
+       sd      $2,16($fp)
+       lw      $2,0($fp)
+       bne     $2,$0,.L4
+       nop
+
+       ld      $2,16($fp)
+       b       .L5
+       nop
+
+.L4:
+       ld      $2,8($fp)
+.L5:
+       move    $sp,$fp
+       ld      $31,88($sp)
+       ld      $fp,80($sp)
+       ld      $28,72($sp)
+       daddiu  $sp,$sp,96
+       j       $31
+       nop
+
+       .set    macro
+       .set    reorder
+       .end    engine_decode
+       .size   engine_decode, .-engine_decode
+       .align  2
+       .set    nomips16
+       .ent    engine_sign
+       .type   engine_sign, @function
+engine_sign:
+       .frame  $fp,48,$31              # vars= 32, regs= 1/0, args= 0, gp= 0
+       .mask   0x40000000,-8
+       .fmask  0x00000000,0
+       .set    noreorder
+       .set    nomacro
+       daddiu  $sp,$sp,-48
+       sd      $fp,40($sp)
+       move    $fp,$sp
+       move    $3,$4
+       move    $2,$5
+       sll     $3,$3,0
+       sw      $3,16($fp)
+       sll     $2,$2,0
+       sw      $2,20($fp)
+       lw      $2,20($fp)
+       addiu   $2,$2,-1
+       sll     $2,$2,0
+       li      $3,1                    # 0x1
+       sll     $2,$3,$2
+       sw      $2,0($fp)
+       lw      $3,16($fp)
+       lw      $2,0($fp)
+       xor     $2,$3,$2
+       move    $3,$2
+       lw      $2,0($fp)
+       subu    $2,$3,$2
+       move    $sp,$fp
+       ld      $fp,40($sp)
+       daddiu  $sp,$sp,48
+       j       $31
+       nop
+
+       .set    macro
+       .set    reorder
+       .end    engine_sign
+       .size   engine_sign, .-engine_sign
+       .align  2
+       .set    nomips16
+       .ent    engine_monitor
+       .type   engine_monitor, @function
+engine_monitor:
+       .frame  $fp,32,$31              # vars= 16, regs= 1/0, args= 0, gp= 0
+       .mask   0x40000000,-8
+       .fmask  0x00000000,0
+       .set    noreorder
+       .set    nomacro
+       daddiu  $sp,$sp,-32
+       sd      $fp,24($sp)
+       move    $fp,$sp
+       move    $8,$4
+       move    $4,$5
+       move    $3,$6
+       move    $2,$7
+       sll     $5,$8,0
+       sw      $5,0($fp)
+       sll     $4,$4,0
+       sw      $4,4($fp)
+       sll     $3,$3,0
+       sw      $3,8($fp)
+       sll     $2,$2,0
+       sw      $2,12($fp)
+       nop
+       move    $sp,$fp
+       ld      $fp,24($sp)
+       daddiu  $sp,$sp,32
+       j       $31
+       nop
+
+       .set    macro
+       .set    reorder
+       .end    engine_monitor
+       .size   engine_monitor, .-engine_monitor