This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: PING: PATCH: PR target/44948: -msse/-mavx change x86 ABI
- From: "H.J. Lu" <hjl dot tools at gmail dot com>
- To: Richard Henderson <rth at redhat dot com>
- Cc: GCC Patches <gcc-patches at gcc dot gnu dot org>, Uros Bizjak <ubizjak at gmail dot com>, Jan Hubicka <hubicka at ucw dot cz>
- Date: Thu, 30 Sep 2010 19:16:29 -0700
- Subject: Re: PING: PATCH: PR target/44948: -msse/-mavx change x86 ABI
- References: <AANLkTim_tVsp8qAcbB3UtJHpanN-7BmzCZ+eDjHsfj+R@mail.gmail.com> <AANLkTinaGqGOkodnupxcQcCWiUCUnfweguooNnsFAkcu@mail.gmail.com>
On Fri, Sep 17, 2010 at 8:53 AM, H.J. Lu <hjl.tools@gmail.com> wrote:
> On Mon, Sep 6, 2010 at 12:47 PM, H.J. Lu <hjl.tools@gmail.com> wrote:
>> On Mon, Aug 23, 2010 at 10:06 AM, H.J. Lu <hjl.tools@gmail.com> wrote:
>>> On Mon, Aug 23, 2010 at 9:50 AM, Richard Guenther
>>> <richard.guenther@gmail.com> wrote:
>>>> On Sat, Aug 21, 2010 at 7:04 PM, H.J. Lu <hjl.tools@gmail.com> wrote:
>>>>> On Fri, Aug 20, 2010 at 8:39 AM, Kreitzer, David L
>>>>> <david.l.kreitzer@intel.com> wrote:
>>>>>> Hi HJ,
>>>>>>
>>>>>> In the Intel compiler, we guarantee that outgoing arguments are aligned properly except in the case of 8-byte alignment on IA-32. ?We will dynamically align the stack and/or insert padding in the outgoing argument block as necessary to make this happen.
>>>>>>
>>>>>> Note that this includes both the alignment requirements of the built-in types as specified by the ABI and alignment requirements specified by the programmer via __attribute__((aligned(N))) or __declspec(align(N)).
>>>>>>
>>>>>> To summarize
>>>>>>
>>>>>> 1) For Intel64, always properly align outgoing parameter.
>>>>>> 2) For IA-32, properly align parameter if alignment is >= 16 bytes. ?Otherwise, align to 4 bytes.
>>>>>>
>>>>>> Dave Kreitzer
>>>>>>
>>>>>
>>>>> Here is the patch to implement this. ?Tested on Linux/ia32 and Linux/Intel64.
>>>>> OK for trunk?
>>>>
>>>> Does the ABI clearly say that? ?If not this warrants documentation. ?I suppose
>>>
>>> The psABI never mentions passing parameters with alignment attribute
>>> on stack.
>>
>> PING.
>>
>
> PING.
>
PING
--
H.J.