> This is intended to be an enabling technology for my real project, in which I 
> want to transform scalar operations into vector operations in the backend, 
> and the special casing for memory accesses was getting out of hand. By 
> expressing (unmasked) vector operations identically to the scalar equivalent 
> I can simplify things greatly, and the other compiler passes can do (some of) 
> their special MEM handling as they normally would.

Could you sketch what you want to achieve?  I'm just trying to get an idea of 
what the "option space" is.  Like, could you do your transform at gimple level?
If that were possible, things could maybe just stay opaque at RTL level?

Maybe related: I have been starting with "native" vector masking for RTL via a 
"vec_predicate" and I wonder if your requirements could influence the design of 
predicated movs, loads, and stores.  But that's a separate topic.

-- 
Regards
 Robin

Reply via email to