[Bug target/16331] x86-64 inline asm register constraints insufficient WRT ABI
falk at debian dot org
gcc-bugzilla@gcc.gnu.org
Sat Jul 2 10:17:00 GMT 2005
------- Additional Comments From falk at debian dot org 2005-07-02 10:17 -------
(In reply to comment #4)
> The first call of pokus() completely ignores the assigned value of the variable
> r8 -- instead the value '6' into it for the call. The second call assumes the
> the register r8 should be used for the call, but by now the wrong value has bee
> placed into it.
I cannot reproduce this with gcc 3.3.6, the generated assembly looks just
fine for me:
0000000000000000 <test>:
0: 55 push %rbp
1: 48 89 e5 mov %rsp,%rbp
4: e8 00 00 00 00 callq 9 <test+0x9>
5: R_X86_64_PC32 hokus+0xfffffffffffffffc
9: 41 89 c0 mov %eax,%r8d
c: 41 b9 06 00 00 00 mov $0x6,%r9d
12: be 02 00 00 00 mov $0x2,%esi
17: ba 03 00 00 00 mov $0x3,%edx
1c: b9 04 00 00 00 mov $0x4,%ecx
21: 44 89 c7 mov %r8d,%edi
24: e8 00 00 00 00 callq 29 <test+0x29>
25: R_X86_64_PC32 pokus+0xfffffffffffffffc
29: e8 00 00 00 00 callq 2e <test+0x2e>
2a: R_X86_64_PC32 hokus+0xfffffffffffffffc
2e: 41 b9 06 00 00 00 mov $0x6,%r9d
34: 41 b8 05 00 00 00 mov $0x5,%r8d
3a: b9 04 00 00 00 mov $0x4,%ecx
3f: ba 03 00 00 00 mov $0x3,%edx
44: be 02 00 00 00 mov $0x2,%esi
49: 44 89 c7 mov %r8d,%edi
4c: b8 00 00 00 00 mov $0x0,%eax
51: e8 00 00 00 00 callq 56 <test+0x56>
52: R_X86_64_PC32 pokus+0xfffffffffffffffc
56: c9 leaveq
Please retry and give the exact version and flags you used.
--
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |WAITING
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16331
More information about the Gcc-bugs
mailing list