https://bugs.llvm.org/show_bug.cgi?id=45865
Bug ID: 45865
Summary: Passing values to inline assembly via high-byte
registers can cause unencodable instructions
Product: new-bugs
Version: 10.0
Hardware: PC
OS: Linux
Status: NEW
Severity: normal
Priority: P
Component: new bugs
Assignee: unassignedb...@nondot.org
Reporter: josephcsi...@gmail.com
CC: htmldevelo...@gmail.com, llvm-bugs@lists.llvm.org
Created attachment 23467
--> https://bugs.llvm.org/attachment.cgi?id=23467&action=edit
Result of clang -O -emit-llvm -c -o foo.bc foo.c && bugpoint -llc-safe foo.bc
Consider this minimal C function:
void f(char x) {
register char y asm("ah") = x;
asm volatile("" :: "r"(y));
}
When I compile it with any optimization level except -O0, the code generator
fails with "Cannot encode high byte register in REX-prefixed instruction".
--
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs