[Bug 138] New: surplus "jmp short" generated within inline assembler code
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Sat May 13 05:47:48 PDT 2006
http://d.puremagic.com/bugzilla/show_bug.cgi?id=138
Summary: surplus "jmp short" generated within inline assembler
code
Product: D
Version: 0.157
Platform: PC
OS/Version: Linux
Status: NEW
Keywords: wrong-code
Severity: normal
Priority: P2
Component: DMD
AssignedTo: bugzilla at digitalmars.com
ReportedBy: thomas-dloop at kuehne.cn
void foo(){
asm{
neg EAX;
je L2;
L1:
neg EAX;
jne L1;
L2:
inc EAX;
}
}
results in:
_D1a3fooFZv:
push EBP
mov EBP,ESP
neg EAX
je LF
jmp short L9
L9: neg EAX
jne L9
jmp short LF
LF: inc EAX
pop EBP
ret
but should be:
_D1a3fooFZv:
push EBP
mov EBP,ESP
neg EAX
je LF
L9: neg EAX
jne L9
LF: inc EAX
pop EBP
ret
--
More information about the Digitalmars-d-bugs
mailing list