On Sat, Apr 14, 2007 at 11:28:59AM -0700, H. J. Lu wrote:
> __builtin_ia32_vec_set_v2di will be expanded to
> 
>   [(set (match_operand:V2DI 0 "register_operand" "=x")
>         (vec_merge:V2DI
>           (vec_duplicate:V2DI
>             (match_operand:DI 2 "nonimmediate_operand" "rm"))
>           (match_operand:V2DI 1 "register_operand" "0")
>           (match_operand:SI 3 "const_pow2_1_to_2_operand" "n")))]

That's irrelevant.  You have a function, __builtin_ia32_vec_set_v2di,
which you didn't show the type of - but there's probably nothing in
the C builtin decl that says it modifies its arguments.  If the RTL
says that it clobbers its first input, then the RTL register allocator
is responsible for handling that.

-- 
Daniel Jacobowitz
CodeSourcery

Reply via email to