https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80246

            Bug ID: 80246
           Summary: Builtin's for POWER's dxex[q] and diex[q] use the
                    wrong types
           Product: gcc
           Version: 7.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: bergner at gcc dot gnu.org
  Target Milestone: ---

The DFP builtins for extract exponent (dxex and dxexq) return a decimal float
type when the actual value returned by the hardware instructions is a 64-bit
signed binary integer (albeit in a FP register).  The return type of the
builtins should match the type of the value returned and not register type it
is returned in, since moving the return value when it's in a FP variable to an
integer variable produces bad and/or incorrect code.

A similar issue affects the DFP insert exponent builtins (diex, diexq), but
this time it is related to using the wrong type for the input argument that
represents the exponent.

Reply via email to