From 5805cb1f8c1644bb888b03538af2aec30ca27da0 Mon Sep 17 00:00:00 2001 From: Jeff Johnston Date: Fri, 21 Mar 2014 20:09:10 +0000 Subject: [PATCH] 2014-03-21 Sabrina Ni * libc/machine/nds32/setjmp.S: Optimize. --- newlib/ChangeLog | 4 ++++ newlib/libc/machine/nds32/setjmp.S | 9 ++++----- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/newlib/ChangeLog b/newlib/ChangeLog index ae3754746..413a30786 100644 --- a/newlib/ChangeLog +++ b/newlib/ChangeLog @@ -1,3 +1,7 @@ +2014-03-21 Sabrina Ni + + * libc/machine/nds32/setjmp.S: Optimize. + 2014-03-07 Corinna Vinschen Jeff Johnston diff --git a/newlib/libc/machine/nds32/setjmp.S b/newlib/libc/machine/nds32/setjmp.S index 90b162ef8..906efab8f 100644 --- a/newlib/libc/machine/nds32/setjmp.S +++ b/newlib/libc/machine/nds32/setjmp.S @@ -78,10 +78,9 @@ longjmp: lmw.bim $r6, [$r0], $r14, 0x0 lmw.bim $r16, [$r0], $r19, 0xf #endif - /* If the value val is 0, 1 will be returned instead. */ - bnez $r1, 1f - movi $r1, 1 -1: - move $r0, $r1 + /* Set val as return value. If the value val is 0, 1 will be returned + instead. */ + movi $r0, 1 + cmovn $r0, $r1, $r1 /* r0=(r1!=0)? r1: r0 */ ret .size longjmp, .-longjmp