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
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-08-28 01:18:29 +00:00
2018-07-04 18:54:25 +00:00
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-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-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-24 14:37:30 +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-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-07-13 15:21:03 +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-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
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-08-20 02:52:55 +00:00
2018-08-20 02:52:55 +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-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-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-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-28 01:18:29 +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-08-20 02:52:55 +00:00
2018-08-20 02:52:55 +00:00
2018-06-20 22:01:04 +00:00
2018-07-04 18:54:25 +00:00
2018-07-11 20:25:49 +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
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-06-27 18:16:40 +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-07-04 18:54:25 +00:00
2018-08-08 15:20:43 +00:00
2018-08-28 01:18:29 +00:00
2018-07-19 19:34:18 +00:00
2018-08-20 02:52:55 +00:00
2018-07-19 19:34:18 +00:00
2018-08-20 02:52:55 +00:00
2018-06-19 13:07:40 +00:00
2018-08-28 01:18:29 +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-08-20 02:52:55 +00:00
2018-08-20 02:52:55 +00:00
2018-07-04 18:54:25 +00:00
2018-09-03 03:14:29 +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-08-08 15:20:43 +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-07-13 15:21:03 +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-08-20 02:52:55 +00:00
2018-07-04 18:54:25 +00:00
2018-07-04 18:54:25 +00:00
2018-08-28 01:18:29 +00:00
2018-07-04 18:54:25 +00:00
2018-07-30 22:21:37 +00:00
2018-06-20 22:01:04 +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-07-04 18:54:25 +00:00
2018-08-28 01:18:29 +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
2018-08-28 01:18:29 +00:00
2018-09-03 03:14:29 +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
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-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
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-19 19:34:18 +00:00
2018-08-20 02:52:55 +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-08-24 19:38: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 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-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