[LLVMbugs] [Bug 5623] New: LTO fails with inline asm labels referenced in C
bugzilla-daemon at cs.uiuc.edu
bugzilla-daemon at cs.uiuc.edu
Thu Nov 26 21:31:10 PST 2009
http://llvm.org/bugs/show_bug.cgi?id=5623
Summary: LTO fails with inline asm labels referenced in C
Product: tools
Version: trunk
Platform: PC
OS/Version: All
Status: NEW
Severity: normal
Priority: P2
Component: lto
AssignedTo: unassignedbugs at nondot.org
ReportedBy: lessen42 at gmail.com
CC: llvmbugs at cs.uiuc.edu
This is a bit ugly, but it's used in ffmpeg to create a jump table. Clang and
llvm-gcc work at -O3 but fail with -O4 on OS X, both the versions in XCode
3.2.1 and r89800. Adding .globl doesn't help. Remove the _ prefix for Linux; I
didn't test there because I can't get gold compiled.
#include <stdio.h>
extern void ff_mlp_firorder_8;
static const void *firtable[1] = {&ff_mlp_firorder_8};
int main()
{
int x = 1;
asm volatile(
"jmp *%1 \n\t"
"xor %0, %0 \n\t"
// ".globl _ff_mlp_firorder_8 \n\t"
"_ff_mlp_firorder_8: \n\t"
"add $1, %0 \n\t"
: "+r"(x)
: "g"(firtable[0])
);
printf("x = %d\n", x);
}
--
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