On 11 May 2007 19:27, Paul Brook wrote: >>> > result = __macf(operand1, operand2, operand3); > >>> > } >>> > >>> > Requirement : I need the value of operand3 and result to be same > >>> after calling the builtin. > But this is not happening. >>> >>> What do you mean, exactly? C only has call by value, and gcc's >>> builtins can only return one value. Builtins don't change their >>> arguments. If you want to update one of the arguments you'll have to >>> pass a pointer to the builtin. >> >> After the builtin i want to have the following operations also to carried >> out operand3 = result ; > > Why do you want this to happen?
I think what he means is he wants operand 3 and operand zero to be placed in the same register, hence the "0" constraint. As to quite why it's not working, I don't know. A very similar pattern, only with "=&" modifiers on operand zero, works fine for me under 3.4.4. cheers, DaveK -- Can't think of a witty .sigline today....