Jonas Paulsson ef7aad0db4 [SystemZ] Improve handling of ZERO_EXTEND_VECTOR_INREG.
Instead of doing multiple unpacks when zero extending vectors (e.g. v2i16 ->
v2i64), benchmarks have shown that it is better to do a VPERM (vector
permute) since that is only one sequential instruction on the critical path.

This patch achieves this by

1. Expand ZERO_EXTEND_VECTOR_INREG into a vector shuffle with a zero vector
   instead of (multiple) unpacks.

2. Improve SystemZ::GeneralShuffle to perform a single unpack as the last
   operation if Bytes matches it.

Review: Ulrich Weigand
Differential Revision: https://reviews.llvm.org/D78486
2020-06-30 09:08:10 +02:00
..
2018-07-20 12:12:10 +00:00
2018-07-20 12:12:10 +00:00
2018-07-20 12:12:10 +00:00
2018-07-20 12:12:10 +00:00
2017-10-06 13:59:28 +00:00
2020-02-04 10:32:45 -05:00
2019-11-20 19:08:27 +01:00
2019-11-20 19:08:27 +01:00
2019-11-20 19:08:27 +01:00
2019-11-20 19:08:27 +01:00
2018-10-27 15:00:38 +00:00
2018-10-27 15:00:38 +00:00
2019-11-20 19:08:27 +01:00
2019-11-20 19:08:27 +01:00
2019-11-20 19:08:27 +01:00
2019-11-20 19:08:27 +01:00
2019-11-20 19:08:27 +01:00
2019-03-14 11:56:41 +00:00
2020-04-28 09:43:03 +02:00
2019-09-25 14:00:33 +00:00
2018-07-20 12:12:10 +00:00
2018-07-20 12:12:10 +00:00
2018-07-20 12:12:10 +00:00
2018-07-20 12:12:10 +00:00
2018-07-20 12:12:10 +00:00
2017-10-06 13:59:28 +00:00
2017-10-06 13:59:28 +00:00
2017-10-06 13:59:28 +00:00
2019-11-20 19:08:27 +01:00
2019-11-20 19:08:27 +01:00
2020-02-04 10:32:45 -05:00
2020-02-04 10:32:45 -05:00
2019-11-20 19:08:27 +01:00
2019-11-20 19:08:27 +01:00
2019-11-20 19:08:27 +01:00
2019-11-20 19:08:27 +01:00
2019-11-20 19:08:27 +01:00
2018-07-20 12:12:10 +00:00
2018-07-20 12:12:10 +00:00
2018-07-20 12:12:10 +00:00
2018-07-20 12:12:10 +00:00
2018-07-20 12:12:10 +00:00