From 2f82ca904a2146a0cafa4c19568ec379ac1aa44f Mon Sep 17 00:00:00 2001 From: Rafael Espindola Date: Sat, 6 Feb 2010 03:32:21 +0000 Subject: [PATCH] Fix alignment on ppc linux. This fixes the build of crtend.o git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95477 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/PowerPC/PPCMCAsmInfo.cpp | 3 ++ test/CodeGen/PowerPC/align.ll | 49 +++++++++++++++++++++++------ 2 files changed, 43 insertions(+), 9 deletions(-) diff --git a/lib/Target/PowerPC/PPCMCAsmInfo.cpp b/lib/Target/PowerPC/PPCMCAsmInfo.cpp index b0d04e46e09..b37aee804ac 100644 --- a/lib/Target/PowerPC/PPCMCAsmInfo.cpp +++ b/lib/Target/PowerPC/PPCMCAsmInfo.cpp @@ -26,6 +26,9 @@ PPCMCAsmInfoDarwin::PPCMCAsmInfoDarwin(bool is64Bit) { } PPCLinuxMCAsmInfo::PPCLinuxMCAsmInfo(bool is64Bit) { + // ".comm align is in bytes but .align is pow-2." + AlignmentIsInBytes = false; + CommentString = "#"; GlobalPrefix = ""; PrivateGlobalPrefix = ".L"; diff --git a/test/CodeGen/PowerPC/align.ll b/test/CodeGen/PowerPC/align.ll index 2e9b4ec0782..109a83726e9 100644 --- a/test/CodeGen/PowerPC/align.ll +++ b/test/CodeGen/PowerPC/align.ll @@ -1,11 +1,42 @@ -; RUN: llc < %s -mtriple=powerpc-apple-darwin9 | \ -; RUN: grep align.4 | count 1 -; RUN: llc < %s -mtriple=powerpc-apple-darwin9 | \ -; RUN: grep align.2 | count 1 -; RUN: llc < %s -mtriple=powerpc-apple-darwin9 | \ -; RUN: grep align.3 | count 1 +; RUN: llc < %s -mtriple=powerpc-linux-gnu | FileCheck %s -check-prefix=ELF +; RUN: llc < %s -mtriple=powerpc-apple-darwin9 | FileCheck %s -check-prefix=DARWIN -@A = global <4 x i32> < i32 10, i32 20, i32 30, i32 40 > ; <<4 x i32>*> [#uses=0] -@B = global float 1.000000e+02 ; [#uses=0] -@C = global double 2.000000e+03 ; [#uses=0] +@a = global i1 true +; no alignment +@b = global i8 1 +; no alignment + +@c = global i16 2 +;ELF: .align 1 +;ELF: c: +;DARWIN: .align 1 +;DARWIN: _c: + +@d = global i32 3 +;ELF: .align 2 +;ELF: d: +;DARWIN: .align 2 +;DARWIN: _d: + +@e = global i64 4 +;ELF: .align 3 +;ELF: e +;DARWIN: .align 3 +;DARWIN: _e: + +@f = global float 5.0 +;ELF: .align 2 +;ELF: f: +;DARWIN: .align 2 +;DARWIN: _f: + +@g = global double 6.0 +;ELF: .align 3 +;ELF: g: +;DARWIN: .align 3 +;DARWIN: _g: + +@bar = common global [75 x i8] zeroinitializer, align 128 +;ELF: .comm bar,75,128 +;DARWIN: .comm _bar,75,7