QingShan Zhang
abbb894ff5
[PowerPC] Combine ADD to ADDZE
On the ppc64le platform, if ir has the following form,
define i64 @addze1(i64 %x, i64 %z) local_unnamed_addr #0 {
entry:
%cmp = icmp ne i64 %z, CONSTANT (-32767 <= CONSTANT <= 32768)
%conv1 = zext i1 %cmp to i64
%add = add nsw i64 %conv1, %x
ret i64 %add
}
we can optimize it to the form below.
when C == 0
--> addze X, (addic Z, -1))
/
add X, (zext(setne Z, C))--
\ when -32768 <= -C <= 32767 && C != 0
--> addze X, (addic (addi Z, -C), -1)
Patch By: HLJ2009 (Li Jia He)
Differential Revision: https://reviews.llvm.org/D51403
Reviewed By: Nemanjai
llvm-svn: 341634
2018-09-07 07:56:05 +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-07-04 18:54:25 +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-07-19 19:34: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
2017-12-14 10:02:58 +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-07-04 18:54:25 +00:00
2018-01-31 22:04:26 +00:00
2018-01-19 17:13:12 +00:00
2018-08-28 01:18:29 +00:00
2018-01-31 22:04:26 +00:00
2018-07-04 18:54:25 +00:00
2018-01-31 22:04:26 +00:00
2018-03-19 18:50:02 +00:00
2018-09-07 07:56:05 +00:00
2018-01-31 22:04:26 +00:00
2018-08-28 01:18:29 +00:00
2017-12-04 17:18:51 +00:00
2018-08-28 01:18:29 +00:00
2018-08-28 01:18:29 +00:00
2018-03-27 16:44:41 +00:00
2018-08-28 01:18:29 +00:00
2018-08-28 01:18:29 +00:00
2017-12-04 17:18:51 +00:00
2018-08-28 01:18:29 +00:00
2018-08-28 01:18:29 +00:00
2018-07-04 18:54:25 +00:00
2018-08-28 01:18:29 +00:00
2018-08-28 01:18:29 +00:00
2018-08-20 02:52:55 +00:00
2018-06-05 11:58:01 +00:00
2018-06-24 14:37:30 +00:00
2018-06-07 13:21:14 +00:00
2018-08-20 02:52:55 +00:00
2018-08-28 01:18:29 +00:00
2018-08-08 15:20:43 +00:00
2018-08-24 20:00:24 +00:00
2018-03-14 21:52:13 +00:00
2018-08-28 01:18:29 +00:00
2017-12-20 05:18:19 +00:00
2018-08-28 01:18:29 +00:00
2018-01-30 16:17:22 +00:00
2018-07-04 18:54:25 +00:00
2018-08-28 01:18:29 +00:00
2018-08-28 01:18:29 +00:00
2017-11-30 13:39:10 +00:00
2018-01-31 22:04:26 +00:00
2018-01-31 22:04:26 +00:00
2018-07-13 15:21:03 +00:00
2017-11-30 13:39:10 +00:00
2018-01-19 17:13:12 +00:00
2018-02-05 12:25:29 +00:00
2017-11-30 16:12:24 +00:00
2018-08-28 01:18:29 +00:00
2018-05-09 02:40:45 +00:00
2018-05-09 02:40:45 +00:00
2018-08-28 01:18:29 +00:00
2017-11-20 14:38:30 +00:00
2017-12-30 08:09:04 +00:00
2018-08-28 01:18:29 +00:00
2018-01-19 17:13:12 +00:00
2018-02-28 17:48:55 +00:00
2017-12-11 20:42:37 +00:00
2017-12-11 20:42:37 +00:00
2018-01-31 22:04:26 +00:00
2018-01-31 22:04:26 +00:00
2018-01-31 22:04:26 +00:00
2018-01-31 22:04:26 +00:00
2018-01-31 22:04:26 +00:00
2018-01-31 22:04:26 +00:00
2018-01-31 22:04:26 +00:00
2018-01-31 22:04:26 +00:00
2018-01-31 22:04:26 +00:00
2018-01-31 22:04:26 +00:00
2018-07-04 18:54:25 +00:00
2018-03-23 15:28:15 +00:00
2018-08-27 11:20:27 +00:00
2018-07-12 20:18:57 +00:00
2018-07-12 20:18:57 +00:00
2018-07-12 20:18:57 +00:00
2018-08-24 20:00:24 +00:00
2018-07-12 20:18:57 +00:00
2018-08-24 20:00:24 +00:00
2018-07-12 20:18:57 +00:00
2018-07-12 20:18:57 +00:00
2018-07-12 20:18:57 +00:00
2018-08-28 01:18:29 +00:00
2017-12-18 19:21:56 +00:00
2018-07-18 04:25:10 +00:00
2018-07-18 04:25:10 +00:00
2018-08-20 02:52:55 +00:00
2018-07-18 04:25:10 +00:00
2018-02-20 15:09:45 +00:00
2018-08-20 02:52:55 +00:00
2018-06-16 00:03:06 +00:00
2018-02-27 16:59:10 +00:00
2018-08-20 02:52:55 +00:00
2018-01-31 22:04:26 +00:00
2018-08-20 02:52:55 +00:00
2018-06-27 18:16:40 +00:00
2018-06-27 18:16:40 +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-01-19 17:13:12 +00:00
2018-01-19 17:13:12 +00:00
2018-08-28 01:18:29 +00:00
2018-07-04 18:54:25 +00:00
2018-06-27 18:16:40 +00:00
2018-08-09 17:26:22 +00:00
2018-09-03 03:14:29 +00:00
2018-01-19 17:13:12 +00:00
2018-02-27 16:59:10 +00:00
2017-12-04 17:18:51 +00:00
2018-08-28 01:18:29 +00:00
2018-08-28 01:18:29 +00:00
2018-07-04 18:54:25 +00:00
2018-07-19 19:34:18 +00:00
2018-07-04 18:54:25 +00:00
2018-08-20 02:52: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-01-19 17:13:12 +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-07-04 18:54:25 +00:00
2018-01-31 09:26:51 +00:00
2018-01-31 22:04:26 +00:00
2018-01-31 09:26:51 +00:00
2018-08-08 15:20:43 +00:00
2017-12-04 17:18:51 +00:00
2018-08-28 01:18:29 +00:00
2018-03-23 15:28:15 +00:00
2018-07-19 19:34:18 +00:00
2018-08-28 01:18:29 +00:00
2018-08-20 02:52:55 +00:00
2018-07-11 20:25:49 +00:00
2018-08-28 01:18:29 +00:00
2018-02-16 23:02:28 +00:00
2018-08-20 02:52:55 +00:00
2018-08-20 02:52:55 +00:00
2018-02-27 16:59:10 +00:00
2018-06-20 22:01:04 +00:00
2017-12-04 17:18:51 +00:00
2018-07-04 18:54:25 +00:00
2018-01-19 17:13:12 +00:00
2018-07-11 20:25:49 +00:00
2018-01-19 17:13:12 +00:00
2018-01-19 17:13:12 +00:00
2018-01-19 17:13:12 +00:00
2018-07-19 19:34:18 +00:00
2018-01-19 17:13:12 +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
2017-12-04 17:18:51 +00:00
2018-05-02 22:56:04 +00:00
2018-08-28 01:18:29 +00:00
2018-04-17 13:07:01 +00:00
2018-06-27 18:16:40 +00:00
2018-01-31 22:04:26 +00:00
2018-01-09 03:03:41 +00:00
2018-03-05 19:27:16 +00:00
2018-02-26 15:23:42 +00:00
2018-02-27 16:59:10 +00:00
2018-01-31 22:04:26 +00:00
2017-11-30 13:39:10 +00:00
2018-08-28 01:18:29 +00:00
2018-07-04 18:54:25 +00:00
2018-08-24 19:24:20 +00:00
2018-08-24 20:00:24 +00:00
2018-03-27 17:51:53 +00:00
2017-11-20 14:38:30 +00:00
2018-07-04 18:54:25 +00:00
2018-08-08 15:20:43 +00:00
2017-11-30 16:12:24 +00:00
2018-08-28 01:18:29 +00:00
2017-12-04 17:18:51 +00:00
2018-03-27 11:23:53 +00:00
2018-07-19 19:34:18 +00:00
2018-08-20 02:52:55 +00:00
2018-01-31 09:26:51 +00:00
2018-03-23 15:28:15 +00:00
2018-07-19 19:34:18 +00:00
2017-12-04 17:18:51 +00:00
2018-04-21 09:32:17 +00:00
2017-12-30 08:09:04 +00:00
2018-08-20 02:52:55 +00:00
2017-11-30 13:39:10 +00:00
2018-01-19 17:13:12 +00:00
2018-06-19 13:07:40 +00:00
2018-08-28 01:18:29 +00:00
2018-01-12 13:12:49 +00:00
2018-06-20 22:01:04 +00:00
2018-08-28 01:18:29 +00:00
2018-08-28 01:18:29 +00:00
2018-07-04 18:54:25 +00:00
2018-05-16 22:48:48 +00:00
2018-05-09 02:40:45 +00:00
2018-05-09 02:40:45 +00:00
2018-08-20 02:52:55 +00:00
2018-08-20 02:52:55 +00:00
2018-07-04 18:54:25 +00:00
2018-01-19 17:13:12 +00:00
2018-05-24 03:20:28 +00:00
2017-12-04 17:18:51 +00:00
2018-09-03 03:14:29 +00:00
2018-02-23 23:08:34 +00:00
2018-03-15 17:49:12 +00:00
2017-12-29 12:22:27 +00:00
2018-02-01 21:09:04 +00:00
2018-02-22 03:02:41 +00:00
2018-08-15 12:58:13 +00:00
2018-09-03 03:14:29 +00:00
2018-08-17 15:15:26 +00:00
2018-07-02 05:46:09 +00:00
2018-08-28 01:18:29 +00:00
2018-07-04 18:54:25 +00:00
2018-03-10 16:14:05 +00:00
2018-08-08 15:20:43 +00:00
2018-07-04 18:54:25 +00:00
2018-01-31 22:04:26 +00:00
2017-11-29 23:05:56 +00:00
2017-11-27 20:26:36 +00:00
2018-01-19 17:13:12 +00:00
2018-01-19 17:13:12 +00:00
2018-08-28 01:18:29 +00:00
2018-08-28 01:18:29 +00:00
2018-07-13 15:21:03 +00:00
2018-03-05 19:27:16 +00:00
2018-07-19 19:34:18 +00:00
2018-07-19 19:34:18 +00:00
2018-08-20 02:52:55 +00:00
2018-08-08 15:20:43 +00:00
2018-08-08 15:20:43 +00:00
2018-08-08 15:20:43 +00:00
2018-01-31 22:04:26 +00:00
2018-08-20 02:52:55 +00:00
2018-07-04 18:54:25 +00:00
2018-01-31 09:26:51 +00:00
2018-07-04 18:54:25 +00:00
2017-12-04 17:18:51 +00:00
2018-08-28 01:18:29 +00:00
2018-07-04 18:54:25 +00:00
2017-12-04 17:18:51 +00:00
2018-07-30 22:21:37 +00:00
2018-06-20 22:01:04 +00:00
2017-12-04 17:18:51 +00:00
2018-07-18 04:25:10 +00:00
2018-08-28 01:18:29 +00:00
2018-08-28 01:18:29 +00:00
2018-05-24 03:20:28 +00:00
2018-07-04 18:54:25 +00:00
2018-01-19 17:13:12 +00:00
2018-01-19 17:13:12 +00:00
2018-08-28 01:18:29 +00:00
2018-01-19 17:13:12 +00:00
2018-07-11 20:25:49 +00:00
2018-08-08 15:20:43 +00:00
2018-07-04 18:54:25 +00:00
2017-12-04 17:18:51 +00:00
2018-02-27 16:59:10 +00:00
2018-01-19 17:13:12 +00:00
2018-08-28 01:18:29 +00:00
2018-05-02 23:55:23 +00:00
2018-09-03 03:14:29 +00:00
2017-12-04 17:18:51 +00:00
2017-12-04 17:18:51 +00:00
2017-12-04 17:18:51 +00:00
2018-07-04 18:54:25 +00:00
2018-07-04 18:54:25 +00:00
2018-07-04 18:54:25 +00:00
2018-07-04 18:54:25 +00:00
2018-07-04 18:54:25 +00:00
2018-07-04 18:54:25 +00:00
2018-07-04 18:54:25 +00:00
2018-07-04 18:54:25 +00:00
2018-07-04 18:54:25 +00:00
2018-07-04 18:54:25 +00:00
2018-07-15 16:27:07 +00:00
2018-07-04 18:54:25 +00:00
2017-12-12 12:09:34 +00:00
2017-12-11 14:35:48 +00:00
2017-11-30 13:39:10 +00:00
2017-12-12 12:09:34 +00:00
2017-12-04 17:18:51 +00:00
2017-12-04 17:18:51 +00:00
2017-12-04 17:18:51 +00:00
2017-12-04 17:18:51 +00:00
2017-11-30 13:39:10 +00:00
2017-11-30 13:39:10 +00:00
2017-11-30 13:39:10 +00:00
2018-07-04 18:54:25 +00:00
2018-07-04 18:54:25 +00:00
2018-07-04 18:54:25 +00:00
2018-07-04 18:54:25 +00:00
2017-11-30 13:39:10 +00:00
2017-11-30 13:39:10 +00:00
2017-11-30 13:39:10 +00:00
2017-11-30 13:39:10 +00:00
2017-12-04 17:18:51 +00:00
2017-12-04 17:18:51 +00:00
2017-12-04 17:18:51 +00:00
2017-12-04 17:18:51 +00:00
2017-11-30 13:39:10 +00:00
2017-11-30 13:39:10 +00:00
2017-11-30 13:39:10 +00:00
2017-11-30 13:39:10 +00:00
2017-11-30 13:39:10 +00:00
2018-07-04 18:54:25 +00:00
2017-11-30 13:39:10 +00:00
2018-07-04 18:54:25 +00:00
2017-11-30 13:39:10 +00:00
2018-07-04 18:54:25 +00:00
2018-07-04 18:54:25 +00:00
2018-07-04 18:54:25 +00:00
2018-07-04 18:54:25 +00:00
2018-07-04 18:54:25 +00:00
2018-07-04 18:54:25 +00:00
2018-07-04 18:54:25 +00:00
2018-07-04 18:54:25 +00:00
2018-07-04 18:54:25 +00:00
2018-07-04 18:54:25 +00:00
2018-07-04 18:54:25 +00:00
2018-07-04 18:54:25 +00:00
2018-07-15 16:27:07 +00:00
2018-07-04 18:54:25 +00:00
2017-12-12 12:09:34 +00:00
2017-12-11 14:35:48 +00:00
2017-11-30 13:39:10 +00:00
2017-12-12 12:09:34 +00:00
2017-12-04 17:18:51 +00:00
2017-11-30 13:39:10 +00:00
2017-11-30 13:39:10 +00:00
2017-12-04 17:18:51 +00:00
2018-07-04 18:54:25 +00:00
2018-07-04 18:54:25 +00:00
2018-07-04 18:54:25 +00:00
2018-07-04 18:54:25 +00:00
2017-11-30 13:39:10 +00:00
2017-11-30 13:39:10 +00:00
2017-11-30 13:39:10 +00:00
2017-11-30 13:39:10 +00:00
2017-12-04 17:18:51 +00:00
2017-12-04 17:18:51 +00:00
2017-12-04 17:18:51 +00:00
2017-12-04 17:18:51 +00:00
2018-07-04 18:54:25 +00:00
2018-07-04 18:54:25 +00:00
2018-01-12 13:12:49 +00:00
2018-01-31 22:04:26 +00:00
2018-01-31 22:04:26 +00:00
2018-03-15 15:34:41 +00:00
2018-07-19 19:34:18 +00:00
2018-08-20 02:52:55 +00:00
2018-01-19 17:13:12 +00:00
2018-04-09 08:16:11 +00:00
2017-12-21 15:42:50 +00:00
2018-08-16 18:39:39 +00:00
2018-07-19 19:34:18 +00:00
2018-07-04 18:54:25 +00:00
2018-03-14 21:52:13 +00:00
2018-05-24 03:20:28 +00:00
2018-05-09 02:40:45 +00:00
2018-08-24 19:38:29 +00:00
2018-08-28 01:18:29 +00:00
2017-12-22 17:18:13 +00:00
2017-12-04 17:18:51 +00:00
2018-08-28 01:18:29 +00:00
2018-08-28 01:18:29 +00:00
2018-03-01 22:32:25 +00:00
2017-12-04 17:18:51 +00:00
2017-12-04 17:18:51 +00:00
2018-08-28 01:18:29 +00:00
2017-12-04 17:18:51 +00:00
2018-07-04 13:28:39 +00:00
2018-08-27 13:20:42 +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-07-04 18:54:25 +00:00
2018-08-08 15:20:43 +00:00
2018-08-20 02:52:55 +00:00
2018-04-06 05:41:16 +00:00
2018-08-24 20:00:24 +00:00
2018-08-08 15:20:43 +00:00
2018-08-27 13:20:42 +00:00
2018-07-04 18:54:25 +00:00
2018-08-28 01:18:29 +00:00
2017-11-29 04:09:29 +00:00