[LLVMbugs] [Bug 8180] New: TD alignment's treatment in struct differs among InstCombine and CodeGen
bugzilla-daemon at llvm.org
bugzilla-daemon at llvm.org
Sat Sep 18 08:36:37 PDT 2010
http://llvm.org/bugs/show_bug.cgi?id=8180
Summary: TD alignment's treatment in struct differs among
InstCombine and CodeGen
Product: new-bugs
Version: trunk
Platform: All
OS/Version: All
Status: NEW
Severity: normal
Priority: P
Component: new bugs
AssignedTo: unassignedbugs at nondot.org
ReportedBy: geek4civic at gmail.com
CC: llvmbugs at cs.uiuc.edu
Consider the IR below;
target datalayout =
"e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-f80:32:32-n8:16:32"
%st = type {i8, double}
define double* @foo() {
entry:
%p = getelementptr %st* null,i32 0,i32 1
ret double* %p
}
$ opt -instcombine | llc (f64:32:64)
_foo:
movl $4, %eax
$ opt -instcombine | llc (f64:64:64)
_foo:
movl $8, %eax
$ opt | llc (f64:64:64)
_foo:
movl $4, %eax
On i686-linux, TD contains "f64:32:64".
On powerpc-linux and cygming, f64 ABI alignment is 64(f64:64:64), thus I saw
different results.
FYI, it seems clang relies on ABI alignments.
--
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.
More information about the llvm-bugs
mailing list