------- 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