Stefan Maksimovic
b794c0a5ca
[mips][msa] Splat.d endianness check
...
Before this change, it was always the first element of a vector that got splatted since the lower 6 bits of vshf.d $wd were always zero for little endian.
Additionally, masking has been performed for vshf via which splat.d is created.
Vshf has a property where if its first operand's elements have either bit 6 or 7 set, destination element is set to zero.
Initially masked with 63 to avoid this property, which would result in generation of and.v + vshf.d in all cases.
Masking with one results in generating a single splati.d instruction when possible.
Differential Revision: https://reviews.llvm.org/D32216
llvm-svn: 306090
2017-06-23 09:09:31 +00:00
..
2017-06-09 14:37:08 +00:00
2017-05-30 21:28:57 +00:00
2017-01-27 11:36:52 +00:00
2017-03-30 17:49:58 +00:00
2017-06-14 14:46:30 +00:00
2017-06-16 14:00:33 +00:00
2016-06-23 12:42:53 +00:00
2017-06-23 09:09:31 +00:00
2017-06-07 11:21:37 +00:00
2017-06-14 14:46:30 +00:00
2016-11-08 13:03:45 +00:00
2017-01-27 11:36:52 +00:00
2017-01-27 11:36:52 +00:00
2017-01-27 11:36:52 +00:00
2016-06-23 12:42:53 +00:00
2016-07-19 10:49:03 +00:00
2016-06-24 12:23:17 +00:00
2016-07-19 10:49:03 +00:00
2017-03-09 14:03:26 +00:00
2017-06-07 12:59:53 +00:00
2016-07-19 10:49:03 +00:00
2017-01-27 11:36:52 +00:00
2017-01-11 19:55:19 +00:00
2017-01-11 19:55:19 +00:00
2017-01-11 19:55:19 +00:00
2017-01-11 19:55:19 +00:00
2017-01-31 23:48:32 +00:00
2016-08-04 09:17:07 +00:00
2017-06-13 14:11:29 +00:00
2016-06-24 12:23:17 +00:00
2016-10-27 15:50:36 +00:00
2016-06-24 12:23:17 +00:00
2016-06-24 12:23:17 +00:00
2017-03-15 13:10:08 +00:00
2016-07-25 09:57:28 +00:00
2016-06-24 12:23:17 +00:00
2016-06-24 12:23:17 +00:00
2017-06-09 14:37:08 +00:00
2017-06-09 14:37:08 +00:00
2017-03-15 13:10:08 +00:00
2017-06-21 09:25:51 +00:00
2016-09-01 14:53:53 +00:00
2017-06-14 14:46:30 +00:00
2017-06-07 14:48:46 +00:00
2016-06-24 12:23:17 +00:00
2016-06-14 13:39:43 +00:00
2016-06-24 12:23:17 +00:00
2016-06-24 12:23:17 +00:00
2016-06-24 18:16:36 +00:00
2016-12-08 22:10:38 +00:00
2017-01-27 11:36:52 +00:00
2017-06-17 02:08:18 +00:00
2017-03-14 00:34:14 +00:00
2017-01-27 11:36:52 +00:00
2017-01-27 11:36:52 +00:00
2017-06-06 15:33:01 +00:00
2016-12-08 22:10:44 +00:00
2016-06-24 12:23:17 +00:00
2016-06-24 12:23:17 +00:00
2016-07-19 10:49:03 +00:00
2016-06-24 12:23:17 +00:00
2017-01-27 11:36:52 +00:00
2016-09-27 13:15:54 +00:00
2016-06-24 12:23:17 +00:00
2016-11-20 21:23:08 +00:00
2016-09-27 13:15:54 +00:00
2016-06-24 12:23:17 +00:00
2016-06-24 12:23:17 +00:00
2017-01-27 11:36:52 +00:00
2016-06-24 12:23:17 +00:00
2016-06-23 12:42:53 +00:00
2016-07-19 10:49:03 +00:00
2016-06-14 13:39:43 +00:00
2016-06-14 13:39:43 +00:00
2016-11-20 21:23:08 +00:00
2017-06-14 14:46:30 +00:00
2017-03-15 13:10:08 +00:00
2017-06-19 19:48:59 +00:00
2016-06-27 08:23:28 +00:00
2017-06-14 14:46:30 +00:00
2017-02-03 11:14:39 +00:00
2016-06-16 09:17:03 +00:00
2017-05-22 12:47:41 +00:00
2017-01-31 23:48:32 +00:00
2017-06-07 11:21:37 +00:00
2017-03-14 00:34:14 +00:00
2016-07-11 07:41:56 +00:00
2017-03-14 00:34:14 +00:00
2017-05-22 09:06:44 +00:00
2017-01-27 11:36:52 +00:00
2016-06-23 12:42:53 +00:00
2017-06-07 11:21:37 +00:00
2016-07-25 09:57:28 +00:00
2017-01-27 11:36:52 +00:00
2016-06-24 12:23:17 +00:00
2016-06-24 12:23:17 +00:00
2017-03-14 00:34:14 +00:00
2017-01-15 10:23:18 +00:00
2016-08-04 09:17:07 +00:00
2016-06-24 12:23:17 +00:00
2016-09-01 14:53:53 +00:00
2017-03-14 00:34:14 +00:00
2017-03-14 00:34:14 +00:00
2016-06-24 12:23:17 +00:00
2016-07-19 10:49:03 +00:00
2017-06-08 21:30:54 +00:00
2016-09-01 14:53:53 +00:00
2016-06-27 03:19:40 +00:00
2017-03-09 11:19:48 +00:00
2017-06-09 14:37:08 +00:00
2016-10-19 16:58:59 +00:00
2016-09-09 11:06:01 +00:00
2016-07-14 13:25:22 +00:00
2016-07-22 07:18:33 +00:00
2016-07-22 07:18:33 +00:00
2016-07-22 07:18:33 +00:00
2016-07-22 07:18:33 +00:00
2016-07-22 07:18:33 +00:00
2016-07-22 07:18:33 +00:00
2016-07-22 07:18:33 +00:00
2016-07-22 07:18:33 +00:00
2016-07-22 07:18:33 +00:00
2016-07-22 07:18:33 +00:00
2016-07-22 07:18:33 +00:00
2016-07-22 07:18:33 +00:00
2016-07-22 07:18:33 +00:00
2016-07-22 07:18:33 +00:00
2016-07-22 07:18:33 +00:00
2017-04-10 20:18:21 +00:00
2017-01-27 11:36:52 +00:00
2017-04-10 20:18:21 +00:00
2016-06-16 10:20:59 +00:00
2016-10-03 21:58:20 +00:00
2016-10-03 21:58:20 +00:00
2016-10-03 21:58:20 +00:00
2016-10-03 21:58:20 +00:00
2017-03-09 11:19:48 +00:00
2016-06-24 12:23:17 +00:00
2017-02-15 10:48:11 +00:00
2017-02-15 10:48:11 +00:00
2016-06-24 12:23:17 +00:00