ldrd and strd registers require pair of registers restricted to being an
even-numbered register and the odd-numbered register that immediately follows
it (for example, R10 and R11).

We need additional constraint when declaring unsigned long long to assign
appropriate register-pair so it will work with ldrd/strd in inline-asm.

Example:
register usigned long long x asm ("???");
asm volatile ("ldrd\t%0, [%1]" : "=r" (x) : "r" (io_base));


-- 
           Summary: ARM register constraint for ldrd and strd instructions
           Product: gcc
           Version: unknown
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: inline-asm
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: paulius dot zaleckas at gmail dot com


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

Reply via email to