http://llvm.org/bugs/show_bug.cgi?id=2311
Summary: LLVM codegen unnecessarily realigns stack for x86 SSE
code
Product: new-bugs
Version: unspecified
Platform: PC
OS/Version: Linux
Status: NEW
Severity: normal
Priority: P2
Component: new bugs
AssignedTo: [EMAIL PROTECTED]
ReportedBy: [EMAIL PROTECTED]
CC: [email protected]
#include <emmintrin.h>
typedef short vSInt16 __attribute__ ((__vector_size__ (16)));
static const vSInt16 a = {- 22725, - 12873, - 22725, - 12873, - 22725, - 12873,
- 22725, - 12873};;
vSInt16 madd(vSInt16 b)
{
return _mm_madd_epi16(a, b);
}
Generated code:
madd:
pushl %ebp
movl %esp, %ebp
andl $-16, %esp
movaps .LCPI1_0, %xmm1
pmaddwd %xmm1, %xmm0
movl %ebp, %esp
popl %ebp
ret
The stack alignment is unnecessary because nothing is spilled onto the stack.
Probably not a big issue, but it looks silly.
--
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
_______________________________________________
LLVMbugs mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/llvmbugs