http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57516

            Bug ID: 57516
           Summary: [avr] Incorrect fixed-point rounding result in the
                    overflow case
           Product: gcc
           Version: 4.8.0
            Status: UNCONFIRMED
          Keywords: wrong-code
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: gjl at gcc dot gnu.org
                CC: eric.weddington at atmel dot com
            Target: avr

ISO/IEC TR 18037 writes on the roundfx rounding functions:

2.1.7.2 The fixed-point rounding functions

[...] The rounding applied is to-nearest, with unspecified rounding direction
in the halfway case. Fractional bits beyond the rounding point are set to zero
in the result. If the exact result value cannot be represented, the saturated
result value is returned.

Currently, bits beyond the rounding point are always cleared, no matter whether
or not the intermediate result is representable or not.

Reply via email to