Roman Lebedev
c4b83a6054
[Codegen][X86][AArch64][ARM][PowerPC] Inc-of-add vs sub-of-not (PR42457)
...
Summary:
This is the backend part of [[ https://bugs.llvm.org/show_bug.cgi?id=42457 | PR42457 ]].
In middle-end, we'd want to prefer the form with two adds - D63992,
but as this diff shows, not every target will prefer that pattern.
Out of 4 targets for which i added tests all seem to be ok with inc-of-add for scalars,
but only X86 prefer that same pattern for vectors.
Here i'm adding a new TLI hook, always defaulting to the inc-of-add,
but adding AArch64,ARM,PowerPC overrides to prefer inc-of-add only for scalars.
Reviewers: spatel, RKSimon, efriedma, t.p.northover, hfinkel
Reviewed By: efriedma
Subscribers: nemanjai, javed.absar, kristof.beyls, kbarton, jsji, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D64090
llvm-svn: 365010
2019-07-03 09:41:35 +00:00
..
2018-08-28 01:18:29 +00:00
2018-08-28 01:18:29 +00:00
2018-08-28 01:18:29 +00:00
2018-08-28 01:18:29 +00:00
2018-08-28 01:18:29 +00:00
2018-08-28 01:18:29 +00:00
2018-08-28 01:18:29 +00:00
2018-08-28 01:18:29 +00:00
2018-08-28 01:18:29 +00:00
2018-08-28 01:18:29 +00:00
2018-08-28 01:18:29 +00:00
2018-08-28 01:18:29 +00:00
2018-08-28 01:18:29 +00:00
2018-08-28 01:18:29 +00:00
2018-08-28 01:18:29 +00:00
2018-08-28 01:18:29 +00:00
2018-08-28 01:18:29 +00:00
2018-08-28 01:18:29 +00:00
2018-08-28 01:18:29 +00:00
2018-08-28 01:18:29 +00:00
2018-08-28 01:18:29 +00:00
2018-08-28 01:18:29 +00:00
2018-08-28 01:18:29 +00:00
2018-08-28 01:18:29 +00:00
2018-08-28 01:18:29 +00:00
2018-08-28 01:18:29 +00:00
2018-08-28 01:18:29 +00:00
2018-08-28 01:18:29 +00:00
2018-08-28 01:18:29 +00:00
2018-08-28 01:18:29 +00:00
2018-08-28 01:18:29 +00:00
2018-08-28 01:18:29 +00:00
2018-08-28 01:18:29 +00:00
2018-08-28 01:18:29 +00:00
2018-08-28 01:18:29 +00:00
2018-08-28 01:18:29 +00:00
2019-07-02 03:28:52 +00:00
2018-08-28 01:18:29 +00:00
2018-08-28 01:18:29 +00:00
2018-08-28 01:18:29 +00:00
2018-08-28 01:18:29 +00:00
2018-08-28 01:18:29 +00:00
2018-08-28 01:18:29 +00:00
2018-08-28 01:18:29 +00:00
2018-08-28 01:18:29 +00:00
2018-08-28 01:18:29 +00:00
2019-01-14 10:55:55 +00:00
2018-08-28 01:18:29 +00:00
2018-08-28 01:18:29 +00:00
2018-08-28 01:18:29 +00:00
2018-08-28 01:18:29 +00:00
2019-01-14 10:55:55 +00:00
2018-08-28 01:18:29 +00:00
2018-08-28 01:18:29 +00:00
2018-09-30 17:23:21 +00:00
2018-10-10 02:33:48 +00:00
2018-12-07 05:25:16 +00:00
2018-08-28 01:18:29 +00:00
2018-12-25 03:29:51 +00:00
2019-05-03 19:06:57 +00:00
2019-07-03 01:49:03 +00:00
2018-10-12 14:02:20 +00:00
2018-09-07 07:56:05 +00:00
2019-06-06 19:13:36 +00:00
2018-08-28 01:18:29 +00:00
2019-03-19 19:01:34 +00:00
2018-08-28 01:18:29 +00:00
2018-08-28 01:18:29 +00:00
2018-12-28 02:12:55 +00:00
2018-12-28 02:12:55 +00:00
2018-08-28 01:18:29 +00:00
2018-12-04 20:14:57 +00:00
2018-08-28 01:18:29 +00:00
2018-08-28 01:18:29 +00:00
2019-06-14 23:08:59 +00:00
2018-12-28 02:12:55 +00:00
2018-08-28 01:18:29 +00:00
2018-10-11 18:28:59 +00:00
2018-08-20 02:52:55 +00:00
2018-12-28 08:00:39 +00:00
2019-06-26 05:12:53 +00:00
2018-08-20 02:52:55 +00:00
2019-03-06 18:22:22 +00:00
2018-08-28 01:18:29 +00:00
2018-11-29 03:04:39 +00:00
2019-06-13 13:56:19 +00:00
2019-05-14 03:11:24 +00:00
2019-06-07 14:54:47 +00:00
2019-01-03 05:04:18 +00:00
2018-08-28 01:18:29 +00:00
2019-06-14 23:08:59 +00:00
2018-08-28 01:18:29 +00:00
2019-04-30 03:39:05 +00:00
2018-12-10 20:55:34 +00:00
2019-06-05 02:36:40 +00:00
2019-06-25 16:00:16 +00:00
2018-10-26 06:48:53 +00:00
2019-06-12 02:45:27 +00:00
2018-08-28 01:18:29 +00:00
2018-08-28 01:18:29 +00:00
2019-02-22 16:20:34 +00:00
2019-03-05 04:56:54 +00:00
2019-03-05 04:56:54 +00:00
2019-06-17 09:13:29 +00:00
2018-12-03 03:32:57 +00:00
2018-12-07 05:25:16 +00:00
2018-09-20 03:09:15 +00:00
2019-01-14 10:55:55 +00:00
2019-02-28 12:23:28 +00:00
2019-06-07 14:54:47 +00:00
2018-12-07 05:25:16 +00:00
2019-06-06 23:49:01 +00:00
2019-06-07 07:35:30 +00:00
2018-12-07 05:25:16 +00:00
2019-07-03 01:49:03 +00:00
2019-07-03 01:49:03 +00:00
2018-12-07 05:25:16 +00:00
2018-08-28 01:18:29 +00:00
2019-04-29 23:25:33 +00:00
2019-06-19 00:25:39 +00:00
2018-10-30 23:28:27 +00:00
2019-01-15 16:18:52 +00:00
2018-12-07 05:25:16 +00:00
2019-06-03 19:09:15 +00:00
2019-01-14 10:55:55 +00:00
2019-06-14 23:08:59 +00:00
2019-07-02 03:28:52 +00:00
2018-08-27 11:20:27 +00:00
2019-07-02 03:28:52 +00:00
2019-01-03 05:04:18 +00:00
2018-10-23 17:11:36 +00:00
2019-01-03 05:04:18 +00:00
2019-06-07 14:54:47 +00:00
2019-01-03 05:04:18 +00:00
2018-12-04 20:14:57 +00:00
2018-08-28 01:18:29 +00:00
2018-12-04 20:14:57 +00:00
2019-01-25 07:24:59 +00:00
2019-01-10 06:20:14 +00:00
2018-08-20 02:52:55 +00:00
2019-02-25 02:46:16 +00:00
2019-05-14 03:11:24 +00:00
2018-08-20 02:52:55 +00:00
2019-05-07 13:48:03 +00:00
2019-06-03 19:12:15 +00:00
2019-03-19 19:01:34 +00:00
2018-08-20 02:52:55 +00:00
2019-03-19 19:01:34 +00:00
2019-01-14 10:55:55 +00:00
2019-01-14 10:55:55 +00:00
2019-01-14 10:55:55 +00:00
2019-01-14 10:55:55 +00:00
2018-08-28 01:18:29 +00:00
2019-05-25 13:48:07 +00:00
2018-11-16 19:24:23 +00:00
2018-08-09 17:26:22 +00:00
2018-09-03 03:14:29 +00:00
2018-08-28 01:18:29 +00:00
2018-08-28 01:18:29 +00:00
2018-12-06 19:18:56 +00:00
2019-06-27 14:11:31 +00:00
2018-08-20 02:52:55 +00:00
2019-06-13 13:56:19 +00:00
2019-07-03 09:41:35 +00:00
2018-08-28 01:18:29 +00:00
2018-08-28 01:18:29 +00:00
2019-05-22 16:16:15 +00:00
2019-05-13 17:27:44 +00:00
2019-04-26 18:45:04 +00:00
2019-02-28 10:56:39 +00:00
2018-08-28 01:18:29 +00:00
2018-08-28 01:18:29 +00:00
2018-08-28 01:18:29 +00:00
2018-12-13 09:56:19 +00:00
2019-06-05 02:36:40 +00:00
2019-06-14 23:08:59 +00:00
2018-08-28 01:18:29 +00:00
2019-02-13 23:37:23 +00:00
2019-07-02 03:28:52 +00:00
2019-06-14 23:08:59 +00:00
2019-06-13 13:56:19 +00:00
2019-06-17 09:51:07 +00:00
2019-05-28 20:47:44 +00:00
2019-05-16 13:15:27 +00:00
2018-08-08 15:20:43 +00:00
2018-08-28 01:18:29 +00:00
2019-06-15 15:10:24 +00:00
2019-05-28 20:47:44 +00:00
2019-05-16 13:15:27 +00:00
2019-07-03 01:49:03 +00:00
2018-08-28 01:18:29 +00:00
2018-08-20 02:52:55 +00:00
2019-04-12 05:21:31 +00:00
2018-08-28 01:18:29 +00:00
2018-08-20 02:52:55 +00:00
2018-12-04 20:14:57 +00:00
2018-08-20 02:52:55 +00:00
2018-12-04 20:14:57 +00:00
2019-02-28 12:23:28 +00:00
2019-06-26 12:13:13 +00:00
2019-06-26 12:13:13 +00:00
2019-06-26 12:13:13 +00:00
2019-06-26 12:13:13 +00:00
2018-12-07 05:25:16 +00:00
2019-01-03 05:04:18 +00:00
2019-03-29 03:08:39 +00:00
2019-03-29 03:08:39 +00:00
2019-03-29 03:08:39 +00:00
2019-01-03 05:04:18 +00:00
2018-08-28 01:18:29 +00:00
2018-08-28 01:18:29 +00:00
2018-08-28 01:18:29 +00:00
2018-08-28 01:18:29 +00:00
2018-08-28 01:18:29 +00:00
2018-08-28 01:18:29 +00:00
2018-08-28 01:18:29 +00:00
2019-07-03 01:49:03 +00:00
2018-08-28 01:18:29 +00:00
2019-06-17 09:13:29 +00:00
2019-05-14 03:11:24 +00:00
2019-02-28 12:23:28 +00:00
2019-03-12 18:27:09 +00:00
2018-08-28 01:18:29 +00:00
2018-12-04 20:14:57 +00:00
2018-08-24 20:00:24 +00:00
2018-10-01 20:16:27 +00:00
2019-02-08 19:50:58 +00:00
2018-08-08 15:20:43 +00:00
2018-09-14 21:26:05 +00:00
2018-08-28 01:18:29 +00:00
2019-06-28 19:48:31 +00:00
2019-06-25 15:56:32 +00:00
2019-06-25 15:56:32 +00:00
2019-03-06 15:00:10 +00:00
2019-07-02 03:28:52 +00:00
2018-08-20 02:52:55 +00:00
2019-05-15 17:29:58 +00:00
2018-12-30 15:13:51 +00:00
2018-12-04 20:14:57 +00:00
2019-03-13 17:07:09 +00:00
2019-05-22 07:29:59 +00:00
2018-12-04 20:14:57 +00:00
2019-01-02 17:58:27 +00:00
2018-12-19 03:04:07 +00:00
2018-12-30 15:13:51 +00:00
2019-06-13 13:56:19 +00:00
2018-12-30 15:13:51 +00:00
2018-12-04 20:14:57 +00:00
2018-08-20 02:52:55 +00:00
2018-09-17 11:03:40 +00:00
2019-04-12 09:59:40 +00:00
2019-06-07 07:35:30 +00:00
2019-01-14 10:55:55 +00:00
2019-02-28 12:23:28 +00:00
2018-12-07 05:25:16 +00:00
2018-08-28 01:18:29 +00:00
2018-08-28 01:18:29 +00:00
2018-12-04 20:14:57 +00:00
2019-05-01 09:28:24 +00:00
2018-12-07 05:25:16 +00:00
2019-05-15 02:35:32 +00:00
2019-01-29 16:37:27 +00:00
2018-12-07 05:25:16 +00:00
2018-12-07 05:25:16 +00:00
2019-02-25 02:46:16 +00:00
2018-12-04 20:14:57 +00:00
2018-09-03 03:14:29 +00:00
2019-04-10 18:00:41 +00:00
2019-03-12 18:27:09 +00:00
2018-08-15 12:58:13 +00:00
2019-03-29 17:35:56 +00:00
2019-04-30 03:01:14 +00:00
2019-04-30 03:01:14 +00:00
2019-04-18 07:24:15 +00:00
2019-01-03 05:04:18 +00:00
2019-07-01 14:37:48 +00:00
2019-04-29 21:08:35 +00:00
2018-12-04 20:14:57 +00:00
2018-08-28 01:18:29 +00:00
2018-08-08 15:20:43 +00:00
2019-05-07 13:48:03 +00:00
2019-05-31 16:11:17 +00:00
2019-05-10 14:04:06 +00:00
2019-02-13 23:37:23 +00:00
2019-05-24 12:05:37 +00:00
2018-12-28 03:38:09 +00:00
2018-10-09 11:17:47 +00:00
2019-05-01 17:34:30 +00:00
2018-08-28 01:18:29 +00:00
2018-10-12 14:02:20 +00:00
2018-08-28 01:18:29 +00:00
2019-06-06 23:49:01 +00:00
2018-12-04 20:14:57 +00:00
2018-12-19 15:21:07 +00:00
2019-01-24 23:44:28 +00:00
2018-08-08 15:20:43 +00:00
2019-01-03 05:04:18 +00:00
2019-02-25 13:41:59 +00:00
2019-05-24 05:30:09 +00:00
2019-07-02 03:28:52 +00:00
2019-06-26 05:12:53 +00:00
2019-05-31 16:11:17 +00:00
2019-02-12 17:07:47 +00:00
2018-11-22 19:24:10 +00:00
2019-06-17 09:13:29 +00:00
2019-06-17 09:13:29 +00:00
2019-06-17 09:13:29 +00:00
2018-08-28 01:18:29 +00:00
2019-03-29 08:45:24 +00:00
2019-06-04 17:05:34 +00:00
2019-02-07 17:43:34 +00:00
2018-12-13 12:55:42 +00:00
2018-12-04 20:14:57 +00:00
2018-12-13 12:25:20 +00:00
2019-06-25 21:50:56 +00:00
2019-06-13 21:51:12 +00:00
2019-06-17 03:15:23 +00:00
2019-05-08 07:32:12 +00:00
2018-08-28 01:18:29 +00:00
2019-01-14 10:55:55 +00:00
2018-08-28 01:18:29 +00:00
2019-01-03 05:04:18 +00:00
2019-06-10 05:40:21 +00:00
2019-01-14 10:55:55 +00:00
2019-01-14 10:55:55 +00:00
2018-08-28 01:18:29 +00:00
2019-07-03 01:49:03 +00:00
2018-12-07 05:25:16 +00:00
2019-07-03 09:41:35 +00:00
2019-01-03 05:04:18 +00:00
2018-09-18 13:43:16 +00:00
2018-09-18 13:43:16 +00:00
2018-08-28 01:18:29 +00:00
2019-06-06 19:13:36 +00:00
2018-09-03 03:14:29 +00:00
2018-12-04 20:14:57 +00:00
2018-12-04 20:14:57 +00:00
2018-12-04 20:14:57 +00:00
2018-12-04 20:14:57 +00:00
2018-12-04 20:14:57 +00:00
2018-12-04 20:14:57 +00:00
2018-12-04 20:14:57 +00:00
2018-12-04 20:14:57 +00:00
2018-12-04 20:14:57 +00:00
2018-12-04 20:14:57 +00:00
2018-12-04 20:14:57 +00:00
2018-12-04 20:14:57 +00:00
2019-03-29 17:35:56 +00:00
2018-12-04 20:14:57 +00:00
2018-11-22 19:24:10 +00:00
2018-11-22 19:24:10 +00:00
2018-11-22 19:24:10 +00:00
2018-12-04 20:14:57 +00:00
2018-12-04 20:14:57 +00:00
2018-12-04 20:14:57 +00:00
2018-12-04 20:14:57 +00:00
2018-12-04 20:14:57 +00:00
2018-12-04 20:14:57 +00:00
2018-12-04 20:14:57 +00:00
2018-12-04 20:14:57 +00:00
2018-12-04 20:14:57 +00:00
2018-12-04 20:14:57 +00:00
2018-12-04 20:14:57 +00:00
2018-11-22 19:24:10 +00:00
2018-11-22 19:24:10 +00:00
2018-11-22 19:24:10 +00:00
2018-12-04 20:14:57 +00:00
2018-12-04 20:14:57 +00:00
2018-12-04 20:14:57 +00:00
2018-12-04 20:14:57 +00:00
2018-12-04 20:14:57 +00:00
2018-12-04 20:14:57 +00:00
2018-12-04 20:14:57 +00:00
2018-12-04 20:14:57 +00:00
2018-12-04 20:14:57 +00:00
2018-12-04 20:14:57 +00:00
2018-12-04 20:14:57 +00:00
2018-12-04 20:14:57 +00:00
2018-12-04 20:14:57 +00:00
2018-12-04 20:14:57 +00:00
2018-12-04 20:14:57 +00:00
2018-12-04 20:14:57 +00:00
2018-12-04 20:14:57 +00:00
2018-12-04 20:14:57 +00:00
2018-12-04 20:14:57 +00:00
2018-12-04 20:14:57 +00:00
2018-11-22 19:24:10 +00:00
2018-11-22 19:24:10 +00:00
2018-11-22 19:24:10 +00:00
2018-12-04 20:14:57 +00:00
2018-12-04 20:14:57 +00:00
2018-12-04 20:14:57 +00:00
2018-12-04 20:14:57 +00:00
2018-12-04 20:14:57 +00:00
2018-12-04 20:14:57 +00:00
2018-12-04 20:14:57 +00:00
2018-12-04 20:14:57 +00:00
2018-11-22 19:24:10 +00:00
2018-11-22 19:24:10 +00:00
2018-11-22 19:24:10 +00:00
2018-12-04 20:14:57 +00:00
2018-12-04 20:14:57 +00:00
2018-12-04 20:14:57 +00:00
2019-02-28 12:23:28 +00:00
2019-04-24 22:12:22 +00:00
2018-12-18 04:25:41 +00:00
2019-06-26 02:46:03 +00:00
2019-05-06 13:35:49 +00:00
2018-08-16 18:39:39 +00:00
2019-07-03 01:49:03 +00:00
2019-05-22 02:57:31 +00:00
2019-05-09 12:26:39 +00:00
2018-08-24 19:38:29 +00:00
2019-07-02 03:28:52 +00:00
2019-05-23 18:08:21 +00:00
2019-05-23 18:08:26 +00:00
2018-08-28 01:18:29 +00:00
2018-08-28 01:18:29 +00:00
2019-06-24 19:27:07 +00:00
2019-06-04 15:22:23 +00:00
2019-01-03 05:04:18 +00:00
2019-01-03 05:04:18 +00:00
2019-01-03 05:04:18 +00:00
2019-01-03 05:04:18 +00:00
2019-01-03 05:04:18 +00:00
2018-11-16 20:24:10 +00:00
2019-06-07 14:54:47 +00:00
2019-03-27 19:54:41 +00:00
2019-03-27 19:54:41 +00:00
2019-01-03 05:04:18 +00:00
2019-03-27 19:54:41 +00:00
2019-01-03 05:04:18 +00:00
2019-01-03 05:04:18 +00:00
2018-11-16 20:24:10 +00:00
2019-06-07 14:54:47 +00:00
2018-08-28 01:18:29 +00:00
2018-11-14 02:34:45 +00:00
2018-08-28 01:18:29 +00:00
2018-08-28 01:18:29 +00:00
2019-05-23 19:54:41 +00:00
2018-11-01 02:35:17 +00:00
2019-01-03 05:04:18 +00:00
2019-07-02 03:28:52 +00:00
2019-06-25 10:46:13 +00:00
2019-02-11 17:29:14 +00:00
2019-06-06 23:49:01 +00:00
2019-06-26 01:48:57 +00:00
2018-08-28 01:18:29 +00:00
2018-12-07 05:25:16 +00:00
2018-11-05 17:31:26 +00:00
2019-01-03 05:04:18 +00:00
2018-12-04 20:14:57 +00:00
2019-05-07 13:48:03 +00:00
2018-12-07 05:25:16 +00:00
2019-03-12 18:27:09 +00:00
2019-01-03 05:04:18 +00:00
2019-03-26 20:28:21 +00:00
2019-01-10 06:20:14 +00:00
2019-01-03 05:04:18 +00:00
2019-01-03 05:04:18 +00:00
2019-07-02 03:28:52 +00:00
2018-08-28 01:18:29 +00:00
2019-06-13 13:56:19 +00:00
2018-12-04 20:14:57 +00:00
2018-12-07 05:25:16 +00:00