Chandler Carruth
15d82b7d33
[x86] Fix a miscompile in the new shuffle lowering found through the new
...
fuzz testing.
The function which tested for adjacency did what it said on the tin, but
when I called it, I wanted it to do something more thorough: I wanted to
know if the *pairs* of shuffle elements were adjacent and started at
0 mod 2. In one place I had the decency to try to test for this, but in
the other it was completely skipped, miscompiling this test case. Fix
this by making the helper actually do what I wanted it to do everywhere
I called it (and removing the now redundant code in one place).
I *really* dislike the name "canWidenShuffleElements" for this
predicate. If anyone can come up with a better name, please let me know.
The other name I thought about was "canWidenShuffleMask" but is it
really widening the mask to reduce the number of lanes shuffled? I don't
know. Naming things is hard.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@215089 91177308-0d34-0410-b5e6-96231b3b80d8
2014-08-07 08:11:31 +00:00
..
2014-07-30 22:51:54 +00:00
2014-07-15 03:00:41 +00:00
2014-07-01 18:53:31 +00:00
2014-07-24 22:15:28 +00:00
2014-08-06 00:21:25 +00:00
2014-08-05 23:57:31 +00:00
2014-08-06 00:21:25 +00:00
2014-07-25 16:10:16 +00:00
2014-08-06 00:21:25 +00:00
2014-08-06 00:21:25 +00:00
2014-08-02 00:50:10 +00:00
2014-07-25 16:05:18 +00:00
2014-07-25 16:05:18 +00:00
2014-07-28 22:24:06 +00:00
2014-07-15 16:24:24 +00:00
2014-07-16 22:40:28 +00:00
2014-07-30 22:51:54 +00:00
2014-07-01 18:53:31 +00:00
2014-07-01 18:53:31 +00:00
2014-07-01 18:53:31 +00:00
2014-07-01 18:53:31 +00:00
2014-07-14 15:31:13 +00:00
2014-07-01 18:53:31 +00:00
2014-07-01 18:53:31 +00:00
2014-07-01 18:53:31 +00:00
2014-07-01 18:53:31 +00:00
2014-07-14 16:28:13 +00:00
2014-07-01 18:53:31 +00:00
2014-07-26 05:49:40 +00:00
2014-07-02 14:11:05 +00:00
2014-08-06 07:13:12 +00:00
2014-07-28 13:46:45 +00:00
2014-08-06 15:40:34 +00:00
2014-07-02 21:25:54 +00:00
2014-07-30 01:30:51 +00:00
2014-08-04 14:35:15 +00:00
2014-07-28 13:46:45 +00:00
2014-07-28 13:46:45 +00:00
2014-08-02 10:27:38 +00:00
2014-07-27 01:15:58 +00:00
2014-08-02 10:27:38 +00:00
2014-07-23 07:08:53 +00:00
2014-07-03 07:04:38 +00:00
2014-08-06 18:09:15 +00:00
2014-06-27 18:19:56 +00:00
2014-06-27 18:19:56 +00:00
2014-06-27 18:19:56 +00:00
2014-07-15 00:02:32 +00:00
2014-07-10 18:59:41 +00:00
2014-07-19 07:52:58 +00:00
2014-07-21 07:30:54 +00:00
2014-07-21 07:30:54 +00:00
2014-07-15 03:00:39 +00:00
2014-07-14 22:57:27 +00:00
2014-07-17 11:12:12 +00:00
2014-07-25 16:10:16 +00:00
2014-07-23 07:08:53 +00:00
2014-07-30 22:51:54 +00:00
2014-07-30 22:51:54 +00:00
2014-06-27 18:19:56 +00:00
2014-06-27 18:19:56 +00:00
2014-08-02 10:27:38 +00:00
2014-07-30 22:51:54 +00:00
2014-07-03 15:06:47 +00:00
2014-07-17 17:14:35 +00:00
2014-07-18 13:01:25 +00:00
2014-07-24 22:15:28 +00:00
2014-07-24 19:53:33 +00:00
2014-08-01 22:19:41 +00:00
2014-07-24 22:15:28 +00:00
2014-07-30 22:51:54 +00:00
2014-07-24 22:15:28 +00:00
2014-08-06 00:21:25 +00:00
2014-06-27 18:19:56 +00:00
2014-08-02 00:50:10 +00:00
2014-08-01 21:54:37 +00:00
2014-08-06 18:09:04 +00:00
2014-07-23 07:08:53 +00:00
2014-07-31 00:11:11 +00:00
2014-07-31 00:11:16 +00:00
2014-07-26 03:46:54 +00:00
2014-07-01 18:53:31 +00:00
2014-07-24 22:15:28 +00:00
2014-07-03 15:19:40 +00:00
2014-07-07 23:25:23 +00:00
2014-06-30 17:14:21 +00:00
2014-08-04 21:29:59 +00:00
2014-07-10 18:21:04 +00:00
2014-07-13 21:02:14 +00:00
2014-07-23 11:20:24 +00:00
2014-07-24 01:28:21 +00:00
2014-07-25 19:31:34 +00:00
2014-08-06 00:21:25 +00:00
2014-06-26 23:39:52 +00:00
2014-07-25 04:50:08 +00:00
2014-07-24 20:40:55 +00:00
2014-08-01 18:26:27 +00:00
2014-07-24 22:15:28 +00:00
2014-07-08 15:22:29 +00:00
2014-07-08 15:22:29 +00:00
2014-07-24 22:09:56 +00:00
2014-07-10 18:00:53 +00:00
2014-07-24 22:15:28 +00:00
2014-07-10 12:32:32 +00:00
2014-07-23 07:08:53 +00:00
2014-08-05 20:16:35 +00:00
2014-08-06 20:45:30 +00:00
2014-07-16 15:37:08 +00:00
2014-07-15 02:44:49 +00:00
2014-08-02 11:17:41 +00:00
2014-07-18 00:15:50 +00:00
2014-07-07 19:03:32 +00:00
2014-07-26 10:58:14 +00:00
2014-06-27 11:23:44 +00:00
2014-08-07 08:11:31 +00:00
2014-08-06 10:16:36 +00:00
2014-08-04 10:17:35 +00:00
2014-07-02 15:09:44 +00:00
2014-07-24 22:15:28 +00:00
2014-07-09 10:06:58 +00:00
2014-07-08 08:45:38 +00:00
2014-07-24 22:15:28 +00:00
2014-07-09 10:58:18 +00:00
2014-07-24 22:15:28 +00:00
2014-07-10 18:04:55 +00:00
2014-08-04 21:05:27 +00:00
2014-07-15 02:34:12 +00:00
2014-07-30 22:51:54 +00:00
2014-07-24 22:15:28 +00:00
2014-07-30 20:26:09 +00:00
2014-07-24 22:15:28 +00:00
2014-07-07 21:52:21 +00:00