From 1c8ac8f027d4a7af830e91513f37a2139c684f19 Mon Sep 17 00:00:00 2001 From: Rafael Espindola Date: Sat, 4 Dec 2010 03:21:47 +0000 Subject: There are two reasons why we might want to use foo = a - b .long foo instead of just .long a - b First, on darwin9 64 bits the assembler produces the wrong result. Second, if "a" is the end of the section all darwin assemblers (9, 10 and mc) will not consider a - b to be a constant but will if the dummy foo is created. Split how we handle these cases. The first one is something MC should take care of. The second one has to be handled by the caller. llvm-svn: 120889 --- llvm/lib/Target/PowerPC/PPCMCAsmInfo.cpp | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'llvm/lib/Target/PowerPC/PPCMCAsmInfo.cpp') diff --git a/llvm/lib/Target/PowerPC/PPCMCAsmInfo.cpp b/llvm/lib/Target/PowerPC/PPCMCAsmInfo.cpp index 3644c79d041..89c8cb664c7 100644 --- a/llvm/lib/Target/PowerPC/PPCMCAsmInfo.cpp +++ b/llvm/lib/Target/PowerPC/PPCMCAsmInfo.cpp @@ -21,6 +21,10 @@ PPCMCAsmInfoDarwin::PPCMCAsmInfoDarwin(bool is64Bit) { if (!is64Bit) Data64bitsDirective = 0; // We can't emit a 64-bit unit in PPC32 mode. + + if (is64Bit) + NeedsSetToChangeDiffSize = true; + AssemblerDialect = 1; // New-Style mnemonics. SupportsDebugInformation= true; // Debug information. } -- cgit v1.2.3