[llvm-bugs] [Bug 45865] New: Passing values to inline assembly via high-byte registers can cause unencodable instructions
via llvm-bugs
llvm-bugs at lists.llvm.org
Sun May 10 09:50:17 PDT 2020
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: unassignedbugs at nondot.org
Reporter: josephcsible at gmail.com
CC: htmldeveloper at gmail.com, llvm-bugs at 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.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20200510/2d7ab310/attachment.html>
More information about the llvm-bugs
mailing list