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: [email protected]
ReportedBy: [email protected]
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.