From 38755f0cfb2034084e5605ff97ba3a21d96530f8 Mon Sep 17 00:00:00 2001 From: Debian Common Lisp Team Date: Wed, 11 Apr 2018 18:47:18 +0100 Subject: [PATCH] mips-fpxx Gbp-Pq: Name mips-fpxx.patch --- avcall/Makefile.devel | 4 +- avcall/avcall-mipseb-linux.s | 281 +++++++++++------------- avcall/avcall-mipseb-macro.S | 279 +++++++++++------------ avcall/avcall-mipsel-linux.s | 281 +++++++++++------------- avcall/avcall-mipsel-macro.S | 279 +++++++++++------------ callback/vacall_r/Makefile.devel | 4 +- callback/vacall_r/vacall-mipseb-linux.s | 218 +++++++++--------- callback/vacall_r/vacall-mipseb-macro.S | 216 +++++++++--------- callback/vacall_r/vacall-mipsel-linux.s | 218 +++++++++--------- callback/vacall_r/vacall-mipsel-macro.S | 216 +++++++++--------- vacall/Makefile.devel | 4 +- vacall/vacall-mipseb-linux.s | 207 +++++++++-------- vacall/vacall-mipseb-macro.S | 205 +++++++++-------- vacall/vacall-mipsel-linux.s | 207 +++++++++-------- vacall/vacall-mipsel-macro.S | 205 +++++++++-------- 15 files changed, 1376 insertions(+), 1448 deletions(-) diff --git a/avcall/Makefile.devel b/avcall/Makefile.devel index bcb9f8b..ececc7c 100644 --- a/avcall/Makefile.devel +++ b/avcall/Makefile.devel @@ -48,13 +48,13 @@ avcall-m68k.motorola.S : avcall-m68k-linux.s ../common/asm-m68k.sh ../common/noe avcall-mipseb-linux.s : avcall-mips.c avcall-internal.h avcall.h avcall-alist.h $(THISFILE) - $(CROSS_TOOL) mips64-linux gcc -V 4.0.2 -mabi=32 -meb $(GCCFLAGS) -D__mips__ -S avcall-mips.c -o avcall-mipseb-linux.s + mips-linux-gnu-gcc $(GCCFLAGS) -fno-tree-dce -D__mips__ -S avcall-mips.c -o avcall-mipseb-linux.s avcall-mipseb-macro.S : avcall-mipseb-linux.s ../common/asm-mips.sh $(THISFILE) (echo '#include "asm-mips.h"' ; ../common/asm-mips.sh < avcall-mipseb-linux.s) > avcall-mipseb-macro.S avcall-mipsel-linux.s : avcall-mips.c avcall-internal.h avcall.h avcall-alist.h $(THISFILE) - $(CROSS_TOOL) mips64-linux gcc -V 4.0.2 -mabi=32 -mel $(GCCFLAGS) -D__mips__ -S avcall-mips.c -o avcall-mipsel-linux.s + mipsel-linux-gnu-gcc $(GCCFLAGS) -fno-tree-dce -D__mips__ -S avcall-mips.c -o avcall-mipsel-linux.s avcall-mipsel-macro.S : avcall-mipsel-linux.s ../common/asm-mips.sh $(THISFILE) (echo '#include "asm-mips.h"' ; ../common/asm-mips.sh < avcall-mipsel-linux.s) > avcall-mipsel-macro.S diff --git a/avcall/avcall-mipseb-linux.s b/avcall/avcall-mipseb-linux.s index 8868b65..0ecc08e 100644 --- a/avcall/avcall-mipseb-linux.s +++ b/avcall/avcall-mipseb-linux.s @@ -1,325 +1,310 @@ .file 1 "avcall-mips.c" .section .mdebug.abi32 .previous + .nan legacy + .module fp=xx + .module nooddspreg .abicalls .text .align 2 .globl avcall_call + .set nomips16 + .set nomicromips .ent avcall_call .type avcall_call, @function avcall_call: .frame $fp,40,$31 # vars= 0, regs= 3/0, args= 16, gp= 8 - .mask 0xc0010000,-8 + .mask 0xc0010000,-4 .fmask 0x00000000,0 addiu $sp,$sp,-40 - sw $fp,28($sp) + lw $8,24($4) + lw $3,20($4) + lw $5,40($4) + sw $fp,32($sp) move $fp,$sp - sw $31,32($sp) - sw $16,24($sp) - .cprestore 16 - lw $3,24($4) - lw $2,20($4) - move $16,$4 - lw $4,40($4) - subu $2,$2,$3 + sw $16,28($sp) + subu $3,$3,$8 + sw $31,36($sp) addiu $sp,$sp,-1032 - andi $3,$4,0x1 - sra $7,$2,2 + move $16,$4 + andi $4,$5,0x1 + move $2,$sp .set noreorder .set nomacro - beq $3,$0,$L2 - move $5,$sp + beq $4,$0,$L2 + sra $7,$3,2 .set macro .set reorder #APP + # 76 "avcall-mips.c" 1 l.s $f12,48($16) + # 0 "" 2 #NO_APP $L2: - lw $3,44($16) - #nop - andi $2,$3,0x1 - .set noreorder - .set nomacro - beq $2,$0,$L63 - andi $2,$4,0x2 - .set macro - .set reorder - + lw $4,44($16) + andi $6,$4,0x1 + beq $6,$0,$L3 #APP + # 78 "avcall-mips.c" 1 l.d $f12,56($16) + # 0 "" 2 #NO_APP - andi $2,$4,0x2 -$L63: - .set noreorder - .set nomacro - beq $2,$0,$L64 - andi $2,$3,0x2 - .set macro - .set reorder - +$L3: + andi $5,$5,0x2 + beq $5,$0,$L4 #APP + # 80 "avcall-mips.c" 1 l.s $f14,52($16) + # 0 "" 2 #NO_APP - andi $2,$3,0x2 -$L64: - .set noreorder - .set nomacro - beq $2,$0,$L65 - slt $2,$7,5 - .set macro - .set reorder - +$L4: + andi $4,$4,0x2 + beq $4,$0,$L5 #APP + # 82 "avcall-mips.c" 1 l.d $f14,64($16) + # 0 "" 2 #NO_APP - slt $2,$7,5 -$L65: +$L5: + slt $3,$3,17 .set noreorder .set nomacro - bne $2,$0,$L51 - li $4,4 # 0x4 + bne $3,$0,$L6 + addiu $4,$8,16 .set macro .set reorder - lw $6,24($16) -$L10: - sll $2,$4,2 - addu $2,$2,$6 - lw $3,0($2) - addiu $4,$4,1 - sw $3,16($5) + addiu $2,$2,16 + li $3,4 # 0x4 +$L7: + lw $6,0($4) + addiu $3,$3,1 + addiu $4,$4,4 + slt $5,$3,$7 + sw $6,0($2) .set noreorder .set nomacro - bne $7,$4,$L10 - addiu $5,$5,4 + bne $5,$0,$L7 + addiu $2,$2,4 .set macro .set reorder -$L11: - lw $4,0($6) - lw $5,4($6) - lw $7,12($6) +$L6: + lw $5,4($8) + lw $4,0($8) lw $25,4($16) - lw $6,8($6) - jalr $25 - lw $4,12($16) - move $5,$2 - li $2,1 # 0x1 - lw $28,16($fp) - beq $4,$2,$L12 + lw $7,12($8) .set noreorder .set nomacro - beq $4,$0,$L57 - li $2,2 # 0x2 + jalr $25 + lw $6,8($8) .set macro .set reorder + li $5,1 # 0x1 + lw $4,12($16) + beq $4,$5,$L8 .set noreorder .set nomacro - beq $4,$2,$L56 - li $2,3 # 0x3 + beq $4,$0,$L42 + li $5,2 # 0x2 .set macro .set reorder .set noreorder .set nomacro - beq $4,$2,$L56 - li $2,4 # 0x4 + beq $4,$5,$L45 + li $5,3 # 0x3 .set macro .set reorder .set noreorder .set nomacro - beq $4,$2,$L56 - li $2,5 # 0x5 + beq $4,$5,$L45 + li $5,4 # 0x4 .set macro .set reorder .set noreorder .set nomacro - beq $4,$2,$L58 - li $2,6 # 0x6 + beq $4,$5,$L45 + li $5,5 # 0x5 .set macro .set reorder .set noreorder .set nomacro - beq $4,$2,$L58 - li $2,7 # 0x7 + beq $4,$5,$L46 + li $5,6 # 0x6 .set macro .set reorder .set noreorder .set nomacro - beq $4,$2,$L57 - li $2,8 # 0x8 + beq $4,$5,$L46 + li $5,7 # 0x7 .set macro .set reorder .set noreorder .set nomacro - beq $4,$2,$L57 - li $2,9 # 0x9 + beq $4,$5,$L42 + li $5,8 # 0x8 .set macro .set reorder .set noreorder .set nomacro - beq $4,$2,$L57 - li $2,10 # 0xa + beq $4,$5,$L42 + li $5,9 # 0x9 .set macro .set reorder .set noreorder .set nomacro - beq $4,$2,$L57 - addiu $2,$4,-11 + beq $4,$5,$L42 + li $5,10 # 0xa .set macro .set reorder - sltu $2,$2,2 .set noreorder .set nomacro - bne $2,$0,$L60 - li $2,13 # 0xd + beq $4,$5,$L42 + addiu $5,$4,-11 .set macro .set reorder + sltu $5,$5,2 + bne $5,$0,$L48 + li $3,13 # 0xd .set noreorder .set nomacro - beq $4,$2,$L61 - li $2,14 # 0xe + beq $4,$3,$L49 + li $3,14 # 0xe .set macro .set reorder .set noreorder .set nomacro - beq $4,$2,$L62 - li $2,15 # 0xf + beq $4,$3,$L50 + li $3,15 # 0xf .set macro .set reorder .set noreorder .set nomacro - beq $4,$2,$L57 - li $2,16 # 0x10 + beq $4,$3,$L42 + li $3,16 # 0x10 .set macro .set reorder - bne $4,$2,$L12 - lw $2,0($16) - #nop - andi $2,$2,0x2 + bne $4,$3,$L8 + lw $3,0($16) + andi $3,$3,0x2 .set noreorder .set nomacro - beq $2,$0,$L12 - li $2,1 # 0x1 + beq $3,$0,$L8 + li $4,1 # 0x1 .set macro .set reorder lw $3,16($16) - #nop .set noreorder .set nomacro - beq $3,$2,$L56 - li $2,2 # 0x2 + beq $3,$4,$L45 + li $4,2 # 0x2 .set macro .set reorder .set noreorder .set nomacro - beq $3,$2,$L58 - li $2,4 # 0x4 + beq $3,$4,$L46 + li $4,4 # 0x4 .set macro .set reorder - beq $3,$2,$L57 -$L12: + beq $3,$4,$L42 +$L8: move $sp,$fp - lw $31,32($fp) - lw $fp,28($sp) - lw $16,24($sp) move $2,$0 + lw $31,36($sp) + lw $fp,32($sp) + lw $16,28($sp) .set noreorder .set nomacro - j $31 + jr $31 addiu $sp,$sp,40 .set macro .set reorder -$L51: - lw $6,24($16) - b $L11 -$L57: - lw $2,8($16) +$L42: + lw $3,8($16) + sw $2,0($3) move $sp,$fp - sw $5,0($2) - lw $31,32($sp) - lw $fp,28($sp) - lw $16,24($sp) move $2,$0 + lw $31,36($sp) + lw $fp,32($sp) + lw $16,28($sp) .set noreorder .set nomacro - j $31 + jr $31 addiu $sp,$sp,40 .set macro .set reorder -$L56: - lw $2,8($16) +$L45: + lw $3,8($16) + sb $2,0($3) move $sp,$fp - sb $5,0($2) - lw $31,32($sp) - lw $fp,28($sp) - lw $16,24($sp) move $2,$0 + lw $31,36($sp) + lw $fp,32($sp) + lw $16,28($sp) .set noreorder .set nomacro - j $31 + jr $31 addiu $sp,$sp,40 .set macro .set reorder -$L58: - lw $2,8($16) +$L46: + lw $3,8($16) .set noreorder .set nomacro - b $L12 - sh $5,0($2) + b $L8 + sh $2,0($3) .set macro .set reorder -$L61: - lw $2,8($16) +$L48: + lw $4,8($16) + sw $2,0($4) .set noreorder .set nomacro - b $L12 - swc1 $f0,0($2) + b $L8 + sw $3,4($4) .set macro .set reorder -$L60: +$L49: lw $2,8($16) - #nop - sw $3,4($2) .set noreorder .set nomacro - b $L12 - sw $5,0($2) + b $L8 + swc1 $f0,0($2) .set macro .set reorder -$L62: +$L50: lw $2,8($16) - #nop - swc1 $f0,4($2) .set noreorder .set nomacro - b $L12 - swc1 $f1,0($2) + b $L8 + sdc1 $f0,0($2) .set macro .set reorder .end avcall_call - .ident "GCC: (GNU) 4.0.2" + .size avcall_call, .-avcall_call + .ident "GCC: (Debian 7.2.0-11) 7.2.0" diff --git a/avcall/avcall-mipseb-macro.S b/avcall/avcall-mipseb-macro.S index c3bb7bf..eb48740 100644 --- a/avcall/avcall-mipseb-macro.S +++ b/avcall/avcall-mipseb-macro.S @@ -1,322 +1,307 @@ #include "asm-mips.h" .file 1 "avcall-mips.c" + .nan legacy + .module fp=xx + .module nooddspreg .text .align 2 .globl avcall_call + .set nomips16 + .set nomicromips .ent avcall_call DECLARE_FUNCTION(avcall_call) avcall_call: .frame $fp,40,$31 - .mask 0xc0010000,-8 + .mask 0xc0010000,-4 .fmask 0x00000000,0 addiu $sp,$sp,-40 - sw $fp,28($sp) + lw $8,24($4) + lw $3,20($4) + lw $5,40($4) + sw $fp,32($sp) move $fp,$sp - sw $31,32($sp) - sw $16,24($sp) - .cprestore 16 - lw $3,24($4) - lw $2,20($4) - move $16,$4 - lw $4,40($4) - subu $2,$2,$3 + sw $16,28($sp) + subu $3,$3,$8 + sw $31,36($sp) addiu $sp,$sp,-1032 - andi $3,$4,0x1 - sra $7,$2,2 + move $16,$4 + andi $4,$5,0x1 + move $2,$sp .set noreorder .set nomacro - beq $3,$0,$L2 - move $5,$sp + beq $4,$0,$L2 + sra $7,$3,2 .set macro .set reorder + l.s $f12,48($16) + $L2: - lw $3,44($16) - - andi $2,$3,0x1 - .set noreorder - .set nomacro - beq $2,$0,$L63 - andi $2,$4,0x2 - .set macro - .set reorder - + lw $4,44($16) + andi $6,$4,0x1 + beq $6,$0,$L3 + l.d $f12,56($16) + - andi $2,$4,0x2 -$L63: - .set noreorder - .set nomacro - beq $2,$0,$L64 - andi $2,$3,0x2 - .set macro - .set reorder - +$L3: + andi $5,$5,0x2 + beq $5,$0,$L4 + l.s $f14,52($16) + - andi $2,$3,0x2 -$L64: - .set noreorder - .set nomacro - beq $2,$0,$L65 - slt $2,$7,5 - .set macro - .set reorder - +$L4: + andi $4,$4,0x2 + beq $4,$0,$L5 + l.d $f14,64($16) + - slt $2,$7,5 -$L65: +$L5: + slt $3,$3,17 .set noreorder .set nomacro - bne $2,$0,$L51 - li $4,4 + bne $3,$0,$L6 + addiu $4,$8,16 .set macro .set reorder - lw $6,24($16) -$L10: - sll $2,$4,2 - addu $2,$2,$6 - lw $3,0($2) - addiu $4,$4,1 - sw $3,16($5) + addiu $2,$2,16 + li $3,4 +$L7: + lw $6,0($4) + addiu $3,$3,1 + addiu $4,$4,4 + slt $5,$3,$7 + sw $6,0($2) .set noreorder .set nomacro - bne $7,$4,$L10 - addiu $5,$5,4 + bne $5,$0,$L7 + addiu $2,$2,4 .set macro .set reorder -$L11: - lw $4,0($6) - lw $5,4($6) - lw $7,12($6) +$L6: + lw $5,4($8) + lw $4,0($8) lw $25,4($16) - lw $6,8($6) - jalr $25 - lw $4,12($16) - move $5,$2 - li $2,1 - lw $28,16($fp) - beq $4,$2,$L12 + lw $7,12($8) .set noreorder .set nomacro - beq $4,$0,$L57 - li $2,2 + jalr $25 + lw $6,8($8) .set macro .set reorder + li $5,1 + lw $4,12($16) + beq $4,$5,$L8 .set noreorder .set nomacro - beq $4,$2,$L56 - li $2,3 + beq $4,$0,$L42 + li $5,2 .set macro .set reorder .set noreorder .set nomacro - beq $4,$2,$L56 - li $2,4 + beq $4,$5,$L45 + li $5,3 .set macro .set reorder .set noreorder .set nomacro - beq $4,$2,$L56 - li $2,5 + beq $4,$5,$L45 + li $5,4 .set macro .set reorder .set noreorder .set nomacro - beq $4,$2,$L58 - li $2,6 + beq $4,$5,$L45 + li $5,5 .set macro .set reorder .set noreorder .set nomacro - beq $4,$2,$L58 - li $2,7 + beq $4,$5,$L46 + li $5,6 .set macro .set reorder .set noreorder .set nomacro - beq $4,$2,$L57 - li $2,8 + beq $4,$5,$L46 + li $5,7 .set macro .set reorder .set noreorder .set nomacro - beq $4,$2,$L57 - li $2,9 + beq $4,$5,$L42 + li $5,8 .set macro .set reorder .set noreorder .set nomacro - beq $4,$2,$L57 - li $2,10 + beq $4,$5,$L42 + li $5,9 .set macro .set reorder .set noreorder .set nomacro - beq $4,$2,$L57 - addiu $2,$4,-11 + beq $4,$5,$L42 + li $5,10 .set macro .set reorder - sltu $2,$2,2 .set noreorder .set nomacro - bne $2,$0,$L60 - li $2,13 + beq $4,$5,$L42 + addiu $5,$4,-11 .set macro .set reorder + sltu $5,$5,2 + bne $5,$0,$L48 + li $3,13 .set noreorder .set nomacro - beq $4,$2,$L61 - li $2,14 + beq $4,$3,$L49 + li $3,14 .set macro .set reorder .set noreorder .set nomacro - beq $4,$2,$L62 - li $2,15 + beq $4,$3,$L50 + li $3,15 .set macro .set reorder .set noreorder .set nomacro - beq $4,$2,$L57 - li $2,16 + beq $4,$3,$L42 + li $3,16 .set macro .set reorder - bne $4,$2,$L12 - lw $2,0($16) - - andi $2,$2,0x2 + bne $4,$3,$L8 + lw $3,0($16) + andi $3,$3,0x2 .set noreorder .set nomacro - beq $2,$0,$L12 - li $2,1 + beq $3,$0,$L8 + li $4,1 .set macro .set reorder lw $3,16($16) - .set noreorder .set nomacro - beq $3,$2,$L56 - li $2,2 + beq $3,$4,$L45 + li $4,2 .set macro .set reorder .set noreorder .set nomacro - beq $3,$2,$L58 - li $2,4 + beq $3,$4,$L46 + li $4,4 .set macro .set reorder - beq $3,$2,$L57 -$L12: + beq $3,$4,$L42 +$L8: move $sp,$fp - lw $31,32($fp) - lw $fp,28($sp) - lw $16,24($sp) move $2,$0 + lw $31,36($sp) + lw $fp,32($sp) + lw $16,28($sp) .set noreorder .set nomacro - j $31 + jr $31 addiu $sp,$sp,40 .set macro .set reorder -$L51: - lw $6,24($16) - b $L11 -$L57: - lw $2,8($16) +$L42: + lw $3,8($16) + sw $2,0($3) move $sp,$fp - sw $5,0($2) - lw $31,32($sp) - lw $fp,28($sp) - lw $16,24($sp) move $2,$0 + lw $31,36($sp) + lw $fp,32($sp) + lw $16,28($sp) .set noreorder .set nomacro - j $31 + jr $31 addiu $sp,$sp,40 .set macro .set reorder -$L56: - lw $2,8($16) +$L45: + lw $3,8($16) + sb $2,0($3) move $sp,$fp - sb $5,0($2) - lw $31,32($sp) - lw $fp,28($sp) - lw $16,24($sp) move $2,$0 + lw $31,36($sp) + lw $fp,32($sp) + lw $16,28($sp) .set noreorder .set nomacro - j $31 + jr $31 addiu $sp,$sp,40 .set macro .set reorder -$L58: - lw $2,8($16) +$L46: + lw $3,8($16) .set noreorder .set nomacro - b $L12 - sh $5,0($2) + b $L8 + sh $2,0($3) .set macro .set reorder -$L61: - lw $2,8($16) +$L48: + lw $4,8($16) + sw $2,0($4) .set noreorder .set nomacro - b $L12 - swc1 $f0,0($2) + b $L8 + sw $3,4($4) .set macro .set reorder -$L60: +$L49: lw $2,8($16) - - sw $3,4($2) .set noreorder .set nomacro - b $L12 - sw $5,0($2) + b $L8 + swc1 $f0,0($2) .set macro .set reorder -$L62: +$L50: lw $2,8($16) - - swc1 $f0,4($2) .set noreorder .set nomacro - b $L12 - swc1 $f1,0($2) + b $L8 + sdc1 $f0,0($2) .set macro .set reorder .end avcall_call + .size avcall_call, .-avcall_call diff --git a/avcall/avcall-mipsel-linux.s b/avcall/avcall-mipsel-linux.s index ed348d7..0ecc08e 100644 --- a/avcall/avcall-mipsel-linux.s +++ b/avcall/avcall-mipsel-linux.s @@ -1,325 +1,310 @@ .file 1 "avcall-mips.c" .section .mdebug.abi32 .previous + .nan legacy + .module fp=xx + .module nooddspreg .abicalls .text .align 2 .globl avcall_call + .set nomips16 + .set nomicromips .ent avcall_call .type avcall_call, @function avcall_call: .frame $fp,40,$31 # vars= 0, regs= 3/0, args= 16, gp= 8 - .mask 0xc0010000,-8 + .mask 0xc0010000,-4 .fmask 0x00000000,0 addiu $sp,$sp,-40 - sw $fp,28($sp) + lw $8,24($4) + lw $3,20($4) + lw $5,40($4) + sw $fp,32($sp) move $fp,$sp - sw $31,32($sp) - sw $16,24($sp) - .cprestore 16 - lw $3,24($4) - lw $2,20($4) - move $16,$4 - lw $4,40($4) - subu $2,$2,$3 + sw $16,28($sp) + subu $3,$3,$8 + sw $31,36($sp) addiu $sp,$sp,-1032 - andi $3,$4,0x1 - sra $7,$2,2 + move $16,$4 + andi $4,$5,0x1 + move $2,$sp .set noreorder .set nomacro - beq $3,$0,$L2 - move $5,$sp + beq $4,$0,$L2 + sra $7,$3,2 .set macro .set reorder #APP + # 76 "avcall-mips.c" 1 l.s $f12,48($16) + # 0 "" 2 #NO_APP $L2: - lw $3,44($16) - #nop - andi $2,$3,0x1 - .set noreorder - .set nomacro - beq $2,$0,$L63 - andi $2,$4,0x2 - .set macro - .set reorder - + lw $4,44($16) + andi $6,$4,0x1 + beq $6,$0,$L3 #APP + # 78 "avcall-mips.c" 1 l.d $f12,56($16) + # 0 "" 2 #NO_APP - andi $2,$4,0x2 -$L63: - .set noreorder - .set nomacro - beq $2,$0,$L64 - andi $2,$3,0x2 - .set macro - .set reorder - +$L3: + andi $5,$5,0x2 + beq $5,$0,$L4 #APP + # 80 "avcall-mips.c" 1 l.s $f14,52($16) + # 0 "" 2 #NO_APP - andi $2,$3,0x2 -$L64: - .set noreorder - .set nomacro - beq $2,$0,$L65 - slt $2,$7,5 - .set macro - .set reorder - +$L4: + andi $4,$4,0x2 + beq $4,$0,$L5 #APP + # 82 "avcall-mips.c" 1 l.d $f14,64($16) + # 0 "" 2 #NO_APP - slt $2,$7,5 -$L65: +$L5: + slt $3,$3,17 .set noreorder .set nomacro - bne $2,$0,$L51 - li $4,4 # 0x4 + bne $3,$0,$L6 + addiu $4,$8,16 .set macro .set reorder - lw $6,24($16) -$L10: - sll $2,$4,2 - addu $2,$2,$6 - lw $3,0($2) - addiu $4,$4,1 - sw $3,16($5) + addiu $2,$2,16 + li $3,4 # 0x4 +$L7: + lw $6,0($4) + addiu $3,$3,1 + addiu $4,$4,4 + slt $5,$3,$7 + sw $6,0($2) .set noreorder .set nomacro - bne $7,$4,$L10 - addiu $5,$5,4 + bne $5,$0,$L7 + addiu $2,$2,4 .set macro .set reorder -$L11: - lw $4,0($6) - lw $5,4($6) - lw $7,12($6) +$L6: + lw $5,4($8) + lw $4,0($8) lw $25,4($16) - lw $6,8($6) - jalr $25 - lw $4,12($16) - move $5,$2 - li $2,1 # 0x1 - lw $28,16($fp) - beq $4,$2,$L12 + lw $7,12($8) .set noreorder .set nomacro - beq $4,$0,$L57 - li $2,2 # 0x2 + jalr $25 + lw $6,8($8) .set macro .set reorder + li $5,1 # 0x1 + lw $4,12($16) + beq $4,$5,$L8 .set noreorder .set nomacro - beq $4,$2,$L56 - li $2,3 # 0x3 + beq $4,$0,$L42 + li $5,2 # 0x2 .set macro .set reorder .set noreorder .set nomacro - beq $4,$2,$L56 - li $2,4 # 0x4 + beq $4,$5,$L45 + li $5,3 # 0x3 .set macro .set reorder .set noreorder .set nomacro - beq $4,$2,$L56 - li $2,5 # 0x5 + beq $4,$5,$L45 + li $5,4 # 0x4 .set macro .set reorder .set noreorder .set nomacro - beq $4,$2,$L58 - li $2,6 # 0x6 + beq $4,$5,$L45 + li $5,5 # 0x5 .set macro .set reorder .set noreorder .set nomacro - beq $4,$2,$L58 - li $2,7 # 0x7 + beq $4,$5,$L46 + li $5,6 # 0x6 .set macro .set reorder .set noreorder .set nomacro - beq $4,$2,$L57 - li $2,8 # 0x8 + beq $4,$5,$L46 + li $5,7 # 0x7 .set macro .set reorder .set noreorder .set nomacro - beq $4,$2,$L57 - li $2,9 # 0x9 + beq $4,$5,$L42 + li $5,8 # 0x8 .set macro .set reorder .set noreorder .set nomacro - beq $4,$2,$L57 - li $2,10 # 0xa + beq $4,$5,$L42 + li $5,9 # 0x9 .set macro .set reorder .set noreorder .set nomacro - beq $4,$2,$L57 - addiu $2,$4,-11 + beq $4,$5,$L42 + li $5,10 # 0xa .set macro .set reorder - sltu $2,$2,2 .set noreorder .set nomacro - bne $2,$0,$L60 - li $2,13 # 0xd + beq $4,$5,$L42 + addiu $5,$4,-11 .set macro .set reorder + sltu $5,$5,2 + bne $5,$0,$L48 + li $3,13 # 0xd .set noreorder .set nomacro - beq $4,$2,$L61 - li $2,14 # 0xe + beq $4,$3,$L49 + li $3,14 # 0xe .set macro .set reorder .set noreorder .set nomacro - beq $4,$2,$L62 - li $2,15 # 0xf + beq $4,$3,$L50 + li $3,15 # 0xf .set macro .set reorder .set noreorder .set nomacro - beq $4,$2,$L57 - li $2,16 # 0x10 + beq $4,$3,$L42 + li $3,16 # 0x10 .set macro .set reorder - bne $4,$2,$L12 - lw $2,0($16) - #nop - andi $2,$2,0x2 + bne $4,$3,$L8 + lw $3,0($16) + andi $3,$3,0x2 .set noreorder .set nomacro - beq $2,$0,$L12 - li $2,1 # 0x1 + beq $3,$0,$L8 + li $4,1 # 0x1 .set macro .set reorder lw $3,16($16) - #nop .set noreorder .set nomacro - beq $3,$2,$L56 - li $2,2 # 0x2 + beq $3,$4,$L45 + li $4,2 # 0x2 .set macro .set reorder .set noreorder .set nomacro - beq $3,$2,$L58 - li $2,4 # 0x4 + beq $3,$4,$L46 + li $4,4 # 0x4 .set macro .set reorder - beq $3,$2,$L57 -$L12: + beq $3,$4,$L42 +$L8: move $sp,$fp - lw $31,32($fp) - lw $fp,28($sp) - lw $16,24($sp) move $2,$0 + lw $31,36($sp) + lw $fp,32($sp) + lw $16,28($sp) .set noreorder .set nomacro - j $31 + jr $31 addiu $sp,$sp,40 .set macro .set reorder -$L51: - lw $6,24($16) - b $L11 -$L57: - lw $2,8($16) +$L42: + lw $3,8($16) + sw $2,0($3) move $sp,$fp - sw $5,0($2) - lw $31,32($sp) - lw $fp,28($sp) - lw $16,24($sp) move $2,$0 + lw $31,36($sp) + lw $fp,32($sp) + lw $16,28($sp) .set noreorder .set nomacro - j $31 + jr $31 addiu $sp,$sp,40 .set macro .set reorder -$L56: - lw $2,8($16) +$L45: + lw $3,8($16) + sb $2,0($3) move $sp,$fp - sb $5,0($2) - lw $31,32($sp) - lw $fp,28($sp) - lw $16,24($sp) move $2,$0 + lw $31,36($sp) + lw $fp,32($sp) + lw $16,28($sp) .set noreorder .set nomacro - j $31 + jr $31 addiu $sp,$sp,40 .set macro .set reorder -$L58: - lw $2,8($16) +$L46: + lw $3,8($16) .set noreorder .set nomacro - b $L12 - sh $5,0($2) + b $L8 + sh $2,0($3) .set macro .set reorder -$L61: - lw $2,8($16) +$L48: + lw $4,8($16) + sw $2,0($4) .set noreorder .set nomacro - b $L12 - swc1 $f0,0($2) + b $L8 + sw $3,4($4) .set macro .set reorder -$L60: +$L49: lw $2,8($16) - #nop - sw $3,4($2) .set noreorder .set nomacro - b $L12 - sw $5,0($2) + b $L8 + swc1 $f0,0($2) .set macro .set reorder -$L62: +$L50: lw $2,8($16) - #nop - swc1 $f0,0($2) .set noreorder .set nomacro - b $L12 - swc1 $f1,4($2) + b $L8 + sdc1 $f0,0($2) .set macro .set reorder .end avcall_call - .ident "GCC: (GNU) 4.0.2" + .size avcall_call, .-avcall_call + .ident "GCC: (Debian 7.2.0-11) 7.2.0" diff --git a/avcall/avcall-mipsel-macro.S b/avcall/avcall-mipsel-macro.S index ca0362e..eb48740 100644 --- a/avcall/avcall-mipsel-macro.S +++ b/avcall/avcall-mipsel-macro.S @@ -1,322 +1,307 @@ #include "asm-mips.h" .file 1 "avcall-mips.c" + .nan legacy + .module fp=xx + .module nooddspreg .text .align 2 .globl avcall_call + .set nomips16 + .set nomicromips .ent avcall_call DECLARE_FUNCTION(avcall_call) avcall_call: .frame $fp,40,$31 - .mask 0xc0010000,-8 + .mask 0xc0010000,-4 .fmask 0x00000000,0 addiu $sp,$sp,-40 - sw $fp,28($sp) + lw $8,24($4) + lw $3,20($4) + lw $5,40($4) + sw $fp,32($sp) move $fp,$sp - sw $31,32($sp) - sw $16,24($sp) - .cprestore 16 - lw $3,24($4) - lw $2,20($4) - move $16,$4 - lw $4,40($4) - subu $2,$2,$3 + sw $16,28($sp) + subu $3,$3,$8 + sw $31,36($sp) addiu $sp,$sp,-1032 - andi $3,$4,0x1 - sra $7,$2,2 + move $16,$4 + andi $4,$5,0x1 + move $2,$sp .set noreorder .set nomacro - beq $3,$0,$L2 - move $5,$sp + beq $4,$0,$L2 + sra $7,$3,2 .set macro .set reorder + l.s $f12,48($16) + $L2: - lw $3,44($16) - - andi $2,$3,0x1 - .set noreorder - .set nomacro - beq $2,$0,$L63 - andi $2,$4,0x2 - .set macro - .set reorder - + lw $4,44($16) + andi $6,$4,0x1 + beq $6,$0,$L3 + l.d $f12,56($16) + - andi $2,$4,0x2 -$L63: - .set noreorder - .set nomacro - beq $2,$0,$L64 - andi $2,$3,0x2 - .set macro - .set reorder - +$L3: + andi $5,$5,0x2 + beq $5,$0,$L4 + l.s $f14,52($16) + - andi $2,$3,0x2 -$L64: - .set noreorder - .set nomacro - beq $2,$0,$L65 - slt $2,$7,5 - .set macro - .set reorder - +$L4: + andi $4,$4,0x2 + beq $4,$0,$L5 + l.d $f14,64($16) + - slt $2,$7,5 -$L65: +$L5: + slt $3,$3,17 .set noreorder .set nomacro - bne $2,$0,$L51 - li $4,4 + bne $3,$0,$L6 + addiu $4,$8,16 .set macro .set reorder - lw $6,24($16) -$L10: - sll $2,$4,2 - addu $2,$2,$6 - lw $3,0($2) - addiu $4,$4,1 - sw $3,16($5) + addiu $2,$2,16 + li $3,4 +$L7: + lw $6,0($4) + addiu $3,$3,1 + addiu $4,$4,4 + slt $5,$3,$7 + sw $6,0($2) .set noreorder .set nomacro - bne $7,$4,$L10 - addiu $5,$5,4 + bne $5,$0,$L7 + addiu $2,$2,4 .set macro .set reorder -$L11: - lw $4,0($6) - lw $5,4($6) - lw $7,12($6) +$L6: + lw $5,4($8) + lw $4,0($8) lw $25,4($16) - lw $6,8($6) - jalr $25 - lw $4,12($16) - move $5,$2 - li $2,1 - lw $28,16($fp) - beq $4,$2,$L12 + lw $7,12($8) .set noreorder .set nomacro - beq $4,$0,$L57 - li $2,2 + jalr $25 + lw $6,8($8) .set macro .set reorder + li $5,1 + lw $4,12($16) + beq $4,$5,$L8 .set noreorder .set nomacro - beq $4,$2,$L56 - li $2,3 + beq $4,$0,$L42 + li $5,2 .set macro .set reorder .set noreorder .set nomacro - beq $4,$2,$L56 - li $2,4 + beq $4,$5,$L45 + li $5,3 .set macro .set reorder .set noreorder .set nomacro - beq $4,$2,$L56 - li $2,5 + beq $4,$5,$L45 + li $5,4 .set macro .set reorder .set noreorder .set nomacro - beq $4,$2,$L58 - li $2,6 + beq $4,$5,$L45 + li $5,5 .set macro .set reorder .set noreorder .set nomacro - beq $4,$2,$L58 - li $2,7 + beq $4,$5,$L46 + li $5,6 .set macro .set reorder .set noreorder .set nomacro - beq $4,$2,$L57 - li $2,8 + beq $4,$5,$L46 + li $5,7 .set macro .set reorder .set noreorder .set nomacro - beq $4,$2,$L57 - li $2,9 + beq $4,$5,$L42 + li $5,8 .set macro .set reorder .set noreorder .set nomacro - beq $4,$2,$L57 - li $2,10 + beq $4,$5,$L42 + li $5,9 .set macro .set reorder .set noreorder .set nomacro - beq $4,$2,$L57 - addiu $2,$4,-11 + beq $4,$5,$L42 + li $5,10 .set macro .set reorder - sltu $2,$2,2 .set noreorder .set nomacro - bne $2,$0,$L60 - li $2,13 + beq $4,$5,$L42 + addiu $5,$4,-11 .set macro .set reorder + sltu $5,$5,2 + bne $5,$0,$L48 + li $3,13 .set noreorder .set nomacro - beq $4,$2,$L61 - li $2,14 + beq $4,$3,$L49 + li $3,14 .set macro .set reorder .set noreorder .set nomacro - beq $4,$2,$L62 - li $2,15 + beq $4,$3,$L50 + li $3,15 .set macro .set reorder .set noreorder .set nomacro - beq $4,$2,$L57 - li $2,16 + beq $4,$3,$L42 + li $3,16 .set macro .set reorder - bne $4,$2,$L12 - lw $2,0($16) - - andi $2,$2,0x2 + bne $4,$3,$L8 + lw $3,0($16) + andi $3,$3,0x2 .set noreorder .set nomacro - beq $2,$0,$L12 - li $2,1 + beq $3,$0,$L8 + li $4,1 .set macro .set reorder lw $3,16($16) - .set noreorder .set nomacro - beq $3,$2,$L56 - li $2,2 + beq $3,$4,$L45 + li $4,2 .set macro .set reorder .set noreorder .set nomacro - beq $3,$2,$L58 - li $2,4 + beq $3,$4,$L46 + li $4,4 .set macro .set reorder - beq $3,$2,$L57 -$L12: + beq $3,$4,$L42 +$L8: move $sp,$fp - lw $31,32($fp) - lw $fp,28($sp) - lw $16,24($sp) move $2,$0 + lw $31,36($sp) + lw $fp,32($sp) + lw $16,28($sp) .set noreorder .set nomacro - j $31 + jr $31 addiu $sp,$sp,40 .set macro .set reorder -$L51: - lw $6,24($16) - b $L11 -$L57: - lw $2,8($16) +$L42: + lw $3,8($16) + sw $2,0($3) move $sp,$fp - sw $5,0($2) - lw $31,32($sp) - lw $fp,28($sp) - lw $16,24($sp) move $2,$0 + lw $31,36($sp) + lw $fp,32($sp) + lw $16,28($sp) .set noreorder .set nomacro - j $31 + jr $31 addiu $sp,$sp,40 .set macro .set reorder -$L56: - lw $2,8($16) +$L45: + lw $3,8($16) + sb $2,0($3) move $sp,$fp - sb $5,0($2) - lw $31,32($sp) - lw $fp,28($sp) - lw $16,24($sp) move $2,$0 + lw $31,36($sp) + lw $fp,32($sp) + lw $16,28($sp) .set noreorder .set nomacro - j $31 + jr $31 addiu $sp,$sp,40 .set macro .set reorder -$L58: - lw $2,8($16) +$L46: + lw $3,8($16) .set noreorder .set nomacro - b $L12 - sh $5,0($2) + b $L8 + sh $2,0($3) .set macro .set reorder -$L61: - lw $2,8($16) +$L48: + lw $4,8($16) + sw $2,0($4) .set noreorder .set nomacro - b $L12 - swc1 $f0,0($2) + b $L8 + sw $3,4($4) .set macro .set reorder -$L60: +$L49: lw $2,8($16) - - sw $3,4($2) .set noreorder .set nomacro - b $L12 - sw $5,0($2) + b $L8 + swc1 $f0,0($2) .set macro .set reorder -$L62: +$L50: lw $2,8($16) - - swc1 $f0,0($2) .set noreorder .set nomacro - b $L12 - swc1 $f1,4($2) + b $L8 + sdc1 $f0,0($2) .set macro .set reorder .end avcall_call + .size avcall_call, .-avcall_call diff --git a/callback/vacall_r/Makefile.devel b/callback/vacall_r/Makefile.devel index a0c3fc2..264e6fc 100644 --- a/callback/vacall_r/Makefile.devel +++ b/callback/vacall_r/Makefile.devel @@ -49,13 +49,13 @@ vacall-m68k.motorola.S : vacall-m68k-linux.s ../../common/asm-m68k.sh ../../comm vacall-mipseb-linux.s : ../../vacall/vacall-mips.c ../../vacall/vacall-internal.h vacall_r.h $(THISFILE) # For references to symbols: -mno-explicit-relocs ensures a syntax that the IRIX assembler understands. - $(CROSS_TOOL) mips64-linux gcc -V 4.0.2 -mabi=32 -meb -mno-explicit-relocs $(GCCFLAGS) -D__mips__ -S ../../vacall/vacall-mips.c -I../../vacall -I. -o vacall-mipseb-linux.s + mips-linux-gnu-gcc -mno-explicit-relocs $(GCCFLAGS) -D__mips__ -S ../../vacall/vacall-mips.c -I../../vacall -I. -o vacall-mipseb-linux.s vacall-mipseb-macro.S : vacall-mipseb-linux.s ../../common/asm-mips.sh $(THISFILE) (echo '#include "asm-mips.h"' ; ../../common/asm-mips.sh < vacall-mipseb-linux.s) > vacall-mipseb-macro.S vacall-mipsel-linux.s : ../../vacall/vacall-mips.c ../../vacall/vacall-internal.h vacall_r.h $(THISFILE) - $(CROSS_TOOL) mips64-linux gcc -V 4.0.2 -mabi=32 -mel -mno-explicit-relocs $(GCCFLAGS) -D__mips__ -S ../../vacall/vacall-mips.c -I../../vacall -I. -o vacall-mipsel-linux.s + mipsel-linux-gnu-gcc -mno-explicit-relocs $(GCCFLAGS) -D__mips__ -S ../../vacall/vacall-mips.c -I../../vacall -I. -o vacall-mipsel-linux.s vacall-mipsel-macro.S : vacall-mipsel-linux.s ../../common/asm-mips.sh $(THISFILE) (echo '#include "asm-mips.h"' ; ../../common/asm-mips.sh < vacall-mipsel-linux.s) > vacall-mipsel-macro.S diff --git a/callback/vacall_r/vacall-mipseb-linux.s b/callback/vacall_r/vacall-mipseb-linux.s index 0ae3f39..0a17df8 100644 --- a/callback/vacall_r/vacall-mipseb-linux.s +++ b/callback/vacall_r/vacall-mipseb-linux.s @@ -1,9 +1,14 @@ .file 1 "vacall-mips.c" .section .mdebug.abi32 .previous + .nan legacy + .module fp=xx + .module nooddspreg .abicalls .text .align 2 + .set nomips16 + .set nomicromips .ent callback_receiver .type callback_receiver, @function callback_receiver: @@ -17,162 +22,164 @@ callback_receiver: sw $fp,96($sp) move $fp,$sp sw $31,100($sp) - .cprestore 16 - sw $0,44($fp) - sw $5,108($fp) - addiu $5,$fp,120 sw $4,104($fp) - sw $5,56($fp) - lw $4,4($2) - addiu $5,$fp,104 - lw $25,0($2) - sw $5,40($fp) - sw $6,112($fp) + addiu $4,$fp,104 + sw $5,108($fp) addiu $5,$fp,24 + sw $4,40($fp) + addiu $4,$fp,120 + .cprestore 16 + sw $4,56($fp) + sw $6,112($fp) sw $7,116($fp) - swc1 $f12,84($fp) - swc1 $f13,80($fp) - swc1 $f14,92($fp) - swc1 $f15,88($fp) - swc1 $f12,68($fp) - swc1 $f14,72($fp) sw $0,24($fp) + sw $0,44($fp) sw $0,48($fp) sw $0,60($fp) sw $0,64($fp) + lw $4,4($2) + lw $25,0($2) + sdc1 $f12,80($fp) + sdc1 $f14,88($fp) + swc1 $f12,68($fp) + swc1 $f14,72($fp) jal $25 - lw $5,48($fp) + lw $4,48($fp) .set noreorder .set nomacro - beq $5,$0,$L38 - li $4,1 # 0x1 + beq $4,$0,$L1 + li $5,1 # 0x1 .set macro .set reorder .set noreorder .set nomacro - beq $5,$4,$L39 - li $4,2 # 0x2 + beq $4,$5,$L23 + li $5,2 # 0x2 .set macro .set reorder .set noreorder .set nomacro - beq $5,$4,$L39 - li $4,3 # 0x3 + beq $4,$5,$L23 + li $5,3 # 0x3 .set macro .set reorder .set noreorder .set nomacro - beq $5,$4,$L45 - li $4,4 # 0x4 + beq $4,$5,$L29 + li $5,4 # 0x4 .set macro .set reorder .set noreorder .set nomacro - beq $5,$4,$L46 - li $4,5 # 0x5 + beq $4,$5,$L30 + li $5,5 # 0x5 .set macro .set reorder .set noreorder .set nomacro - beq $5,$4,$L47 - li $4,6 # 0x6 + beq $4,$5,$L31 + li $5,6 # 0x6 .set macro .set reorder .set noreorder .set nomacro - beq $5,$4,$L43 - li $4,7 # 0x7 + beq $4,$5,$L27 + li $5,7 # 0x7 .set macro .set reorder .set noreorder .set nomacro - beq $5,$4,$L43 - li $4,8 # 0x8 + beq $4,$5,$L27 + li $5,8 # 0x8 .set macro .set reorder .set noreorder .set nomacro - beq $5,$4,$L43 - li $4,9 # 0x9 + beq $4,$5,$L27 + li $5,9 # 0x9 .set macro .set reorder .set noreorder .set nomacro - beq $5,$4,$L43 - addiu $4,$5,-10 + beq $4,$5,$L27 + addiu $5,$4,-10 .set macro .set reorder - sltu $4,$4,2 + sltu $5,$5,2 .set noreorder .set nomacro - bne $4,$0,$L48 - li $4,12 # 0xc + bne $5,$0,$L32 + li $5,12 # 0xc .set macro .set reorder .set noreorder .set nomacro - beq $5,$4,$L49 - li $4,13 # 0xd + beq $4,$5,$L33 + li $5,13 # 0xd .set macro .set reorder .set noreorder .set nomacro - beq $5,$4,$L50 - li $4,14 # 0xe + beq $4,$5,$L34 + li $5,14 # 0xe .set macro .set reorder .set noreorder .set nomacro - beq $5,$4,$L43 - li $4,15 # 0xf + beq $4,$5,$L27 + li $5,15 # 0xf .set macro .set reorder - bne $5,$4,$L38 + .set noreorder + .set nomacro + bne $4,$5,$L1 lw $4,24($fp) + .set macro + .set reorder + andi $4,$4,0x2 .set noreorder .set nomacro - beq $4,$0,$L31 - li $4,1 # 0x1 + beq $4,$0,$L16 + lw $4,52($fp) .set macro .set reorder - lw $5,52($fp) + li $5,1 # 0x1 .set noreorder .set nomacro - beq $5,$4,$L51 - li $4,2 # 0x2 + beq $4,$5,$L35 + li $5,2 # 0x2 .set macro .set reorder .set noreorder .set nomacro - beq $5,$4,$L52 - li $4,4 # 0x4 + beq $4,$5,$L36 + li $5,4 # 0x4 .set macro .set reorder - bne $5,$4,$L38 - lw $4,44($fp) - lw $2,0($4) -$L38: + bne $4,$5,$L1 + lw $2,44($fp) + lw $2,0($2) +$L1: move $sp,$fp -$L53: - lw $31,100($sp) + lw $31,100($fp) lw $fp,96($sp) .set noreorder .set nomacro @@ -181,7 +188,7 @@ $L53: .set macro .set reorder -$L39: +$L23: move $sp,$fp lb $2,32($fp) lw $31,100($sp) @@ -193,118 +200,110 @@ $L39: .set macro .set reorder -$L46: - lh $2,32($fp) +$L29: .set noreorder .set nomacro - b $L53 - move $sp,$fp + b $L1 + lbu $2,32($fp) .set macro .set reorder -$L43: - lw $2,32($fp) +$L27: .set noreorder .set nomacro - b $L53 - move $sp,$fp + b $L1 + lw $2,32($fp) .set macro .set reorder -$L45: - lbu $2,32($fp) +$L30: .set noreorder .set nomacro - b $L53 - move $sp,$fp + b $L1 + lh $2,32($fp) .set macro .set reorder -$L47: - lhu $2,32($fp) +$L31: .set noreorder .set nomacro - b $L53 - move $sp,$fp + b $L1 + lhu $2,32($fp) .set macro .set reorder -$L49: - lwc1 $f0,32($fp) +$L32: + lw $2,32($fp) .set noreorder .set nomacro - b $L53 - move $sp,$fp + b $L1 + lw $3,36($fp) .set macro .set reorder -$L48: - lw $2,32($fp) - lw $3,36($fp) +$L33: .set noreorder .set nomacro - b $L53 - move $sp,$fp + b $L1 + lwc1 $f0,32($fp) .set macro .set reorder -$L50: - lwc1 $f0,36($fp) - lwc1 $f1,32($fp) +$L34: .set noreorder .set nomacro - b $L53 - move $sp,$fp + b $L1 + ldc1 $f0,32($fp) .set macro .set reorder -$L31: - lw $2,44($fp) +$L16: .set noreorder .set nomacro - b $L53 - move $sp,$fp + b $L1 + lw $2,44($fp) .set macro .set reorder -$L51: - lw $4,44($fp) - lbu $2,0($4) +$L35: + lw $2,44($fp) .set noreorder .set nomacro - b $L53 - move $sp,$fp + b $L1 + lbu $2,0($2) .set macro .set reorder -$L52: - lw $4,44($fp) - lhu $2,0($4) +$L36: + lw $2,44($fp) .set noreorder .set nomacro - b $L53 - move $sp,$fp + b $L1 + lhu $2,0($2) .set macro .set reorder .end callback_receiver + .size callback_receiver, .-callback_receiver .align 2 .globl callback_get_receiver + .set nomips16 + .set nomicromips .ent callback_get_receiver .type callback_get_receiver, @function callback_get_receiver: .frame $fp,8,$31 # vars= 0, regs= 1/0, args= 0, gp= 0 - .mask 0x40000000,-8 + .mask 0x40000000,-4 .fmask 0x00000000,0 .set noreorder .cpload $25 .set reorder addiu $sp,$sp,-8 - sw $fp,0($sp) + sw $fp,4($sp) move $fp,$sp move $sp,$fp - lw $fp,0($sp) la $2,callback_receiver + lw $fp,4($sp) .set noreorder .set nomacro j $31 @@ -313,4 +312,5 @@ callback_get_receiver: .set reorder .end callback_get_receiver - .ident "GCC: (GNU) 4.0.2" + .size callback_get_receiver, .-callback_get_receiver + .ident "GCC: (Debian 7.2.0-11) 7.2.0" diff --git a/callback/vacall_r/vacall-mipseb-macro.S b/callback/vacall_r/vacall-mipseb-macro.S index 0d934e0..4a401da 100644 --- a/callback/vacall_r/vacall-mipseb-macro.S +++ b/callback/vacall_r/vacall-mipseb-macro.S @@ -1,7 +1,12 @@ #include "asm-mips.h" .file 1 "vacall-mips.c" + .nan legacy + .module fp=xx + .module nooddspreg .text .align 2 + .set nomips16 + .set nomicromips .ent callback_receiver DECLARE_FUNCTION(callback_receiver) callback_receiver: @@ -15,162 +20,164 @@ callback_receiver: sw $fp,96($sp) move $fp,$sp sw $31,100($sp) - .cprestore 16 - sw $0,44($fp) - sw $5,108($fp) - addiu $5,$fp,120 sw $4,104($fp) - sw $5,56($fp) - lw $4,4($2) - addiu $5,$fp,104 - lw $25,0($2) - sw $5,40($fp) - sw $6,112($fp) + addiu $4,$fp,104 + sw $5,108($fp) addiu $5,$fp,24 + sw $4,40($fp) + addiu $4,$fp,120 + .cprestore 16 + sw $4,56($fp) + sw $6,112($fp) sw $7,116($fp) - swc1 $f12,84($fp) - swc1 $f13,80($fp) - swc1 $f14,92($fp) - swc1 $f15,88($fp) - swc1 $f12,68($fp) - swc1 $f14,72($fp) sw $0,24($fp) + sw $0,44($fp) sw $0,48($fp) sw $0,60($fp) sw $0,64($fp) + lw $4,4($2) + lw $25,0($2) + sdc1 $f12,80($fp) + sdc1 $f14,88($fp) + swc1 $f12,68($fp) + swc1 $f14,72($fp) jal $25 - lw $5,48($fp) + lw $4,48($fp) .set noreorder .set nomacro - beq $5,$0,$L38 - li $4,1 + beq $4,$0,$L1 + li $5,1 .set macro .set reorder .set noreorder .set nomacro - beq $5,$4,$L39 - li $4,2 + beq $4,$5,$L23 + li $5,2 .set macro .set reorder .set noreorder .set nomacro - beq $5,$4,$L39 - li $4,3 + beq $4,$5,$L23 + li $5,3 .set macro .set reorder .set noreorder .set nomacro - beq $5,$4,$L45 - li $4,4 + beq $4,$5,$L29 + li $5,4 .set macro .set reorder .set noreorder .set nomacro - beq $5,$4,$L46 - li $4,5 + beq $4,$5,$L30 + li $5,5 .set macro .set reorder .set noreorder .set nomacro - beq $5,$4,$L47 - li $4,6 + beq $4,$5,$L31 + li $5,6 .set macro .set reorder .set noreorder .set nomacro - beq $5,$4,$L43 - li $4,7 + beq $4,$5,$L27 + li $5,7 .set macro .set reorder .set noreorder .set nomacro - beq $5,$4,$L43 - li $4,8 + beq $4,$5,$L27 + li $5,8 .set macro .set reorder .set noreorder .set nomacro - beq $5,$4,$L43 - li $4,9 + beq $4,$5,$L27 + li $5,9 .set macro .set reorder .set noreorder .set nomacro - beq $5,$4,$L43 - addiu $4,$5,-10 + beq $4,$5,$L27 + addiu $5,$4,-10 .set macro .set reorder - sltu $4,$4,2 + sltu $5,$5,2 .set noreorder .set nomacro - bne $4,$0,$L48 - li $4,12 + bne $5,$0,$L32 + li $5,12 .set macro .set reorder .set noreorder .set nomacro - beq $5,$4,$L49 - li $4,13 + beq $4,$5,$L33 + li $5,13 .set macro .set reorder .set noreorder .set nomacro - beq $5,$4,$L50 - li $4,14 + beq $4,$5,$L34 + li $5,14 .set macro .set reorder .set noreorder .set nomacro - beq $5,$4,$L43 - li $4,15 + beq $4,$5,$L27 + li $5,15 .set macro .set reorder - bne $5,$4,$L38 + .set noreorder + .set nomacro + bne $4,$5,$L1 lw $4,24($fp) + .set macro + .set reorder + andi $4,$4,0x2 .set noreorder .set nomacro - beq $4,$0,$L31 - li $4,1 + beq $4,$0,$L16 + lw $4,52($fp) .set macro .set reorder - lw $5,52($fp) + li $5,1 .set noreorder .set nomacro - beq $5,$4,$L51 - li $4,2 + beq $4,$5,$L35 + li $5,2 .set macro .set reorder .set noreorder .set nomacro - beq $5,$4,$L52 - li $4,4 + beq $4,$5,$L36 + li $5,4 .set macro .set reorder - bne $5,$4,$L38 - lw $4,44($fp) - lw $2,0($4) -$L38: + bne $4,$5,$L1 + lw $2,44($fp) + lw $2,0($2) +$L1: move $sp,$fp -$L53: - lw $31,100($sp) + lw $31,100($fp) lw $fp,96($sp) .set noreorder .set nomacro @@ -179,7 +186,7 @@ $L53: .set macro .set reorder -$L39: +$L23: move $sp,$fp lb $2,32($fp) lw $31,100($sp) @@ -191,118 +198,110 @@ $L39: .set macro .set reorder -$L46: - lh $2,32($fp) +$L29: .set noreorder .set nomacro - b $L53 - move $sp,$fp + b $L1 + lbu $2,32($fp) .set macro .set reorder -$L43: - lw $2,32($fp) +$L27: .set noreorder .set nomacro - b $L53 - move $sp,$fp + b $L1 + lw $2,32($fp) .set macro .set reorder -$L45: - lbu $2,32($fp) +$L30: .set noreorder .set nomacro - b $L53 - move $sp,$fp + b $L1 + lh $2,32($fp) .set macro .set reorder -$L47: - lhu $2,32($fp) +$L31: .set noreorder .set nomacro - b $L53 - move $sp,$fp + b $L1 + lhu $2,32($fp) .set macro .set reorder -$L49: - lwc1 $f0,32($fp) +$L32: + lw $2,32($fp) .set noreorder .set nomacro - b $L53 - move $sp,$fp + b $L1 + lw $3,36($fp) .set macro .set reorder -$L48: - lw $2,32($fp) - lw $3,36($fp) +$L33: .set noreorder .set nomacro - b $L53 - move $sp,$fp + b $L1 + lwc1 $f0,32($fp) .set macro .set reorder -$L50: - lwc1 $f0,36($fp) - lwc1 $f1,32($fp) +$L34: .set noreorder .set nomacro - b $L53 - move $sp,$fp + b $L1 + ldc1 $f0,32($fp) .set macro .set reorder -$L31: - lw $2,44($fp) +$L16: .set noreorder .set nomacro - b $L53 - move $sp,$fp + b $L1 + lw $2,44($fp) .set macro .set reorder -$L51: - lw $4,44($fp) - lbu $2,0($4) +$L35: + lw $2,44($fp) .set noreorder .set nomacro - b $L53 - move $sp,$fp + b $L1 + lbu $2,0($2) .set macro .set reorder -$L52: - lw $4,44($fp) - lhu $2,0($4) +$L36: + lw $2,44($fp) .set noreorder .set nomacro - b $L53 - move $sp,$fp + b $L1 + lhu $2,0($2) .set macro .set reorder .end callback_receiver + .size callback_receiver, .-callback_receiver .align 2 .globl callback_get_receiver + .set nomips16 + .set nomicromips .ent callback_get_receiver DECLARE_FUNCTION(callback_get_receiver) callback_get_receiver: .frame $fp,8,$31 - .mask 0x40000000,-8 + .mask 0x40000000,-4 .fmask 0x00000000,0 .set noreorder .cpload $25 .set reorder addiu $sp,$sp,-8 - sw $fp,0($sp) + sw $fp,4($sp) move $fp,$sp move $sp,$fp - lw $fp,0($sp) la $2,callback_receiver + lw $fp,4($sp) .set noreorder .set nomacro j $31 @@ -311,3 +310,4 @@ callback_get_receiver: .set reorder .end callback_get_receiver + .size callback_get_receiver, .-callback_get_receiver diff --git a/callback/vacall_r/vacall-mipsel-linux.s b/callback/vacall_r/vacall-mipsel-linux.s index c1000f2..0a17df8 100644 --- a/callback/vacall_r/vacall-mipsel-linux.s +++ b/callback/vacall_r/vacall-mipsel-linux.s @@ -1,9 +1,14 @@ .file 1 "vacall-mips.c" .section .mdebug.abi32 .previous + .nan legacy + .module fp=xx + .module nooddspreg .abicalls .text .align 2 + .set nomips16 + .set nomicromips .ent callback_receiver .type callback_receiver, @function callback_receiver: @@ -17,162 +22,164 @@ callback_receiver: sw $fp,96($sp) move $fp,$sp sw $31,100($sp) - .cprestore 16 - sw $0,44($fp) - sw $5,108($fp) - addiu $5,$fp,120 sw $4,104($fp) - sw $5,56($fp) - lw $4,4($2) - addiu $5,$fp,104 - lw $25,0($2) - sw $5,40($fp) - sw $6,112($fp) + addiu $4,$fp,104 + sw $5,108($fp) addiu $5,$fp,24 + sw $4,40($fp) + addiu $4,$fp,120 + .cprestore 16 + sw $4,56($fp) + sw $6,112($fp) sw $7,116($fp) - swc1 $f12,80($fp) - swc1 $f13,84($fp) - swc1 $f14,88($fp) - swc1 $f15,92($fp) - swc1 $f12,68($fp) - swc1 $f14,72($fp) sw $0,24($fp) + sw $0,44($fp) sw $0,48($fp) sw $0,60($fp) sw $0,64($fp) + lw $4,4($2) + lw $25,0($2) + sdc1 $f12,80($fp) + sdc1 $f14,88($fp) + swc1 $f12,68($fp) + swc1 $f14,72($fp) jal $25 - lw $5,48($fp) + lw $4,48($fp) .set noreorder .set nomacro - beq $5,$0,$L38 - li $4,1 # 0x1 + beq $4,$0,$L1 + li $5,1 # 0x1 .set macro .set reorder .set noreorder .set nomacro - beq $5,$4,$L39 - li $4,2 # 0x2 + beq $4,$5,$L23 + li $5,2 # 0x2 .set macro .set reorder .set noreorder .set nomacro - beq $5,$4,$L39 - li $4,3 # 0x3 + beq $4,$5,$L23 + li $5,3 # 0x3 .set macro .set reorder .set noreorder .set nomacro - beq $5,$4,$L45 - li $4,4 # 0x4 + beq $4,$5,$L29 + li $5,4 # 0x4 .set macro .set reorder .set noreorder .set nomacro - beq $5,$4,$L46 - li $4,5 # 0x5 + beq $4,$5,$L30 + li $5,5 # 0x5 .set macro .set reorder .set noreorder .set nomacro - beq $5,$4,$L47 - li $4,6 # 0x6 + beq $4,$5,$L31 + li $5,6 # 0x6 .set macro .set reorder .set noreorder .set nomacro - beq $5,$4,$L43 - li $4,7 # 0x7 + beq $4,$5,$L27 + li $5,7 # 0x7 .set macro .set reorder .set noreorder .set nomacro - beq $5,$4,$L43 - li $4,8 # 0x8 + beq $4,$5,$L27 + li $5,8 # 0x8 .set macro .set reorder .set noreorder .set nomacro - beq $5,$4,$L43 - li $4,9 # 0x9 + beq $4,$5,$L27 + li $5,9 # 0x9 .set macro .set reorder .set noreorder .set nomacro - beq $5,$4,$L43 - addiu $4,$5,-10 + beq $4,$5,$L27 + addiu $5,$4,-10 .set macro .set reorder - sltu $4,$4,2 + sltu $5,$5,2 .set noreorder .set nomacro - bne $4,$0,$L48 - li $4,12 # 0xc + bne $5,$0,$L32 + li $5,12 # 0xc .set macro .set reorder .set noreorder .set nomacro - beq $5,$4,$L49 - li $4,13 # 0xd + beq $4,$5,$L33 + li $5,13 # 0xd .set macro .set reorder .set noreorder .set nomacro - beq $5,$4,$L50 - li $4,14 # 0xe + beq $4,$5,$L34 + li $5,14 # 0xe .set macro .set reorder .set noreorder .set nomacro - beq $5,$4,$L43 - li $4,15 # 0xf + beq $4,$5,$L27 + li $5,15 # 0xf .set macro .set reorder - bne $5,$4,$L38 + .set noreorder + .set nomacro + bne $4,$5,$L1 lw $4,24($fp) + .set macro + .set reorder + andi $4,$4,0x2 .set noreorder .set nomacro - beq $4,$0,$L31 - li $4,1 # 0x1 + beq $4,$0,$L16 + lw $4,52($fp) .set macro .set reorder - lw $5,52($fp) + li $5,1 # 0x1 .set noreorder .set nomacro - beq $5,$4,$L51 - li $4,2 # 0x2 + beq $4,$5,$L35 + li $5,2 # 0x2 .set macro .set reorder .set noreorder .set nomacro - beq $5,$4,$L52 - li $4,4 # 0x4 + beq $4,$5,$L36 + li $5,4 # 0x4 .set macro .set reorder - bne $5,$4,$L38 - lw $4,44($fp) - lw $2,0($4) -$L38: + bne $4,$5,$L1 + lw $2,44($fp) + lw $2,0($2) +$L1: move $sp,$fp -$L53: - lw $31,100($sp) + lw $31,100($fp) lw $fp,96($sp) .set noreorder .set nomacro @@ -181,7 +188,7 @@ $L53: .set macro .set reorder -$L39: +$L23: move $sp,$fp lb $2,32($fp) lw $31,100($sp) @@ -193,118 +200,110 @@ $L39: .set macro .set reorder -$L46: - lh $2,32($fp) +$L29: .set noreorder .set nomacro - b $L53 - move $sp,$fp + b $L1 + lbu $2,32($fp) .set macro .set reorder -$L43: - lw $2,32($fp) +$L27: .set noreorder .set nomacro - b $L53 - move $sp,$fp + b $L1 + lw $2,32($fp) .set macro .set reorder -$L45: - lbu $2,32($fp) +$L30: .set noreorder .set nomacro - b $L53 - move $sp,$fp + b $L1 + lh $2,32($fp) .set macro .set reorder -$L47: - lhu $2,32($fp) +$L31: .set noreorder .set nomacro - b $L53 - move $sp,$fp + b $L1 + lhu $2,32($fp) .set macro .set reorder -$L49: - lwc1 $f0,32($fp) +$L32: + lw $2,32($fp) .set noreorder .set nomacro - b $L53 - move $sp,$fp + b $L1 + lw $3,36($fp) .set macro .set reorder -$L48: - lw $2,32($fp) - lw $3,36($fp) +$L33: .set noreorder .set nomacro - b $L53 - move $sp,$fp + b $L1 + lwc1 $f0,32($fp) .set macro .set reorder -$L50: - lwc1 $f0,32($fp) - lwc1 $f1,36($fp) +$L34: .set noreorder .set nomacro - b $L53 - move $sp,$fp + b $L1 + ldc1 $f0,32($fp) .set macro .set reorder -$L31: - lw $2,44($fp) +$L16: .set noreorder .set nomacro - b $L53 - move $sp,$fp + b $L1 + lw $2,44($fp) .set macro .set reorder -$L51: - lw $4,44($fp) - lbu $2,0($4) +$L35: + lw $2,44($fp) .set noreorder .set nomacro - b $L53 - move $sp,$fp + b $L1 + lbu $2,0($2) .set macro .set reorder -$L52: - lw $4,44($fp) - lhu $2,0($4) +$L36: + lw $2,44($fp) .set noreorder .set nomacro - b $L53 - move $sp,$fp + b $L1 + lhu $2,0($2) .set macro .set reorder .end callback_receiver + .size callback_receiver, .-callback_receiver .align 2 .globl callback_get_receiver + .set nomips16 + .set nomicromips .ent callback_get_receiver .type callback_get_receiver, @function callback_get_receiver: .frame $fp,8,$31 # vars= 0, regs= 1/0, args= 0, gp= 0 - .mask 0x40000000,-8 + .mask 0x40000000,-4 .fmask 0x00000000,0 .set noreorder .cpload $25 .set reorder addiu $sp,$sp,-8 - sw $fp,0($sp) + sw $fp,4($sp) move $fp,$sp move $sp,$fp - lw $fp,0($sp) la $2,callback_receiver + lw $fp,4($sp) .set noreorder .set nomacro j $31 @@ -313,4 +312,5 @@ callback_get_receiver: .set reorder .end callback_get_receiver - .ident "GCC: (GNU) 4.0.2" + .size callback_get_receiver, .-callback_get_receiver + .ident "GCC: (Debian 7.2.0-11) 7.2.0" diff --git a/callback/vacall_r/vacall-mipsel-macro.S b/callback/vacall_r/vacall-mipsel-macro.S index 8ab2902..4a401da 100644 --- a/callback/vacall_r/vacall-mipsel-macro.S +++ b/callback/vacall_r/vacall-mipsel-macro.S @@ -1,7 +1,12 @@ #include "asm-mips.h" .file 1 "vacall-mips.c" + .nan legacy + .module fp=xx + .module nooddspreg .text .align 2 + .set nomips16 + .set nomicromips .ent callback_receiver DECLARE_FUNCTION(callback_receiver) callback_receiver: @@ -15,162 +20,164 @@ callback_receiver: sw $fp,96($sp) move $fp,$sp sw $31,100($sp) - .cprestore 16 - sw $0,44($fp) - sw $5,108($fp) - addiu $5,$fp,120 sw $4,104($fp) - sw $5,56($fp) - lw $4,4($2) - addiu $5,$fp,104 - lw $25,0($2) - sw $5,40($fp) - sw $6,112($fp) + addiu $4,$fp,104 + sw $5,108($fp) addiu $5,$fp,24 + sw $4,40($fp) + addiu $4,$fp,120 + .cprestore 16 + sw $4,56($fp) + sw $6,112($fp) sw $7,116($fp) - swc1 $f12,80($fp) - swc1 $f13,84($fp) - swc1 $f14,88($fp) - swc1 $f15,92($fp) - swc1 $f12,68($fp) - swc1 $f14,72($fp) sw $0,24($fp) + sw $0,44($fp) sw $0,48($fp) sw $0,60($fp) sw $0,64($fp) + lw $4,4($2) + lw $25,0($2) + sdc1 $f12,80($fp) + sdc1 $f14,88($fp) + swc1 $f12,68($fp) + swc1 $f14,72($fp) jal $25 - lw $5,48($fp) + lw $4,48($fp) .set noreorder .set nomacro - beq $5,$0,$L38 - li $4,1 + beq $4,$0,$L1 + li $5,1 .set macro .set reorder .set noreorder .set nomacro - beq $5,$4,$L39 - li $4,2 + beq $4,$5,$L23 + li $5,2 .set macro .set reorder .set noreorder .set nomacro - beq $5,$4,$L39 - li $4,3 + beq $4,$5,$L23 + li $5,3 .set macro .set reorder .set noreorder .set nomacro - beq $5,$4,$L45 - li $4,4 + beq $4,$5,$L29 + li $5,4 .set macro .set reorder .set noreorder .set nomacro - beq $5,$4,$L46 - li $4,5 + beq $4,$5,$L30 + li $5,5 .set macro .set reorder .set noreorder .set nomacro - beq $5,$4,$L47 - li $4,6 + beq $4,$5,$L31 + li $5,6 .set macro .set reorder .set noreorder .set nomacro - beq $5,$4,$L43 - li $4,7 + beq $4,$5,$L27 + li $5,7 .set macro .set reorder .set noreorder .set nomacro - beq $5,$4,$L43 - li $4,8 + beq $4,$5,$L27 + li $5,8 .set macro .set reorder .set noreorder .set nomacro - beq $5,$4,$L43 - li $4,9 + beq $4,$5,$L27 + li $5,9 .set macro .set reorder .set noreorder .set nomacro - beq $5,$4,$L43 - addiu $4,$5,-10 + beq $4,$5,$L27 + addiu $5,$4,-10 .set macro .set reorder - sltu $4,$4,2 + sltu $5,$5,2 .set noreorder .set nomacro - bne $4,$0,$L48 - li $4,12 + bne $5,$0,$L32 + li $5,12 .set macro .set reorder .set noreorder .set nomacro - beq $5,$4,$L49 - li $4,13 + beq $4,$5,$L33 + li $5,13 .set macro .set reorder .set noreorder .set nomacro - beq $5,$4,$L50 - li $4,14 + beq $4,$5,$L34 + li $5,14 .set macro .set reorder .set noreorder .set nomacro - beq $5,$4,$L43 - li $4,15 + beq $4,$5,$L27 + li $5,15 .set macro .set reorder - bne $5,$4,$L38 + .set noreorder + .set nomacro + bne $4,$5,$L1 lw $4,24($fp) + .set macro + .set reorder + andi $4,$4,0x2 .set noreorder .set nomacro - beq $4,$0,$L31 - li $4,1 + beq $4,$0,$L16 + lw $4,52($fp) .set macro .set reorder - lw $5,52($fp) + li $5,1 .set noreorder .set nomacro - beq $5,$4,$L51 - li $4,2 + beq $4,$5,$L35 + li $5,2 .set macro .set reorder .set noreorder .set nomacro - beq $5,$4,$L52 - li $4,4 + beq $4,$5,$L36 + li $5,4 .set macro .set reorder - bne $5,$4,$L38 - lw $4,44($fp) - lw $2,0($4) -$L38: + bne $4,$5,$L1 + lw $2,44($fp) + lw $2,0($2) +$L1: move $sp,$fp -$L53: - lw $31,100($sp) + lw $31,100($fp) lw $fp,96($sp) .set noreorder .set nomacro @@ -179,7 +186,7 @@ $L53: .set macro .set reorder -$L39: +$L23: move $sp,$fp lb $2,32($fp) lw $31,100($sp) @@ -191,118 +198,110 @@ $L39: .set macro .set reorder -$L46: - lh $2,32($fp) +$L29: .set noreorder .set nomacro - b $L53 - move $sp,$fp + b $L1 + lbu $2,32($fp) .set macro .set reorder -$L43: - lw $2,32($fp) +$L27: .set noreorder .set nomacro - b $L53 - move $sp,$fp + b $L1 + lw $2,32($fp) .set macro .set reorder -$L45: - lbu $2,32($fp) +$L30: .set noreorder .set nomacro - b $L53 - move $sp,$fp + b $L1 + lh $2,32($fp) .set macro .set reorder -$L47: - lhu $2,32($fp) +$L31: .set noreorder .set nomacro - b $L53 - move $sp,$fp + b $L1 + lhu $2,32($fp) .set macro .set reorder -$L49: - lwc1 $f0,32($fp) +$L32: + lw $2,32($fp) .set noreorder .set nomacro - b $L53 - move $sp,$fp + b $L1 + lw $3,36($fp) .set macro .set reorder -$L48: - lw $2,32($fp) - lw $3,36($fp) +$L33: .set noreorder .set nomacro - b $L53 - move $sp,$fp + b $L1 + lwc1 $f0,32($fp) .set macro .set reorder -$L50: - lwc1 $f0,32($fp) - lwc1 $f1,36($fp) +$L34: .set noreorder .set nomacro - b $L53 - move $sp,$fp + b $L1 + ldc1 $f0,32($fp) .set macro .set reorder -$L31: - lw $2,44($fp) +$L16: .set noreorder .set nomacro - b $L53 - move $sp,$fp + b $L1 + lw $2,44($fp) .set macro .set reorder -$L51: - lw $4,44($fp) - lbu $2,0($4) +$L35: + lw $2,44($fp) .set noreorder .set nomacro - b $L53 - move $sp,$fp + b $L1 + lbu $2,0($2) .set macro .set reorder -$L52: - lw $4,44($fp) - lhu $2,0($4) +$L36: + lw $2,44($fp) .set noreorder .set nomacro - b $L53 - move $sp,$fp + b $L1 + lhu $2,0($2) .set macro .set reorder .end callback_receiver + .size callback_receiver, .-callback_receiver .align 2 .globl callback_get_receiver + .set nomips16 + .set nomicromips .ent callback_get_receiver DECLARE_FUNCTION(callback_get_receiver) callback_get_receiver: .frame $fp,8,$31 - .mask 0x40000000,-8 + .mask 0x40000000,-4 .fmask 0x00000000,0 .set noreorder .cpload $25 .set reorder addiu $sp,$sp,-8 - sw $fp,0($sp) + sw $fp,4($sp) move $fp,$sp move $sp,$fp - lw $fp,0($sp) la $2,callback_receiver + lw $fp,4($sp) .set noreorder .set nomacro j $31 @@ -311,3 +310,4 @@ callback_get_receiver: .set reorder .end callback_get_receiver + .size callback_get_receiver, .-callback_get_receiver diff --git a/vacall/Makefile.devel b/vacall/Makefile.devel index 3e4f4a4..8529832 100644 --- a/vacall/Makefile.devel +++ b/vacall/Makefile.devel @@ -49,13 +49,13 @@ vacall-m68k.motorola.S : vacall-m68k-linux.s ../common/asm-m68k.sh ../common/noe vacall-mipseb-linux.s : vacall-mips.c vacall-internal.h vacall.h $(THISFILE) # For references to global symbols: -mno-explicit-relocs ensures a syntax that the IRIX assembler understands. - $(CROSS_TOOL) mips64-linux gcc -V 4.0.2 -mabi=32 -meb -mno-explicit-relocs $(GCCFLAGS) -D__mips__ -S vacall-mips.c -o vacall-mipseb-linux.s + mips-linux-gnu-gcc -mno-explicit-relocs $(GCCFLAGS) -D__mips__ -S vacall-mips.c -o vacall-mipseb-linux.s vacall-mipseb-macro.S : vacall-mipseb-linux.s ../common/asm-mips.sh $(THISFILE) (echo '#include "asm-mips.h"' ; ../common/asm-mips.sh < vacall-mipseb-linux.s) > vacall-mipseb-macro.S vacall-mipsel-linux.s : vacall-mips.c vacall-internal.h vacall.h $(THISFILE) - $(CROSS_TOOL) mips64-linux gcc -V 4.0.2 -mabi=32 -mel -mno-explicit-relocs $(GCCFLAGS) -D__mips__ -S vacall-mips.c -o vacall-mipsel-linux.s + mipsel-linux-gnu-gcc -mno-explicit-relocs $(GCCFLAGS) -D__mips__ -S vacall-mips.c -o vacall-mipsel-linux.s vacall-mipsel-macro.S : vacall-mipsel-linux.s ../common/asm-mips.sh $(THISFILE) (echo '#include "asm-mips.h"' ; ../common/asm-mips.sh < vacall-mipsel-linux.s) > vacall-mipsel-macro.S diff --git a/vacall/vacall-mipseb-linux.s b/vacall/vacall-mipseb-linux.s index b3836e9..fd370a5 100644 --- a/vacall/vacall-mipseb-linux.s +++ b/vacall/vacall-mipseb-linux.s @@ -1,10 +1,15 @@ .file 1 "vacall-mips.c" .section .mdebug.abi32 .previous + .nan legacy + .module fp=xx + .module nooddspreg .abicalls .text .align 2 .globl vacall_receiver + .set nomips16 + .set nomicromips .ent vacall_receiver .type vacall_receiver, @function vacall_receiver: @@ -18,162 +23,164 @@ vacall_receiver: sw $fp,96($sp) move $fp,$sp sw $31,100($sp) - .cprestore 16 - sw $4,104($fp) - la $8,vacall_function - addiu $4,$fp,120 - sw $4,56($fp) - lw $25,0($8) - addiu $4,$fp,104 sw $5,108($fp) - sw $4,40($fp) + addiu $5,$fp,104 + sw $4,104($fp) + addiu $4,$fp,24 + sw $5,40($fp) + addiu $5,$fp,120 + sdc1 $f12,80($fp) + sw $5,56($fp) + la $5,vacall_function + sdc1 $f14,88($fp) + .cprestore 16 sw $6,112($fp) sw $7,116($fp) - swc1 $f12,84($fp) - swc1 $f13,80($fp) - swc1 $f14,92($fp) - swc1 $f15,88($fp) - swc1 $f12,68($fp) - swc1 $f14,72($fp) sw $0,24($fp) sw $0,44($fp) sw $0,48($fp) sw $0,60($fp) sw $0,64($fp) - addiu $4,$fp,24 + lw $25,0($5) + swc1 $f12,68($fp) + swc1 $f14,72($fp) jal $25 - lw $5,48($fp) + lw $4,48($fp) .set noreorder .set nomacro - beq $5,$0,$L38 - li $4,1 # 0x1 + beq $4,$0,$L1 + li $5,1 # 0x1 .set macro .set reorder .set noreorder .set nomacro - beq $5,$4,$L39 - li $4,2 # 0x2 + beq $4,$5,$L23 + li $5,2 # 0x2 .set macro .set reorder .set noreorder .set nomacro - beq $5,$4,$L39 - li $4,3 # 0x3 + beq $4,$5,$L23 + li $5,3 # 0x3 .set macro .set reorder .set noreorder .set nomacro - beq $5,$4,$L45 - li $4,4 # 0x4 + beq $4,$5,$L29 + li $5,4 # 0x4 .set macro .set reorder .set noreorder .set nomacro - beq $5,$4,$L46 - li $4,5 # 0x5 + beq $4,$5,$L30 + li $5,5 # 0x5 .set macro .set reorder .set noreorder .set nomacro - beq $5,$4,$L47 - li $4,6 # 0x6 + beq $4,$5,$L31 + li $5,6 # 0x6 .set macro .set reorder .set noreorder .set nomacro - beq $5,$4,$L43 - li $4,7 # 0x7 + beq $4,$5,$L27 + li $5,7 # 0x7 .set macro .set reorder .set noreorder .set nomacro - beq $5,$4,$L43 - li $4,8 # 0x8 + beq $4,$5,$L27 + li $5,8 # 0x8 .set macro .set reorder .set noreorder .set nomacro - beq $5,$4,$L43 - li $4,9 # 0x9 + beq $4,$5,$L27 + li $5,9 # 0x9 .set macro .set reorder .set noreorder .set nomacro - beq $5,$4,$L43 - addiu $4,$5,-10 + beq $4,$5,$L27 + addiu $5,$4,-10 .set macro .set reorder - sltu $4,$4,2 + sltu $5,$5,2 .set noreorder .set nomacro - bne $4,$0,$L48 - li $4,12 # 0xc + bne $5,$0,$L32 + li $5,12 # 0xc .set macro .set reorder .set noreorder .set nomacro - beq $5,$4,$L49 - li $4,13 # 0xd + beq $4,$5,$L33 + li $5,13 # 0xd .set macro .set reorder .set noreorder .set nomacro - beq $5,$4,$L50 - li $4,14 # 0xe + beq $4,$5,$L34 + li $5,14 # 0xe .set macro .set reorder .set noreorder .set nomacro - beq $5,$4,$L43 - li $4,15 # 0xf + beq $4,$5,$L27 + li $5,15 # 0xf .set macro .set reorder - bne $5,$4,$L38 + .set noreorder + .set nomacro + bne $4,$5,$L1 lw $4,24($fp) + .set macro + .set reorder + andi $4,$4,0x2 .set noreorder .set nomacro - beq $4,$0,$L31 - li $4,1 # 0x1 + beq $4,$0,$L16 + lw $4,52($fp) .set macro .set reorder - lw $5,52($fp) + li $5,1 # 0x1 .set noreorder .set nomacro - beq $5,$4,$L51 - li $4,2 # 0x2 + beq $4,$5,$L35 + li $5,2 # 0x2 .set macro .set reorder .set noreorder .set nomacro - beq $5,$4,$L52 - li $4,4 # 0x4 + beq $4,$5,$L36 + li $5,4 # 0x4 .set macro .set reorder - bne $5,$4,$L38 - lw $4,44($fp) - lw $2,0($4) -$L38: + bne $4,$5,$L1 + lw $2,44($fp) + lw $2,0($2) +$L1: move $sp,$fp -$L53: - lw $31,100($sp) + lw $31,100($fp) lw $fp,96($sp) .set noreorder .set nomacro @@ -182,7 +189,7 @@ $L53: .set macro .set reorder -$L39: +$L23: move $sp,$fp lb $2,32($fp) lw $31,100($sp) @@ -194,99 +201,89 @@ $L39: .set macro .set reorder -$L46: - lh $2,32($fp) +$L29: .set noreorder .set nomacro - b $L53 - move $sp,$fp + b $L1 + lbu $2,32($fp) .set macro .set reorder -$L43: - lw $2,32($fp) +$L27: .set noreorder .set nomacro - b $L53 - move $sp,$fp + b $L1 + lw $2,32($fp) .set macro .set reorder -$L45: - lbu $2,32($fp) +$L30: .set noreorder .set nomacro - b $L53 - move $sp,$fp + b $L1 + lh $2,32($fp) .set macro .set reorder -$L47: - lhu $2,32($fp) +$L31: .set noreorder .set nomacro - b $L53 - move $sp,$fp + b $L1 + lhu $2,32($fp) .set macro .set reorder -$L49: - lwc1 $f0,32($fp) +$L32: + lw $2,32($fp) .set noreorder .set nomacro - b $L53 - move $sp,$fp + b $L1 + lw $3,36($fp) .set macro .set reorder -$L48: - lw $2,32($fp) - lw $3,36($fp) +$L33: .set noreorder .set nomacro - b $L53 - move $sp,$fp + b $L1 + lwc1 $f0,32($fp) .set macro .set reorder -$L50: - lwc1 $f0,36($fp) - lwc1 $f1,32($fp) +$L34: .set noreorder .set nomacro - b $L53 - move $sp,$fp + b $L1 + ldc1 $f0,32($fp) .set macro .set reorder -$L31: - lw $2,44($fp) +$L16: .set noreorder .set nomacro - b $L53 - move $sp,$fp + b $L1 + lw $2,44($fp) .set macro .set reorder -$L51: - lw $4,44($fp) - lbu $2,0($4) +$L35: + lw $2,44($fp) .set noreorder .set nomacro - b $L53 - move $sp,$fp + b $L1 + lbu $2,0($2) .set macro .set reorder -$L52: - lw $4,44($fp) - lhu $2,0($4) +$L36: + lw $2,44($fp) .set noreorder .set nomacro - b $L53 - move $sp,$fp + b $L1 + lhu $2,0($2) .set macro .set reorder .end vacall_receiver - .ident "GCC: (GNU) 4.0.2" + .size vacall_receiver, .-vacall_receiver + .ident "GCC: (Debian 7.2.0-11) 7.2.0" diff --git a/vacall/vacall-mipseb-macro.S b/vacall/vacall-mipseb-macro.S index b804f6e..69b3362 100644 --- a/vacall/vacall-mipseb-macro.S +++ b/vacall/vacall-mipseb-macro.S @@ -1,8 +1,13 @@ #include "asm-mips.h" .file 1 "vacall-mips.c" + .nan legacy + .module fp=xx + .module nooddspreg .text .align 2 .globl vacall_receiver + .set nomips16 + .set nomicromips .ent vacall_receiver DECLARE_FUNCTION(vacall_receiver) vacall_receiver: @@ -16,162 +21,164 @@ vacall_receiver: sw $fp,96($sp) move $fp,$sp sw $31,100($sp) - .cprestore 16 - sw $4,104($fp) - la $8,vacall_function - addiu $4,$fp,120 - sw $4,56($fp) - lw $25,0($8) - addiu $4,$fp,104 sw $5,108($fp) - sw $4,40($fp) + addiu $5,$fp,104 + sw $4,104($fp) + addiu $4,$fp,24 + sw $5,40($fp) + addiu $5,$fp,120 + sdc1 $f12,80($fp) + sw $5,56($fp) + la $5,vacall_function + sdc1 $f14,88($fp) + .cprestore 16 sw $6,112($fp) sw $7,116($fp) - swc1 $f12,84($fp) - swc1 $f13,80($fp) - swc1 $f14,92($fp) - swc1 $f15,88($fp) - swc1 $f12,68($fp) - swc1 $f14,72($fp) sw $0,24($fp) sw $0,44($fp) sw $0,48($fp) sw $0,60($fp) sw $0,64($fp) - addiu $4,$fp,24 + lw $25,0($5) + swc1 $f12,68($fp) + swc1 $f14,72($fp) jal $25 - lw $5,48($fp) + lw $4,48($fp) .set noreorder .set nomacro - beq $5,$0,$L38 - li $4,1 + beq $4,$0,$L1 + li $5,1 .set macro .set reorder .set noreorder .set nomacro - beq $5,$4,$L39 - li $4,2 + beq $4,$5,$L23 + li $5,2 .set macro .set reorder .set noreorder .set nomacro - beq $5,$4,$L39 - li $4,3 + beq $4,$5,$L23 + li $5,3 .set macro .set reorder .set noreorder .set nomacro - beq $5,$4,$L45 - li $4,4 + beq $4,$5,$L29 + li $5,4 .set macro .set reorder .set noreorder .set nomacro - beq $5,$4,$L46 - li $4,5 + beq $4,$5,$L30 + li $5,5 .set macro .set reorder .set noreorder .set nomacro - beq $5,$4,$L47 - li $4,6 + beq $4,$5,$L31 + li $5,6 .set macro .set reorder .set noreorder .set nomacro - beq $5,$4,$L43 - li $4,7 + beq $4,$5,$L27 + li $5,7 .set macro .set reorder .set noreorder .set nomacro - beq $5,$4,$L43 - li $4,8 + beq $4,$5,$L27 + li $5,8 .set macro .set reorder .set noreorder .set nomacro - beq $5,$4,$L43 - li $4,9 + beq $4,$5,$L27 + li $5,9 .set macro .set reorder .set noreorder .set nomacro - beq $5,$4,$L43 - addiu $4,$5,-10 + beq $4,$5,$L27 + addiu $5,$4,-10 .set macro .set reorder - sltu $4,$4,2 + sltu $5,$5,2 .set noreorder .set nomacro - bne $4,$0,$L48 - li $4,12 + bne $5,$0,$L32 + li $5,12 .set macro .set reorder .set noreorder .set nomacro - beq $5,$4,$L49 - li $4,13 + beq $4,$5,$L33 + li $5,13 .set macro .set reorder .set noreorder .set nomacro - beq $5,$4,$L50 - li $4,14 + beq $4,$5,$L34 + li $5,14 .set macro .set reorder .set noreorder .set nomacro - beq $5,$4,$L43 - li $4,15 + beq $4,$5,$L27 + li $5,15 .set macro .set reorder - bne $5,$4,$L38 + .set noreorder + .set nomacro + bne $4,$5,$L1 lw $4,24($fp) + .set macro + .set reorder + andi $4,$4,0x2 .set noreorder .set nomacro - beq $4,$0,$L31 - li $4,1 + beq $4,$0,$L16 + lw $4,52($fp) .set macro .set reorder - lw $5,52($fp) + li $5,1 .set noreorder .set nomacro - beq $5,$4,$L51 - li $4,2 + beq $4,$5,$L35 + li $5,2 .set macro .set reorder .set noreorder .set nomacro - beq $5,$4,$L52 - li $4,4 + beq $4,$5,$L36 + li $5,4 .set macro .set reorder - bne $5,$4,$L38 - lw $4,44($fp) - lw $2,0($4) -$L38: + bne $4,$5,$L1 + lw $2,44($fp) + lw $2,0($2) +$L1: move $sp,$fp -$L53: - lw $31,100($sp) + lw $31,100($fp) lw $fp,96($sp) .set noreorder .set nomacro @@ -180,7 +187,7 @@ $L53: .set macro .set reorder -$L39: +$L23: move $sp,$fp lb $2,32($fp) lw $31,100($sp) @@ -192,98 +199,88 @@ $L39: .set macro .set reorder -$L46: - lh $2,32($fp) +$L29: .set noreorder .set nomacro - b $L53 - move $sp,$fp + b $L1 + lbu $2,32($fp) .set macro .set reorder -$L43: - lw $2,32($fp) +$L27: .set noreorder .set nomacro - b $L53 - move $sp,$fp + b $L1 + lw $2,32($fp) .set macro .set reorder -$L45: - lbu $2,32($fp) +$L30: .set noreorder .set nomacro - b $L53 - move $sp,$fp + b $L1 + lh $2,32($fp) .set macro .set reorder -$L47: - lhu $2,32($fp) +$L31: .set noreorder .set nomacro - b $L53 - move $sp,$fp + b $L1 + lhu $2,32($fp) .set macro .set reorder -$L49: - lwc1 $f0,32($fp) +$L32: + lw $2,32($fp) .set noreorder .set nomacro - b $L53 - move $sp,$fp + b $L1 + lw $3,36($fp) .set macro .set reorder -$L48: - lw $2,32($fp) - lw $3,36($fp) +$L33: .set noreorder .set nomacro - b $L53 - move $sp,$fp + b $L1 + lwc1 $f0,32($fp) .set macro .set reorder -$L50: - lwc1 $f0,36($fp) - lwc1 $f1,32($fp) +$L34: .set noreorder .set nomacro - b $L53 - move $sp,$fp + b $L1 + ldc1 $f0,32($fp) .set macro .set reorder -$L31: - lw $2,44($fp) +$L16: .set noreorder .set nomacro - b $L53 - move $sp,$fp + b $L1 + lw $2,44($fp) .set macro .set reorder -$L51: - lw $4,44($fp) - lbu $2,0($4) +$L35: + lw $2,44($fp) .set noreorder .set nomacro - b $L53 - move $sp,$fp + b $L1 + lbu $2,0($2) .set macro .set reorder -$L52: - lw $4,44($fp) - lhu $2,0($4) +$L36: + lw $2,44($fp) .set noreorder .set nomacro - b $L53 - move $sp,$fp + b $L1 + lhu $2,0($2) .set macro .set reorder .end vacall_receiver + .size vacall_receiver, .-vacall_receiver diff --git a/vacall/vacall-mipsel-linux.s b/vacall/vacall-mipsel-linux.s index 6821de6..fd370a5 100644 --- a/vacall/vacall-mipsel-linux.s +++ b/vacall/vacall-mipsel-linux.s @@ -1,10 +1,15 @@ .file 1 "vacall-mips.c" .section .mdebug.abi32 .previous + .nan legacy + .module fp=xx + .module nooddspreg .abicalls .text .align 2 .globl vacall_receiver + .set nomips16 + .set nomicromips .ent vacall_receiver .type vacall_receiver, @function vacall_receiver: @@ -18,162 +23,164 @@ vacall_receiver: sw $fp,96($sp) move $fp,$sp sw $31,100($sp) - .cprestore 16 - sw $4,104($fp) - la $8,vacall_function - addiu $4,$fp,120 - sw $4,56($fp) - lw $25,0($8) - addiu $4,$fp,104 sw $5,108($fp) - sw $4,40($fp) + addiu $5,$fp,104 + sw $4,104($fp) + addiu $4,$fp,24 + sw $5,40($fp) + addiu $5,$fp,120 + sdc1 $f12,80($fp) + sw $5,56($fp) + la $5,vacall_function + sdc1 $f14,88($fp) + .cprestore 16 sw $6,112($fp) sw $7,116($fp) - swc1 $f12,80($fp) - swc1 $f13,84($fp) - swc1 $f14,88($fp) - swc1 $f15,92($fp) - swc1 $f12,68($fp) - swc1 $f14,72($fp) sw $0,24($fp) sw $0,44($fp) sw $0,48($fp) sw $0,60($fp) sw $0,64($fp) - addiu $4,$fp,24 + lw $25,0($5) + swc1 $f12,68($fp) + swc1 $f14,72($fp) jal $25 - lw $5,48($fp) + lw $4,48($fp) .set noreorder .set nomacro - beq $5,$0,$L38 - li $4,1 # 0x1 + beq $4,$0,$L1 + li $5,1 # 0x1 .set macro .set reorder .set noreorder .set nomacro - beq $5,$4,$L39 - li $4,2 # 0x2 + beq $4,$5,$L23 + li $5,2 # 0x2 .set macro .set reorder .set noreorder .set nomacro - beq $5,$4,$L39 - li $4,3 # 0x3 + beq $4,$5,$L23 + li $5,3 # 0x3 .set macro .set reorder .set noreorder .set nomacro - beq $5,$4,$L45 - li $4,4 # 0x4 + beq $4,$5,$L29 + li $5,4 # 0x4 .set macro .set reorder .set noreorder .set nomacro - beq $5,$4,$L46 - li $4,5 # 0x5 + beq $4,$5,$L30 + li $5,5 # 0x5 .set macro .set reorder .set noreorder .set nomacro - beq $5,$4,$L47 - li $4,6 # 0x6 + beq $4,$5,$L31 + li $5,6 # 0x6 .set macro .set reorder .set noreorder .set nomacro - beq $5,$4,$L43 - li $4,7 # 0x7 + beq $4,$5,$L27 + li $5,7 # 0x7 .set macro .set reorder .set noreorder .set nomacro - beq $5,$4,$L43 - li $4,8 # 0x8 + beq $4,$5,$L27 + li $5,8 # 0x8 .set macro .set reorder .set noreorder .set nomacro - beq $5,$4,$L43 - li $4,9 # 0x9 + beq $4,$5,$L27 + li $5,9 # 0x9 .set macro .set reorder .set noreorder .set nomacro - beq $5,$4,$L43 - addiu $4,$5,-10 + beq $4,$5,$L27 + addiu $5,$4,-10 .set macro .set reorder - sltu $4,$4,2 + sltu $5,$5,2 .set noreorder .set nomacro - bne $4,$0,$L48 - li $4,12 # 0xc + bne $5,$0,$L32 + li $5,12 # 0xc .set macro .set reorder .set noreorder .set nomacro - beq $5,$4,$L49 - li $4,13 # 0xd + beq $4,$5,$L33 + li $5,13 # 0xd .set macro .set reorder .set noreorder .set nomacro - beq $5,$4,$L50 - li $4,14 # 0xe + beq $4,$5,$L34 + li $5,14 # 0xe .set macro .set reorder .set noreorder .set nomacro - beq $5,$4,$L43 - li $4,15 # 0xf + beq $4,$5,$L27 + li $5,15 # 0xf .set macro .set reorder - bne $5,$4,$L38 + .set noreorder + .set nomacro + bne $4,$5,$L1 lw $4,24($fp) + .set macro + .set reorder + andi $4,$4,0x2 .set noreorder .set nomacro - beq $4,$0,$L31 - li $4,1 # 0x1 + beq $4,$0,$L16 + lw $4,52($fp) .set macro .set reorder - lw $5,52($fp) + li $5,1 # 0x1 .set noreorder .set nomacro - beq $5,$4,$L51 - li $4,2 # 0x2 + beq $4,$5,$L35 + li $5,2 # 0x2 .set macro .set reorder .set noreorder .set nomacro - beq $5,$4,$L52 - li $4,4 # 0x4 + beq $4,$5,$L36 + li $5,4 # 0x4 .set macro .set reorder - bne $5,$4,$L38 - lw $4,44($fp) - lw $2,0($4) -$L38: + bne $4,$5,$L1 + lw $2,44($fp) + lw $2,0($2) +$L1: move $sp,$fp -$L53: - lw $31,100($sp) + lw $31,100($fp) lw $fp,96($sp) .set noreorder .set nomacro @@ -182,7 +189,7 @@ $L53: .set macro .set reorder -$L39: +$L23: move $sp,$fp lb $2,32($fp) lw $31,100($sp) @@ -194,99 +201,89 @@ $L39: .set macro .set reorder -$L46: - lh $2,32($fp) +$L29: .set noreorder .set nomacro - b $L53 - move $sp,$fp + b $L1 + lbu $2,32($fp) .set macro .set reorder -$L43: - lw $2,32($fp) +$L27: .set noreorder .set nomacro - b $L53 - move $sp,$fp + b $L1 + lw $2,32($fp) .set macro .set reorder -$L45: - lbu $2,32($fp) +$L30: .set noreorder .set nomacro - b $L53 - move $sp,$fp + b $L1 + lh $2,32($fp) .set macro .set reorder -$L47: - lhu $2,32($fp) +$L31: .set noreorder .set nomacro - b $L53 - move $sp,$fp + b $L1 + lhu $2,32($fp) .set macro .set reorder -$L49: - lwc1 $f0,32($fp) +$L32: + lw $2,32($fp) .set noreorder .set nomacro - b $L53 - move $sp,$fp + b $L1 + lw $3,36($fp) .set macro .set reorder -$L48: - lw $2,32($fp) - lw $3,36($fp) +$L33: .set noreorder .set nomacro - b $L53 - move $sp,$fp + b $L1 + lwc1 $f0,32($fp) .set macro .set reorder -$L50: - lwc1 $f0,32($fp) - lwc1 $f1,36($fp) +$L34: .set noreorder .set nomacro - b $L53 - move $sp,$fp + b $L1 + ldc1 $f0,32($fp) .set macro .set reorder -$L31: - lw $2,44($fp) +$L16: .set noreorder .set nomacro - b $L53 - move $sp,$fp + b $L1 + lw $2,44($fp) .set macro .set reorder -$L51: - lw $4,44($fp) - lbu $2,0($4) +$L35: + lw $2,44($fp) .set noreorder .set nomacro - b $L53 - move $sp,$fp + b $L1 + lbu $2,0($2) .set macro .set reorder -$L52: - lw $4,44($fp) - lhu $2,0($4) +$L36: + lw $2,44($fp) .set noreorder .set nomacro - b $L53 - move $sp,$fp + b $L1 + lhu $2,0($2) .set macro .set reorder .end vacall_receiver - .ident "GCC: (GNU) 4.0.2" + .size vacall_receiver, .-vacall_receiver + .ident "GCC: (Debian 7.2.0-11) 7.2.0" diff --git a/vacall/vacall-mipsel-macro.S b/vacall/vacall-mipsel-macro.S index 1f8fb56..69b3362 100644 --- a/vacall/vacall-mipsel-macro.S +++ b/vacall/vacall-mipsel-macro.S @@ -1,8 +1,13 @@ #include "asm-mips.h" .file 1 "vacall-mips.c" + .nan legacy + .module fp=xx + .module nooddspreg .text .align 2 .globl vacall_receiver + .set nomips16 + .set nomicromips .ent vacall_receiver DECLARE_FUNCTION(vacall_receiver) vacall_receiver: @@ -16,162 +21,164 @@ vacall_receiver: sw $fp,96($sp) move $fp,$sp sw $31,100($sp) - .cprestore 16 - sw $4,104($fp) - la $8,vacall_function - addiu $4,$fp,120 - sw $4,56($fp) - lw $25,0($8) - addiu $4,$fp,104 sw $5,108($fp) - sw $4,40($fp) + addiu $5,$fp,104 + sw $4,104($fp) + addiu $4,$fp,24 + sw $5,40($fp) + addiu $5,$fp,120 + sdc1 $f12,80($fp) + sw $5,56($fp) + la $5,vacall_function + sdc1 $f14,88($fp) + .cprestore 16 sw $6,112($fp) sw $7,116($fp) - swc1 $f12,80($fp) - swc1 $f13,84($fp) - swc1 $f14,88($fp) - swc1 $f15,92($fp) - swc1 $f12,68($fp) - swc1 $f14,72($fp) sw $0,24($fp) sw $0,44($fp) sw $0,48($fp) sw $0,60($fp) sw $0,64($fp) - addiu $4,$fp,24 + lw $25,0($5) + swc1 $f12,68($fp) + swc1 $f14,72($fp) jal $25 - lw $5,48($fp) + lw $4,48($fp) .set noreorder .set nomacro - beq $5,$0,$L38 - li $4,1 + beq $4,$0,$L1 + li $5,1 .set macro .set reorder .set noreorder .set nomacro - beq $5,$4,$L39 - li $4,2 + beq $4,$5,$L23 + li $5,2 .set macro .set reorder .set noreorder .set nomacro - beq $5,$4,$L39 - li $4,3 + beq $4,$5,$L23 + li $5,3 .set macro .set reorder .set noreorder .set nomacro - beq $5,$4,$L45 - li $4,4 + beq $4,$5,$L29 + li $5,4 .set macro .set reorder .set noreorder .set nomacro - beq $5,$4,$L46 - li $4,5 + beq $4,$5,$L30 + li $5,5 .set macro .set reorder .set noreorder .set nomacro - beq $5,$4,$L47 - li $4,6 + beq $4,$5,$L31 + li $5,6 .set macro .set reorder .set noreorder .set nomacro - beq $5,$4,$L43 - li $4,7 + beq $4,$5,$L27 + li $5,7 .set macro .set reorder .set noreorder .set nomacro - beq $5,$4,$L43 - li $4,8 + beq $4,$5,$L27 + li $5,8 .set macro .set reorder .set noreorder .set nomacro - beq $5,$4,$L43 - li $4,9 + beq $4,$5,$L27 + li $5,9 .set macro .set reorder .set noreorder .set nomacro - beq $5,$4,$L43 - addiu $4,$5,-10 + beq $4,$5,$L27 + addiu $5,$4,-10 .set macro .set reorder - sltu $4,$4,2 + sltu $5,$5,2 .set noreorder .set nomacro - bne $4,$0,$L48 - li $4,12 + bne $5,$0,$L32 + li $5,12 .set macro .set reorder .set noreorder .set nomacro - beq $5,$4,$L49 - li $4,13 + beq $4,$5,$L33 + li $5,13 .set macro .set reorder .set noreorder .set nomacro - beq $5,$4,$L50 - li $4,14 + beq $4,$5,$L34 + li $5,14 .set macro .set reorder .set noreorder .set nomacro - beq $5,$4,$L43 - li $4,15 + beq $4,$5,$L27 + li $5,15 .set macro .set reorder - bne $5,$4,$L38 + .set noreorder + .set nomacro + bne $4,$5,$L1 lw $4,24($fp) + .set macro + .set reorder + andi $4,$4,0x2 .set noreorder .set nomacro - beq $4,$0,$L31 - li $4,1 + beq $4,$0,$L16 + lw $4,52($fp) .set macro .set reorder - lw $5,52($fp) + li $5,1 .set noreorder .set nomacro - beq $5,$4,$L51 - li $4,2 + beq $4,$5,$L35 + li $5,2 .set macro .set reorder .set noreorder .set nomacro - beq $5,$4,$L52 - li $4,4 + beq $4,$5,$L36 + li $5,4 .set macro .set reorder - bne $5,$4,$L38 - lw $4,44($fp) - lw $2,0($4) -$L38: + bne $4,$5,$L1 + lw $2,44($fp) + lw $2,0($2) +$L1: move $sp,$fp -$L53: - lw $31,100($sp) + lw $31,100($fp) lw $fp,96($sp) .set noreorder .set nomacro @@ -180,7 +187,7 @@ $L53: .set macro .set reorder -$L39: +$L23: move $sp,$fp lb $2,32($fp) lw $31,100($sp) @@ -192,98 +199,88 @@ $L39: .set macro .set reorder -$L46: - lh $2,32($fp) +$L29: .set noreorder .set nomacro - b $L53 - move $sp,$fp + b $L1 + lbu $2,32($fp) .set macro .set reorder -$L43: - lw $2,32($fp) +$L27: .set noreorder .set nomacro - b $L53 - move $sp,$fp + b $L1 + lw $2,32($fp) .set macro .set reorder -$L45: - lbu $2,32($fp) +$L30: .set noreorder .set nomacro - b $L53 - move $sp,$fp + b $L1 + lh $2,32($fp) .set macro .set reorder -$L47: - lhu $2,32($fp) +$L31: .set noreorder .set nomacro - b $L53 - move $sp,$fp + b $L1 + lhu $2,32($fp) .set macro .set reorder -$L49: - lwc1 $f0,32($fp) +$L32: + lw $2,32($fp) .set noreorder .set nomacro - b $L53 - move $sp,$fp + b $L1 + lw $3,36($fp) .set macro .set reorder -$L48: - lw $2,32($fp) - lw $3,36($fp) +$L33: .set noreorder .set nomacro - b $L53 - move $sp,$fp + b $L1 + lwc1 $f0,32($fp) .set macro .set reorder -$L50: - lwc1 $f0,32($fp) - lwc1 $f1,36($fp) +$L34: .set noreorder .set nomacro - b $L53 - move $sp,$fp + b $L1 + ldc1 $f0,32($fp) .set macro .set reorder -$L31: - lw $2,44($fp) +$L16: .set noreorder .set nomacro - b $L53 - move $sp,$fp + b $L1 + lw $2,44($fp) .set macro .set reorder -$L51: - lw $4,44($fp) - lbu $2,0($4) +$L35: + lw $2,44($fp) .set noreorder .set nomacro - b $L53 - move $sp,$fp + b $L1 + lbu $2,0($2) .set macro .set reorder -$L52: - lw $4,44($fp) - lhu $2,0($4) +$L36: + lw $2,44($fp) .set noreorder .set nomacro - b $L53 - move $sp,$fp + b $L1 + lhu $2,0($2) .set macro .set reorder .end vacall_receiver + .size vacall_receiver, .-vacall_receiver -- 2.30.2