fda520b47d9a7d2b043bbc28f7fcf607968d56a6
[openwrt/svn-archive/archive.git] / toolchain / gcc / patches / 4.3.5 / 944-avr32_fix_f64_div.patch
1 --- a/gcc/config/avr32/lib1funcs.S
2 +++ b/gcc/config/avr32/lib1funcs.S
3 @@ -1733,7 +1733,7 @@ __avr32_f64_div_round_subnormal:
4 brne 16f /* Return NaN if op1 is NaN */
5 /* Op1 is inf check op2 */
6 lsr r6, r9, 20 /* Extract exponent */
7 - cbr r6, 8 /* Clear sign bit */
8 + cbr r6, 11 /* Clear sign bit */
9 cp r6, 0x7ff
10 brne 17f /* Inf/number gives inf, return inf */
11 rjmp 16f /* The rest gives NaN*/
12 @@ -1849,7 +1849,7 @@ __avr32_f64_div_res_subnormal:/* Divide
13
14 16: /* Return NaN. */
15 mov r11, -1
16 - mov r10, -1
17 + mov r10, 0
18 ldm sp++, r0, r1, r2, r3, r4, r5, r6, r7,pc
19
20 17: /* Return INF. */