[PATCH] [AArch64] Change default legalization behavior of v1i32 to be widen to v2i32 instead of scalarization

Hao Liu Hao.Liu at arm.com
Mon Oct 27 00:40:58 PDT 2014


>>! In D4322#23, @ab wrote:
> I agree with Chandler, promotion isn't ideal, and from my quick experiments, it creates other problems by solving this one.
> I guess we'll have to resort to working around the issue in the legalizer (Hao's solution #2, my #3, and the same as r205625).
> See: http://reviews.llvm.org/differential/diff/15333/
> 
> Are you both fine with that?
Hi Ahmed,

Just one point about the following comments:
     // For instance, this happens on AArch64, v1i1 is illegal but v1i{8,16,32}
     // are widened to v1i64, which is legal.
v1i8, v1i16, v1i32 are widened to v8i8, v4i16, v2i32. If a type is legalized to v1i64, it is promoted.

I'm fine with that patch. But as I'm not quite familiar type legalize, it would be good to have someone expert like Chandler to also look it over.

Thanks,
-Hao

http://reviews.llvm.org/D4322






More information about the llvm-commits mailing list