target-ppc: improve lxvw4x implementation
commitf34001ec96ebc126aad49db4e3e01391b28ed264
authorNikunj A Dadhania <nikunj@linux.vnet.ibm.com>
Wed, 28 Sep 2016 18:41:55 +0000 (29 00:11 +0530)
committerDavid Gibson <david@gibson.dropbear.id.au>
Wed, 5 Oct 2016 00:05:28 +0000 (5 11:05 +1100)
tree25979f25d0e494a1cc5124c0bc04a81447f7e15e
parentb9731075b3c6417eca2bc14612688046c4b7f9e6
target-ppc: improve lxvw4x implementation

Load 8byte at a time and manipulate.

Big-Endian Storage
+-------------+-------------+-------------+-------------+
| 00 11 22 33 | 44 55 66 77 | 88 99 AA BB | CC DD EE FF |
+-------------+-------------+-------------+-------------+

Little-Endian Storage
+-------------+-------------+-------------+-------------+
| 33 22 11 00 | 77 66 55 44 | BB AA 99 88 | FF EE DD CC |
+-------------+-------------+-------------+-------------+

Vector load results in (32-bit elements):
+----------+----------+----------+----------+
00112233 | 44556677 | 8899AABB | CCDDEEFF |
+----------+----------+----------+----------+

Signed-off-by: Nikunj A Dadhania <nikunj@linux.vnet.ibm.com>
Reviewed-by: Richard Henderson <rth@twiddle.net>
[dwg: Slight tweak to commit description]
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
target-ppc/translate/vsx-impl.inc.c