Bug 48857 - V2DI arguments are not passed like other vectors
Summary: V2DI arguments are not passed like other vectors
Status: RESOLVED FIXED
Alias: None
Product: gcc
Classification: Unclassified
Component: target (show other bugs)
Version: 4.7.0
: P3 normal
Target Milestone: ---
Assignee: Michael Meissner
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-05-03 16:33 UTC by Michael Meissner
Modified: 2011-05-10 17:21 UTC (History)
1 user (show)

See Also:
Host: powerpc64-linux
Target: powerpc64-linux
Build: powerpc64-linux
Known to work:
Known to fail:
Last reconfirmed:


Attachments
Patch to fix the problem (2.01 KB, patch)
2011-05-03 16:33 UTC, Michael Meissner
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Michael Meissner 2011-05-03 16:33:37 UTC
Created attachment 24172 [details]
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.
Comment 1 Michael Meissner 2011-05-10 17:21:48 UTC
Fixed in subversion revision 173624.