Is FLAGS/EFLAGS part of “CC” (condition control) for clobber list?
This is a follow up to What is "=qm" in extended assembler . When using RDRAND , it sets (or unsets) the Carry Flag ( CF ): char rc; unsigned int val; __asm__ volatile( "rdrand %0 ; setc %1" : "=r" (val), "=qm" (rc) ); // 1 = success, 0 = underflow if(rc) { // use val ... } Are the FLAGS and EFLAGS registers considered part of condition control so that it conveys the proper information to the compiler? Should the above be written as: __asm__ volatile( "rdrand %0 ; setc %1" : "=r" (val), "=qm" (rc) : : "cc" ); Or is the use of "cc" spurious? I know its harmless to use if unneeded. From Extended