--- Comment #6 from hjl dot tools at gmail dot com 2008-07-31 04:05 ---
With revision 138354, we got
bash-3.2$ cat /tmp/x.c
#include emmintrin.h
extern void bar (char *);
char *
e1 (float x, char *p)
{
volatile __m128 dummy = _mm_set_ps1(x);
char foo [0];
bar (foo);
return p;
--- Comment #5 from hjl at lucon dot org 2007-10-06 15:21 ---
(In reply to comment #3)
The testcase is slightly uninformative.
Note, that %esp is aligned here and %ebp is potentially not (thus locals are
accessed via %esp).
What if:
1. We have dinamic size alloca() call
2.
--- Comment #3 from asl at math dot spbu dot ru 2007-10-04 05:15 ---
The testcase is slightly uninformative.
Note, that %esp is aligned here and %ebp is potentially not (thus locals are
accessed via %esp).
What if:
1. We have dinamic size alloca() call
2. We have incoming arguments.
--- Comment #4 from asl at math dot spbu dot ru 2007-10-04 05:26 ---
Answers:
icc aligns stack depending on external conditions. If there is dynamic size
alloca it emits the same code as gcc.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28074