The inline assembly in memset_with_concurrent_readers_sparc.cpp uses the special "+" and "&" syntax to specify that the registers are input+output and earlyclobber respectively. However, as described by the gcc documentation (http://gcc.gnu.org/onlinedocs/gcc/Modifiers.html ):
"If you specify ‘=’ or ‘+’ in a constraint, you put it in the first character of the constraint string."
Also, when using the '+' the constraint needs to be listed in the set of output constraints, since the register is modified by the instruction.
"If you specify ‘=’ or ‘+’ in a constraint, you put it in the first character of the constraint string."
Also, when using the '+' the constraint needs to be listed in the set of output constraints, since the register is modified by the instruction.