diff options
Diffstat (limited to 'toolchain/gcc/patches/4.3.5/949-avr32_nan_by_zero_div.patch')
-rw-r--r-- | toolchain/gcc/patches/4.3.5/949-avr32_nan_by_zero_div.patch | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/toolchain/gcc/patches/4.3.5/949-avr32_nan_by_zero_div.patch b/toolchain/gcc/patches/4.3.5/949-avr32_nan_by_zero_div.patch new file mode 100644 index 000000000..c5f880668 --- /dev/null +++ b/toolchain/gcc/patches/4.3.5/949-avr32_nan_by_zero_div.patch @@ -0,0 +1,15 @@ +--- a/gcc/config/avr32/lib1funcs.S ++++ b/gcc/config/avr32/lib1funcs.S +@@ -1852,7 +1852,11 @@ __avr32_f64_div_res_subnormal:/* Divide + mov r10, 0 + ldm sp++, r0, r1, r2, r3, r4, r5, r6, r7,pc + +-17: /* Return INF. */ ++17: ++ /* Check if op1 is zero. */ ++ or r4, r10, r11 ++ breq __avr32_f64_div_op1_zero ++ /* Return INF. */ + mov r11, lr /*Get correct sign*/ + andh r11, 0x8000, COH + orh r11, 0x7ff0 |