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

--- Comment #4 from Kito Cheng <kito at gcc dot gnu.org> ---
> OK, so TA is either merge or all-ones.

Yes, your understand is correct, just few more detail is that can be mixing
with either merge or all-ones.

e.g.

An 4 x i32 vector with mask 1 0 1 0

Op  =  | a | b | c | d |
Mask = | 1 | 0 | 1 | 0 |

the result could be:
| a | b | c | d |
| a | all-1 | c | d |
| a | all-1 | c | all-1 |
| a | all-1 | c | d |


> Not sure how you can use MA at the moment since you specify an existing 
> operand in your target hook.  As far as
> I can see there's no value the target hook can provide that matches any
of the implementation semantics?

That's the key point - we don't know how to return an undefined value there, we
have intrinsic can generate undefined value, but it seems impossible to
generate that within the hook.

Reply via email to