diff options
author | kaloz <kaloz@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2011-02-18 09:25:59 +0000 |
---|---|---|
committer | kaloz <kaloz@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2011-02-18 09:25:59 +0000 |
commit | 67042730eda74a0dec6afda2ca9d4026859e945f (patch) | |
tree | e9b928448934ca9eadd8f7a3fe50a725365e3ba6 /toolchain/gcc/patches/4.3.5/943-avr32_fix_f64_cmp.patch | |
parent | 12b51493b512e063d9aeae92602c4123a4f39811 (diff) |
[toolchain/gcc/4.3.5]: combine all avr32 patches into a single one
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@25566 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'toolchain/gcc/patches/4.3.5/943-avr32_fix_f64_cmp.patch')
-rw-r--r-- | toolchain/gcc/patches/4.3.5/943-avr32_fix_f64_cmp.patch | 66 |
1 files changed, 0 insertions, 66 deletions
diff --git a/toolchain/gcc/patches/4.3.5/943-avr32_fix_f64_cmp.patch b/toolchain/gcc/patches/4.3.5/943-avr32_fix_f64_cmp.patch deleted file mode 100644 index b5d526c2a..000000000 --- a/toolchain/gcc/patches/4.3.5/943-avr32_fix_f64_cmp.patch +++ /dev/null @@ -1,66 +0,0 @@ ---- a/gcc/config/avr32/lib1funcs.S -+++ b/gcc/config/avr32/lib1funcs.S -@@ -1389,25 +1389,30 @@ __avr32_f64_cmp_lt: - #endif - - /* compare magnitude of op1 and op2 */ -+ st.w --sp, lr -+ st.w --sp, r7 - lsl r11,1 /* Remove sign bit of op1 */ - srcs r12 /* Sign op1 to lsb of r12*/ -- subfeq r10, 0 -- breq 3f /* op1 zero */ - lsl r9,1 /* Remove sign bit of op2 */ -+ srcs r7 - rol r12 /* Sign op2 to lsb of lr, sign bit op1 bit 1 of r12*/ - - - /* Check for Nan */ -- pushm lr -- mov_imm lr, 0xffe00000 -+ mov_imm lr, 0xffe00000 - cp.w r10,0 - cpc r11,lr - brhi 0f /* We have NaN */ - cp.w r8,0 - cpc r9,lr - brhi 0f /* We have NaN */ -- popm lr -- -+ -+ cp.w r11, 0 -+ subfeq r10, 0 -+ breq 3f /* op1 zero */ -+ ld.w r7, sp++ -+ ld.w lr, sp++ -+ - cp.w r12,3 /* both operands negative ?*/ - breq 1f - -@@ -1453,18 +1458,22 @@ __avr32_f64_cmp_lt: - #endif - - 0: -+ ld.w r7, sp++ - popm pc, r12=0 - #endif - - 3: -- lsl r9,1 /* Remove sign bit of op1 */ -+ cp.w r7, 1 /* Check sign bit from r9 */ - #ifdef L_avr32_f64_cmp_ge -- srcs r12 /* If op2 is negative then op1 >= op2. */ -+ sreq r12 /* If op2 is negative then op1 >= op2. */ - #endif - #ifdef L_avr32_f64_cmp_lt -- srcc r12 /* If op2 is positve then op1 <= op2. */ -+ srne r12 /* If op2 is positve then op1 <= op2. */ - #endif -- subfeq r8, 0 -+ cp.w r9, 0 -+ subfeq r8, 0 -+ ld.w r7, sp++ -+ ld.w lr, sp++ - #ifdef L_avr32_f64_cmp_ge - reteq 1 /* Both operands are zero. Return true. */ - #endif |