[llvm-commits] [llvm-gcc-4.2] r52752 - /llvm-gcc-4.2/trunk/gcc/config/i386/llvm-i386-target.h
Dale Johannesen
dalej at apple.com
Wed Jun 25 18:56:27 PDT 2008
Author: johannes
Date: Wed Jun 25 20:56:27 2008
New Revision: 52752
URL: http://llvm.org/viewvc/llvm-project?rev=52752&view=rev
Log:
x86-64 byval vectors use 8 byte alignment.
Modified:
llvm-gcc-4.2/trunk/gcc/config/i386/llvm-i386-target.h
Modified: llvm-gcc-4.2/trunk/gcc/config/i386/llvm-i386-target.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/i386/llvm-i386-target.h?rev=52752&r1=52751&r2=52752&view=diff
==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/i386/llvm-i386-target.h (original)
+++ llvm-gcc-4.2/trunk/gcc/config/i386/llvm-i386-target.h Wed Jun 25 20:56:27 2008
@@ -85,10 +85,12 @@
#ifdef LLVM_ABI_H
-/* Objects containing SSE vectors are 16 byte aligned, everything else 4. */
+/* On x86-32 objects containing SSE vectors are 16 byte aligned, everything
+ else 4. On x86-64 vectors are 8-byte aligned, everything else can
+ be figured out by the back end. */
extern "C" bool contains_128bit_aligned_vector_p(tree);
#define LLVM_BYVAL_ALIGNMENT(T) \
- (TARGET_64BIT ? 0 : \
+ (TARGET_64BIT ? (TREE_CODE(T)==VECTOR_TYPE ? 8 : 0) : \
TARGET_SSE && contains_128bit_aligned_vector_p(T) ? 16 : 4)
extern tree llvm_x86_should_return_selt_struct_as_scalar(tree);
More information about the llvm-commits
mailing list