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

           Summary: V2DI arguments are not passed like other vectors
           Product: gcc
           Version: 4.7.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
        AssignedTo: meiss...@gcc.gnu.org
        ReportedBy: meiss...@gcc.gnu.org
              Host: powerpc64-linux
            Target: powerpc64-linux
             Build: powerpc64-linux


Created attachment 24172
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=24172
Patch to fix the problem

When the VSX extensions were added to the powerpc, V2DI mode was added in an
afterthought.  The machine does not have native V2DI operations, but it is
needed to correctly handle vector conversion of DImode to DFmode.  Because
there were no native V2DI operations, it was not part of VSX_MODE and similar
macros.  This caused V2DImode arguments to be passed and returned differently
than the other vector types (for -mabi=altivec, which is on implicitly for
64-bit).  We should change the compiler so V2DI mode is passed an returned the
same as the other vectors.

Reply via email to