This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

asm operand requires impossible reload


Hello!

I have the following #define:

#define HAL_DISABLE_INTERRUPTS(_old_)           \
    register int x ;                            \
    asm volatile ("st   r1, @-r15 ;\n"          \
         "mov   ps,     r1 ;\n"                 \
         "ldi:8 #0x10,  %0 ;\n"                 \
         "and   r1,     %0 ;\n"                 \
         "lsr   #1,     %0 ;\n"                 \
         "ld    @r15+,  r1 ;\n"                 \
         "andccr #0xef \n"                      \
         :      "=r" (x)                        \
        );                                      \
    (_old_) = (x);

and then a c-File using this macro.
When I compile this c-File I get this error in the line, where the macro is 
used:

asm operand requires impossible reload

What does this error message mean ?

If I compile using the -S switch, the generated assembler file looks fine and 
the inline assembler is inserted right.

Thanks,

Lars

Attachment: pgp00000.pgp
Description: PGP signature


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]