mirror of
https://github.com/Zenithsiz/ftmemsim-valgrind.git
synced 2026-02-03 18:13:01 +00:00
mips: replace use of (d)addi with (d)addiu
Replace use of daddi/addi with daddiu/addiu. This is more R6-friendly and we actually want to use the instructions that do not cause integer overflow exception. Patch by Vicente Olivert Riera. Related issue - BZ#356112. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@16018
This commit is contained in:
parent
67ef1e15c3
commit
ddc3b67f41
@ -196,7 +196,7 @@ VG_(disp_cp_xindir):
|
||||
addu $13, $13, $14
|
||||
|
||||
lw $12, 0($13) /* t3 = VG_(tt_fast)[hash] :: ULong* */
|
||||
addi $13, $13, 4
|
||||
addiu $13, $13, 4
|
||||
lw $25, 0($13) /* little-endian, so comparing 1st 32bit word */
|
||||
nop
|
||||
|
||||
|
||||
@ -196,7 +196,7 @@ VG_(disp_cp_xindir):
|
||||
daddu $13, $13, $14
|
||||
|
||||
ld $12, 0($13) /* t3 = VG_(tt_fast)[hash] :: ULong* */
|
||||
daddi $13, $13, 8
|
||||
daddiu $13, $13, 8
|
||||
ld $25, 0($13) /* little-endian, so comparing 1st 32bit word */
|
||||
nop
|
||||
|
||||
|
||||
@ -594,7 +594,7 @@ __asm__(
|
||||
/* Checking whether second argument is zero. */
|
||||
" bnez $a1, 1f \n\t"
|
||||
" nop \n\t"
|
||||
" addi $a1, $a1, 1 \n\t" /* We must return 1 if val=0. */
|
||||
" addiu $a1, $a1, 1 \n\t" /* We must return 1 if val=0. */
|
||||
"1: \n\t"
|
||||
" move $v0, $a1 \n\t" /* Return value of second argument. */
|
||||
" j $ra \n\t"
|
||||
|
||||
@ -173,7 +173,7 @@ asm(
|
||||
" ld $30, 8($29)\n"
|
||||
" ld $28, 16($29)\n"
|
||||
" jr $31\n"
|
||||
" daddi $29,$29, 32\n"
|
||||
" daddiu $29,$29, 32\n"
|
||||
".previous\n"
|
||||
);
|
||||
|
||||
|
||||
@ -1278,8 +1278,8 @@ VG_(mips32_linux_REDIR_FOR_strlen):
|
||||
//la $a0, string
|
||||
j strlen_cond
|
||||
strlen_loop:
|
||||
addi $v0, $v0, 1
|
||||
addi $a0, $a0, 1
|
||||
addiu $v0, $v0, 1
|
||||
addiu $a0, $a0, 1
|
||||
strlen_cond:
|
||||
lbu $t0, ($a0)
|
||||
bne $t0, $zero, strlen_loop
|
||||
|
||||
@ -125,11 +125,11 @@
|
||||
# define INC(_lval,_lqual) \
|
||||
__asm__ __volatile__ ( \
|
||||
"L1xyzzy1" _lqual":\n" \
|
||||
" move $t0, %0\n" \
|
||||
" ll $t1, 0($t0)\n" \
|
||||
" addi $t1, $t1, 1\n" \
|
||||
" sc $t1, 0($t0)\n" \
|
||||
" beqz $t1, L1xyzzy1" _lqual \
|
||||
" move $t0, %0\n" \
|
||||
" ll $t1, 0($t0)\n" \
|
||||
" addiu $t1, $t1, 1\n" \
|
||||
" sc $t1, 0($t0)\n" \
|
||||
" beqz $t1, L1xyzzy1" _lqual \
|
||||
: /*out*/ : /*in*/ "r"(&(_lval)) \
|
||||
: /*trash*/ "t0", "t1", "memory" \
|
||||
)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user