[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