[Bug c/43319] New: Lack of documentation on asm extension

pi3orama at gmail dot com gcc-bugzilla@gcc.gnu.org
Wed Mar 10 07:34:00 GMT 2010


I saw directives after '%' in glibc's code:

asm volatile ("movl %1, %0\n" : "=r" (a) : "i" (0x1234));
asm volatile ("movl %c1, %0\n" : "=r" (a) : "i" (0x1234));
asm volatile ("movl %P1, %0\n" : "=r" (a) : "i" (0x1234));

Currently I know the first line generates a imm load instruction (movl $0x1234,
%eax), the second and the third line generate memory load operations (movl
0x1234, %eax). However, I don't know the difference between "%P" and "%c"
directives. I read through section 5.37 and 5.38 of gcc.info (5.37 is Assembler
Instructions with C Expression Operands; 5.38 is Constraints for `asm'
Operands) but find nothing about them.

Where to find documentation of them? Does gcc.info contain some information?


-- 
           Summary: Lack of documentation on asm extension
           Product: gcc
           Version: unknown
            Status: UNCONFIRMED
          Severity: minor
          Priority: P3
         Component: c
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: pi3orama at gmail dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43319



More information about the Gcc-bugs mailing list