2012/9/14 Georg-Johann Lay <a...@gjlay.de>:
> This patch adds more fixed-point support, namely saturated operations:
>
> SS_PLUS, SS_MINUS, SS_NEG, SS_ABS,
> US_PLUS, US_MINUS, US_NEG
>
> for all supported fixed-point modes:
>
> [U]QQ,
> [U]HQ, [U]HA,
> [U]SQ, [U]SA,
> [U]DQ, [U]DA, [U]TA.
>
> Depending on their complexity, the functions are implemented in libgcc
> or are natively supported by avr-gcc.
>
> The bulk of code is in the avr_out_plus_1 routine which has been generalized
> to perform saturation.
>
> avr_out_plus has been rewritten and is now generic enough to handle all the
> cases that were formerly treated by:
>   avr_out_plus
>   avr_out_plus_noclobber
>   avr_out_minus
>   avr_out_plus64
>   avr_out_minus64
>
> The latter 4 functions are removed and the md files are cleaned up to use
> avr_out_plus.
>
> There are no new regressions.
>
> However, all new tests with "-Os -flto" fail because they trigger a
> segmentation fault in lto1 at
>    gcc/tree-streamer-in.c:unpack_ts_fixed_cst_value_fields()
> while that function tries to deserialize TREE_FIXED_CST.
>
> Thus, these FAILs are because of an LTO issue.
>
> Except the "-Os -flto" cases, all other new tests PASS.
>
> Ok for trunk?
>

Ok. Please apply.

Denis.

Reply via email to