Hi All, asm volatile ( "\n\t" : : "r" (pu8In4), "r" (s32PosInt), "r" (s16CoeffOrg), "r" (u32PosFrac), "r" (u8Out), "r" (u32Step), "r" (u32TgtWidth) : "r2", "r3", "r4", "r5", "r6", "r7", "r8 ); I have tested the above application with gcc-4.3 and gcc-4.2 toolchain:- With gcc-4.2 we are able to compile the aboe code with –O1 #gcc-4.2 reg_org.c -O1 but getting the following error while compiling the code with gcc-4.3 #gcc-4.3 reg_org.c -O1 reg_org.c:12: error: can't find a register in class 'GENERAL_REGS' while reloading 'asm' reg_org.c:12: error: 'asm' operand has impossible constraints I Want to know 1-> why compilation is happening with gcc-4.2 toolchian not with gcc-4.3 2-> what is the difference between gcc-4.2 and gcc4.3 related to asm volatile Thanks,