https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110751

--- Comment #36 from JuzheZhong <juzhe.zhong at rivai dot ai> ---
(In reply to Richard Biener from comment #34)
> The ELSE value of type TYPE would be constructed like
> 
>  tree var = create_tmp_var (type);
>  tree else_val = get_or_create_ssa_default_def (cfun, var);
> 
> I'm not sure const0_rtx is a good representation on RTL - how would
> you distinguish that from a conditional operation on an integer vector
> with else value zero?  Say for an integer division?

My current approach is that I passed scalar 0 to the ELSE VALUE.

So in the I relax the operand predicate of the cond_len else operand:

it can be either a register_operand has VECTOR_MODE or a const_int 0 (Note that
it
can't be the CONST_VECTOR).

So, I can distinguish the else operand. If it is a scalar const_int 0, it is
undefine. Otherwise, it is always a register operand with a vector mode.

Reply via email to