diff options
author | Dan Albert <danalbert@google.com> | 2016-02-24 13:48:45 -0800 |
---|---|---|
committer | Dan Albert <danalbert@google.com> | 2016-02-24 13:51:18 -0800 |
commit | b9de1157289455b0ca26daff519d4a0ddcd1fa13 (patch) | |
tree | 4c56cc0a34b91f17033a40a455f26652304f7b8d /gcc-4.8.1/libgcc/config/mips/vr4120-div.S | |
parent | 098157a754787181cfa10e71325832448ddcea98 (diff) | |
download | toolchain_gcc-b9de1157289455b0ca26daff519d4a0ddcd1fa13.tar.gz toolchain_gcc-b9de1157289455b0ca26daff519d4a0ddcd1fa13.tar.bz2 toolchain_gcc-b9de1157289455b0ca26daff519d4a0ddcd1fa13.zip |
Update 4.8.1 to 4.8.3.
My previous drop was the wrong version. The platform mingw is
currently using 4.8.3, not 4.8.1 (not sure how I got that wrong).
From ftp://ftp.gnu.org/gnu/gcc/gcc-4.8.3/gcc-4.8.3.tar.bz2.
Bug: http://b/26523949
Change-Id: Id85f1bdcbbaf78c7d0b5a69e74c798a08f341c35
Diffstat (limited to 'gcc-4.8.1/libgcc/config/mips/vr4120-div.S')
-rw-r--r-- | gcc-4.8.1/libgcc/config/mips/vr4120-div.S | 74 |
1 files changed, 0 insertions, 74 deletions
diff --git a/gcc-4.8.1/libgcc/config/mips/vr4120-div.S b/gcc-4.8.1/libgcc/config/mips/vr4120-div.S deleted file mode 100644 index 2b934624a..000000000 --- a/gcc-4.8.1/libgcc/config/mips/vr4120-div.S +++ /dev/null @@ -1,74 +0,0 @@ -/* Support file for -mfix-vr4120. - Copyright (C) 2002-2013 Free Software Foundation, Inc. - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GCC is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License - along with GCC; see the file COPYING3. If not see -<http://www.gnu.org/licenses/>. */ - -/* This file contains functions which implement divsi3 and modsi3 for - -mfix-vr4120. div and ddiv do not give the correct result when one - of the operands is negative. */ - - .set nomips16 - -#define DIV \ - xor $3,$4,$5 /* t = x ^ y */ ; \ - li $2,0x80000000; \ - .set noreorder; \ - bgez $4,1f /* x >= 0 */; \ - and $3,$3,$2 /* t = (x ^ y) & 0x80000000 in delay slot */ ;\ - .set reorder; \ - subu $4,$0,$4 /* x = -x */ ; \ -1:; \ - .set noreorder; \ - bgez $5,2f /* y >= 0 */ ; \ - nop; \ - subu $5,$0,$5 /* y = -y */ ; \ - .set reorder; \ -2:; \ - divu $0,$4,$5; /* we use divu because of INT_MIN */ \ - .set noreorder; \ - bne $5,$0,3f; \ - nop; \ - break 7 /* division on zero y */ ; \ -3:; \ - .set reorder; \ - mflo $2 /* r = x / y */ ; \ - .set noreorder; \ - beq $3,$0,4f /* t == 0 */ ; \ - nop; \ - subu $2,$0,$2 /* r = -r */ ; \ - .set reorder; \ -4: - - .globl __vr4120_divsi3 - .ent __vr4120_divsi3 -__vr4120_divsi3: - DIV - j $31 - .end __vr4120_divsi3 - - .globl __vr4120_modsi3 - .ent __vr4120_modsi3 -__vr4120_modsi3: - move $6,$4 # x1 = x - move $7,$5 # y1 = y - DIV - mult $2,$7 # r = r * y1 - mflo $2 - .set noreorder - j $31 - subu $2,$6,$2 # r = x1 - r in delay slot - .end __vr4120_modsi3 |