Skip to content

Commit d72bce1

Browse files
author
Chad Rosier
committed
[AArch64] Change the preferred alignment for char and short to word alignment.
The commit reinstates r273279, which was informally approved. Original Review: http://reviews.llvm.org/D21414 This reverts commit ca632c9. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@274790 91177308-0d34-0410-b5e6-96231b3b80d8
1 parent cb5f19e commit d72bce1

File tree

2 files changed

+30
-2
lines changed

2 files changed

+30
-2
lines changed

lib/Target/AArch64/AArch64TargetMachine.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -133,8 +133,8 @@ static std::string computeDataLayout(const Triple &TT, bool LittleEndian) {
133133
if (TT.isOSBinFormatMachO())
134134
return "e-m:o-i64:64-i128:128-n32:64-S128";
135135
if (LittleEndian)
136-
return "e-m:e-i64:64-i128:128-n32:64-S128";
137-
return "E-m:e-i64:64-i128:128-n32:64-S128";
136+
return "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128";
137+
return "E-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128";
138138
}
139139

140140
// Helper function to set up the defaults for reciprocals.
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
; RUN: llc -mtriple=aarch64 -O0 < %s | FileCheck %s
2+
3+
; Function Attrs: nounwind
4+
define i32 @foo() #0 {
5+
entry:
6+
%c = alloca i8, align 1
7+
; CHECK: add x0, sp, #12
8+
%s = alloca i16, align 2
9+
; CHECK-NEXT: add x1, sp, #8
10+
%i = alloca i32, align 4
11+
; CHECK-NEXT: add x2, sp, #4
12+
%call = call i32 @bar(i8* %c, i16* %s, i32* %i)
13+
%0 = load i8, i8* %c, align 1
14+
%conv = zext i8 %0 to i32
15+
%add = add nsw i32 %call, %conv
16+
%1 = load i16, i16* %s, align 2
17+
%conv1 = sext i16 %1 to i32
18+
%add2 = add nsw i32 %add, %conv1
19+
%2 = load i32, i32* %i, align 4
20+
%add3 = add nsw i32 %add2, %2
21+
ret i32 %add3
22+
}
23+
24+
declare i32 @bar(i8*, i16*, i32*) #1
25+
26+
attributes #0 = { nounwind "no-frame-pointer-elim"="false" }
27+
attributes #1 = { "no-frame-pointer-elim"="false" }
28+

0 commit comments

Comments
 (0)