Quentin Colombet
a37862e2de
[X86] Fix a bug in the lowering of the mask of VSELECT.
...
X86 code to lower VSELECT messed a bit with the bits set in the mask of VSELECT
when it knows it can be lowered into BLEND. Indeed, only the high bits need to be
set for those and it optimizes those accordingly.
However, when the mask is a compile time constant, the lowering will be handled
by the generic optimizer and those modifications will generate bad code in the
generic optimizer.
This patch fixes that by preventing the optimization if the VSELECT will be
handled by the generic optimizer.
<rdar://problem/18675020>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@220242 91177308-0d34-0410-b5e6-96231b3b80d8
2014-10-20 23:13:30 +00:00
..
2014-07-30 22:51:54 +00:00
2014-07-15 03:00:41 +00:00
2014-10-03 20:01:09 +00:00
2014-08-28 03:41:28 +00:00
2014-10-03 20:01:09 +00:00
2014-10-03 20:01:09 +00:00
2014-10-03 20:01:09 +00:00
2014-07-24 22:15:28 +00:00
2014-10-03 20:01:09 +00:00
2014-10-03 20:01:09 +00:00
2014-10-03 20:01:09 +00:00
2014-10-03 20:01:09 +00:00
2014-10-03 20:01:09 +00:00
2014-10-03 20:01:09 +00:00
2014-10-03 20:01:09 +00:00
2014-10-03 20:01:09 +00:00
2014-10-03 20:01:09 +00:00
2014-09-02 13:54:53 +00:00
2014-10-04 03:52:55 +00:00
2014-10-01 03:19:43 +00:00
2014-08-02 00:50:10 +00:00
2014-10-03 20:01:09 +00:00
2014-10-03 20:01:09 +00:00
2014-10-03 20:01:09 +00:00
2014-08-29 21:53:01 +00:00
2014-09-03 07:11:34 +00:00
2014-09-11 17:50:20 +00:00
2014-07-15 16:24:24 +00:00
2014-10-03 20:00:34 +00:00
2014-07-16 22:40:28 +00:00
2014-08-21 09:43:43 +00:00
2014-07-30 22:51:54 +00:00
2014-08-20 19:58:59 +00:00
2014-08-07 09:41:19 +00:00
2014-10-16 20:00:02 +00:00
2014-07-14 15:31:13 +00:00
2014-10-08 23:16:23 +00:00
2014-09-25 17:27:43 +00:00
2014-10-08 19:38:18 +00:00
2014-09-23 20:59:25 +00:00
2014-07-14 16:28:13 +00:00
2014-10-20 22:14:22 +00:00
2014-09-06 10:00:01 +00:00
2014-10-14 22:31:34 +00:00
2014-10-04 03:52:55 +00:00
2014-10-04 03:52:55 +00:00
2014-10-05 11:41:36 +00:00
2014-08-18 11:59:06 +00:00
2014-08-14 17:13:33 +00:00
2014-10-15 23:42:17 +00:00
2014-10-08 23:25:37 +00:00
2014-07-28 13:46:45 +00:00
2014-08-06 15:40:34 +00:00
2014-08-21 13:28:02 +00:00
2014-10-05 14:11:08 +00:00
2014-10-04 03:52:55 +00:00
2014-10-04 03:52:55 +00:00
2014-10-08 15:49:26 +00:00
2014-07-28 13:46:45 +00:00
2014-09-26 09:48:50 +00:00
2014-08-29 08:46:04 +00:00
2014-10-08 15:49:26 +00:00
2014-09-26 09:48:50 +00:00
2014-08-29 08:46:04 +00:00
2014-07-28 13:46:45 +00:00
2014-10-08 15:49:26 +00:00
2014-09-26 09:48:50 +00:00
2014-08-13 10:46:00 +00:00
2014-08-29 08:46:04 +00:00
2014-10-04 03:52:55 +00:00
2014-09-06 10:00:01 +00:00
2014-10-14 22:31:34 +00:00
2014-10-04 03:52:55 +00:00
2014-10-05 19:14:34 +00:00
2014-09-30 02:52:28 +00:00
2014-07-23 07:08:53 +00:00
2014-08-06 18:09:15 +00:00
2014-09-16 22:36:07 +00:00
2014-09-19 01:14:56 +00:00
2014-09-20 21:18:43 +00:00
2014-10-04 03:52:55 +00:00
2014-07-15 03:00:39 +00:00
2014-07-14 22:57:27 +00:00
2014-09-05 18:03:38 +00:00
2014-08-20 18:03:00 +00:00
2014-07-17 11:12:12 +00:00
2014-10-03 20:01:09 +00:00
2014-10-03 20:01:09 +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-10-16 20:00:02 +00:00
2014-10-16 20:00:02 +00:00
2014-09-09 01:13:36 +00:00
2014-10-03 20:01:09 +00:00
2014-10-17 22:59:33 +00:00
2014-09-15 18:32:58 +00:00
2014-10-04 03:52:55 +00:00
2014-10-04 03:52:55 +00:00
2014-10-12 06:47:47 +00:00
2014-08-19 19:44:10 +00:00
2014-08-19 19:44:13 +00:00
2014-08-19 19:44:10 +00:00
2014-07-30 22:51:54 +00:00
2014-08-19 19:44:10 +00:00
2014-09-08 20:24:10 +00:00
2014-07-17 17:14:35 +00:00
2014-09-11 16:08:44 +00:00
2014-10-01 21:20:06 +00:00
2014-10-20 22:14:22 +00:00
2014-10-04 03:52:55 +00:00
2014-10-04 03:52:55 +00:00
2014-10-03 20:01:09 +00:00
2014-08-07 09:41:19 +00:00
2014-08-28 20:13:31 +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-08-20 11:59:22 +00:00
2014-08-20 11:59:22 +00:00
2014-08-20 11:59:22 +00:00
2014-08-20 11:59:22 +00:00
2014-08-20 11:59:22 +00:00
2014-10-15 03:27:43 +00:00
2014-07-24 22:15:28 +00:00
2014-10-03 20:01:09 +00:00
2014-08-29 20:50:31 +00:00
2014-08-02 00:50:10 +00:00
2014-10-10 17:06:20 +00:00
2014-10-03 01:06:32 +00:00
2014-08-01 21:54:37 +00:00
2014-08-06 18:09:04 +00:00
2014-08-29 21:42:08 +00:00
2014-10-16 20:00:02 +00:00
2014-07-23 07:08:53 +00:00
2014-10-17 17:27:06 +00:00
2014-10-03 20:01:09 +00:00
2014-08-19 19:44:06 +00:00
2014-10-04 03:52:55 +00:00
2014-10-17 17:39:00 +00:00
2014-10-02 22:21:49 +00:00
2014-10-02 22:21:49 +00:00
2014-09-15 19:00:31 +00:00
2014-10-04 03:52:55 +00:00
2014-10-04 03:52:55 +00:00
2014-10-03 01:06:32 +00:00
2014-07-24 22:15:28 +00:00
2014-10-07 23:53:57 +00:00
2014-09-22 18:07:20 +00:00
2014-07-07 23:25:23 +00:00
2014-10-10 17:06:20 +00:00
2014-08-08 08:21:19 +00:00
2014-09-22 13:11:35 +00:00
2014-09-22 13:11:35 +00:00
2014-08-04 21:29:59 +00:00
2014-10-06 20:19:47 +00:00
2014-07-10 18:21:04 +00:00
2014-07-13 21:02:14 +00:00
2014-10-05 22:57:31 +00:00
2014-09-25 23:14:26 +00:00
2014-10-15 03:27:43 +00:00
2014-09-22 18:54:01 +00:00
2014-10-04 03:52:55 +00:00
2014-10-14 22:31:34 +00:00
2014-10-04 03:52:55 +00:00
2014-09-16 00:24:42 +00:00
2014-09-16 00:15:20 +00:00
2014-10-04 03:52:55 +00:00
2014-09-06 10:00:01 +00:00
2014-09-06 10:00:01 +00:00
2014-10-05 22:57:31 +00:00
2014-10-04 03:52:55 +00:00
2014-10-04 03:52:55 +00:00
2014-07-25 19:31:34 +00:00
2014-10-03 20:01:09 +00:00
2014-10-03 20:01:09 +00:00
2014-10-02 22:21:49 +00:00
2014-10-02 22:21:49 +00:00
2014-10-02 22:21:49 +00:00
2014-10-02 22:21:49 +00:00
2014-10-02 22:21:49 +00:00
2014-07-24 22:15:28 +00:00
2014-10-04 03:52:55 +00:00
2014-07-08 15:22:29 +00:00
2014-07-24 22:09:56 +00:00
2014-08-20 19:00:37 +00:00
2014-07-10 18:00:53 +00:00
2014-10-04 03:52:55 +00:00
2014-10-04 03:52:55 +00:00
2014-10-03 20:01:09 +00:00
2014-10-05 22:57:31 +00:00
2014-08-22 21:59:26 +00:00
2014-08-29 21:25:28 +00:00
2014-08-22 21:59:26 +00:00
2014-10-04 03:52:55 +00:00
2014-09-12 15:10:56 +00:00
2014-10-04 03:52:55 +00:00
2014-10-04 04:22:55 +00:00
2014-08-05 20:16:35 +00:00
2014-08-14 15:15:28 +00:00
2014-07-16 15:37:08 +00:00
2014-10-04 03:52:55 +00:00
2014-07-15 02:44:49 +00:00
2014-10-04 03:52:55 +00:00
2014-08-28 18:59:22 +00:00
2014-09-05 22:26:22 +00:00
2014-10-04 03:52:55 +00:00
2014-07-07 19:03:32 +00:00
2014-10-04 03:52:55 +00:00
2014-10-04 03:52:55 +00:00
2014-10-05 22:57:31 +00:00
2014-10-03 21:38:49 +00:00
2014-10-14 22:31:34 +00:00
2014-10-05 12:07:34 +00:00
2014-10-13 16:16:16 +00:00
2014-10-13 16:16:16 +00:00
2014-10-01 00:41:21 +00:00
2014-10-01 00:41:21 +00:00
2014-10-05 11:41:36 +00:00
2014-10-05 22:57:31 +00:00
2014-10-03 11:25:58 +00:00
2014-10-05 12:07:34 +00:00
2014-10-20 23:13:30 +00:00
2014-10-04 03:52:55 +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-09-19 20:00:32 +00:00
2014-07-24 22:15:28 +00:00
2014-10-04 03:52:55 +00:00
2014-08-04 21:05:27 +00:00
2014-09-02 18:42:44 +00:00
2014-07-15 02:34:12 +00:00
2014-09-17 07:09:23 +00:00
2014-09-17 07:09:23 +00:00
2014-09-17 07:09:23 +00:00
2014-09-17 07:09:23 +00:00
2014-07-30 22:51:54 +00:00
2014-08-07 09:41:19 +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-08-19 19:44:06 +00:00