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.