https://issues.dlang.org/show_bug.cgi?id=14872
Issue ID: 14872
Summary: [2.068.0-rc1] Label address in asm [x86-64]
Product: D
Version: D2
Hardware: x86_64
OS: Windows
Status: NEW
Severity: major
Priority: P1
Component: dmd
Assignee: [email protected]
Reporter: [email protected]
32bit x86 asm works fine, but I can't get 64bit working.
import std.stdio;
void main()
{
size_t addr1=123;
size_t addr2=456;
version(D_InlineAsm_X86_64)
asm
{
lea RAX, lbl1;
mov addr1, RAX;
lea RAX, lbl2;
mov addr2, RAX;
}
else version(D_InlineAsm_X86)
asm
{
lea EAX, lbl1;
mov addr1, EAX;
lea EAX, lbl2;
mov addr2, EAX;
}
lbl1:
writeln(addr1); // equals 1 for X86-64
lbl2:
writeln(addr2); // equals 1 for X86-64
}
--