[PATCH][AArch64] vec_pack_trunc_<mode> should split after register allocator

James Greenhalgh james.greenhalgh@arm.com
Fri Jul 21 16:42:00 GMT 2017


On Thu, Apr 27, 2017 at 05:08:38AM +0000, Hurugalawadi, Naveen wrote:
> Hi,
> 
> The instruction "vec_pack_trunc_<mode>" should be split after register
> allocator for scheduling reasons. Currently the instruction is marked as type
> multiple which means it will scheduled as single issued. However, nothing can
> be scheduled with either xtn/xtn2 which is a problem in some cases.

What's the reason for splitting this only after reload? I think we can
split this whenever we like, and that there isn't any benefit in keeping
the pair together?

Am I missing something?

Thanks,
James

> 
> The patch splits the instruction and fixes the issue.
> 
> Please review the patch and let me know if its okay.
> Bootstrapped and Regression tested on aarch64-thunder-linux.
> 
> 2017-04-27  Naveen H.S  <Naveen.Hurugalawadi@cavium.com>
> 
> 	* config/aarch64/aarch64-simd.md
> 	(aarch64_simd_vec_pack_trunc_hi_<mode>): New pattern.
> 	(vec_pack_trunc_<mode>): Split the instruction pattern.



More information about the Gcc-patches mailing list