Luke Lau
04c614327c
[InstCombine] Pull vector reverse through intrinsics ( #146384 )
...
This is the intrinsic version of #146349 , and handles fabs as well as
other intrinsics.
It's largely a copy of InstCombinerImpl::foldShuffledIntrinsicOperands
but a bit simpler since we don't need to find a common mask.
Creating a separate function seems to be cleaner than trying to shoehorn
it into the existing one.
2025-07-01 16:49:10 +01:00
..
2025-06-19 13:24:39 +01:00
2025-06-24 21:44:17 +09:00
2025-04-17 07:37:24 -07:00
2025-01-29 16:56:47 +01:00
2025-06-30 18:23:18 +02:00
2025-06-21 16:02:26 -07:00
2025-06-03 10:26:55 -07:00
2025-06-13 18:25:07 +01:00
2025-02-13 10:27:36 +01:00
2025-06-17 09:52:18 +02:00
2025-04-03 16:24:56 +01:00
2025-01-29 23:14:36 +08:00
2025-04-26 00:54:00 -04:00
2025-01-31 20:30:14 +00:00
2025-04-24 00:12:30 +08:00
2025-06-20 10:32:31 -04:00
2025-04-26 12:35:04 +08:00
2025-06-20 10:32:31 -04:00
2025-04-14 17:11:13 +02:00
2025-02-13 14:25:09 +08:00
2025-04-10 19:29:28 +02:00
2025-04-30 22:06:37 +01:00
2025-07-01 09:54:38 +01:00
2025-02-05 16:49:39 +08:00
2025-06-21 16:02:26 -07:00
2025-01-29 16:56:47 +01:00
2025-06-20 10:32:31 -04:00
2025-03-14 15:50:49 +00:00
2025-06-13 11:16:44 -07:00
2025-04-28 09:02:29 +02:00
2025-03-14 15:50:49 +00:00
2025-03-14 15:50:49 +00:00
2025-05-13 13:42:42 -07:00
2025-06-23 10:51:17 +08:00
2025-05-31 16:25:10 +08:00
2025-06-30 15:44:37 +02:00
2025-01-29 16:56:47 +01:00
2025-01-29 16:56:47 +01:00
2025-03-06 08:30:36 +00:00
2025-03-14 15:50:49 +00:00
2025-05-09 07:25:35 +03:00
2025-04-29 17:50:53 +02:00
2025-03-14 15:50:49 +00:00
2025-03-14 15:50:49 +00:00
2025-06-20 10:32:31 -04:00
2025-03-14 15:50:49 +00:00
2025-03-14 15:50:49 +00:00
2025-03-14 15:50:49 +00:00
2025-05-13 08:56:22 +08:00
2025-04-08 09:56:26 +01:00
2025-03-14 15:50:49 +00:00
2025-03-14 15:50:49 +00:00
2025-03-14 15:50:49 +00:00
2025-03-14 15:50:49 +00:00
[InstCombine] Fold umax/umin(nuw_shl(z, x), nuw_shl(z, y)) -> nuw_shl(z, umax/umin(x, y)) and umax/umin(nuw_shl(x, z), nuw_shl(y, z)) -> nuw_shl(umax/umin(x, y), z) ( #131076 )
2025-03-15 13:40:35 +08:00
2025-06-15 15:32:34 +08:00
2025-06-16 12:07:47 +08:00
2025-04-09 18:07:34 +02:00
2025-03-14 15:50:49 +00:00
2025-04-14 14:30:00 +08:00
2025-06-16 12:07:47 +08:00
2025-05-31 16:25:10 +08:00
2025-06-09 15:46:09 +08:00
2025-06-13 18:25:07 +01:00
2025-06-18 23:12:31 +08:00
2025-04-14 14:30:00 +08:00
2025-04-14 14:30:00 +08:00
2025-02-01 15:14:17 +08:00
2025-06-12 19:31:43 +09:00
2025-06-24 09:48:00 -07:00
2025-02-14 09:28:57 +01:00
2025-06-20 10:32:31 -04:00
2025-06-16 12:07:47 +08:00
2025-05-06 23:55:04 +08:00
2025-02-10 18:14:09 +01:00
2025-03-27 13:24:00 +00:00
2025-02-03 10:29:36 +00:00
2025-05-06 22:26:56 +02:00
2025-03-19 21:48:58 -06:00
2025-06-26 09:51:50 +01:00
2025-05-08 00:37:46 +08:00
2025-05-28 10:57:08 +01:00
2025-06-12 19:31:43 +09:00
2025-04-14 17:11:13 +02:00
2025-05-22 22:48:33 +01:00
2025-06-19 13:24:39 +01:00
2025-06-19 13:24:39 +01:00
2025-06-24 09:48:00 -07:00
2025-04-30 00:19:23 +08:00
2025-05-13 09:04:25 +02:00
2025-06-15 15:17:53 +08:00
2025-04-30 00:19:23 +08:00
2025-07-01 14:26:47 +02:00
2025-03-28 08:32:45 -04:00
2025-02-06 17:06:11 +01:00
2025-05-13 09:04:25 +02:00
2025-06-15 15:32:34 +08:00
2025-06-16 17:05:30 +02:00
2025-06-10 09:28:15 +02:00
[InstCombine] Fold umax/umin(nuw_shl(z, x), nuw_shl(z, y)) -> nuw_shl(z, umax/umin(x, y)) and umax/umin(nuw_shl(x, z), nuw_shl(y, z)) -> nuw_shl(umax/umin(x, y), z) ( #131076 )
2025-03-15 13:40:35 +08:00
2025-01-29 21:44:59 +08:00
2025-03-09 10:34:30 +00:00
2025-02-11 18:11:23 +01:00
2025-04-10 21:28:49 +02:00
2025-03-14 15:50:49 +00:00
2025-03-14 15:50:49 +00:00
2025-03-01 23:11:55 +08:00
2025-03-07 07:17:54 +07:00
2025-06-16 09:46:52 +02:00
2025-03-14 15:50:49 +00:00
2025-05-03 09:53:57 +02:00
2025-06-20 10:32:31 -04:00
2025-06-19 13:24:39 +01:00
2025-06-30 10:40:12 +01:00
2025-04-23 16:31:50 +08:00
2025-04-23 16:31:50 +08:00
2025-01-29 16:56:47 +01:00
2025-01-29 16:56:47 +01:00
2025-01-29 23:14:36 +08:00
2025-06-10 07:55:56 -07:00
2025-05-31 16:25:10 +08:00
2025-06-13 18:25:07 +01:00
2025-06-20 10:32:31 -04:00
2025-06-12 11:57:22 +02:00
2025-02-23 17:19:31 +08:00
2025-06-20 10:32:31 -04:00
2025-04-09 18:07:34 +02:00
2025-06-19 13:24:39 +01:00
2025-06-11 18:07:00 -07:00
2025-05-08 14:29:13 +08:00
2025-05-31 10:20:49 +02:00
2025-06-13 18:25:07 +01:00
2025-03-14 15:50:49 +00:00
2025-06-04 17:48:01 +08:00
2025-04-25 11:12:46 +02:00
2025-04-23 16:31:50 +08:00
2025-03-14 15:50:49 +00:00
2025-04-03 16:24:56 +01:00
2025-02-26 11:11:02 +00:00
2025-04-03 16:24:56 +01:00
2025-06-19 13:24:39 +01:00
2025-06-19 13:24:39 +01:00
2025-06-13 18:25:07 +01:00
2025-01-31 23:17:58 +08:00
2025-06-05 22:08:03 -07:00
2025-02-24 17:35:46 +08:00
2025-06-04 19:42:56 +08:00
2025-01-28 16:53:01 +00:00
2025-03-18 18:41:34 +01:00
2025-06-20 10:32:31 -04:00
2025-02-26 11:11:02 +00:00
2025-04-23 16:31:50 +08:00
2025-05-27 18:53:29 +02:00
2025-06-13 21:53:34 +08:00
2025-03-19 19:57:48 +01:00
2025-06-14 14:32:54 +08:00
2025-06-20 10:32:31 -04:00
2025-02-18 07:06:56 +00:00
[InstCombine] Fold umax/umin(nuw_shl(z, x), nuw_shl(z, y)) -> nuw_shl(z, umax/umin(x, y)) and umax/umin(nuw_shl(x, z), nuw_shl(y, z)) -> nuw_shl(umax/umin(x, y), z) ( #131076 )
2025-03-15 13:40:35 +08:00
2025-04-03 18:03:16 +01:00
2025-04-03 18:03:16 +01:00
2025-04-30 08:22:38 +01:00
2025-02-07 11:56:52 +08:00
2025-06-07 11:44:05 +02:00
2025-04-28 17:01:43 +08:00
2025-05-09 07:25:35 +03:00
2025-01-29 16:56:47 +01:00
2025-04-13 16:47:07 +02:00
2025-03-14 15:50:49 +00:00
2025-01-29 23:14:36 +08:00
2025-06-13 18:25:07 +01:00
2025-03-14 15:50:49 +00:00
2025-05-01 14:21:59 -07:00
2025-03-14 15:50:49 +00:00
2025-01-29 23:14:36 +08:00
2025-01-29 16:56:47 +01:00
2025-01-29 16:56:47 +01:00
2025-01-29 16:56:47 +01:00
2025-01-29 23:14:36 +08:00
2025-01-29 23:14:36 +08:00
2025-01-29 23:14:36 +08:00
2025-01-29 16:56:47 +01:00
2025-06-24 18:51:49 +02:00
2025-06-19 13:24:39 +01:00
2025-06-19 10:13:58 -07:00
2025-04-03 18:03:16 +01:00
2025-01-29 16:56:47 +01:00
2025-06-16 09:46:52 +02:00
2025-02-26 11:11:02 +00:00
2025-02-16 20:18:29 +08:00
2025-03-14 15:50:49 +00:00
2025-06-02 18:21:14 +08:00
2025-03-14 15:50:49 +00:00
2025-01-29 16:56:47 +01:00
2025-05-17 16:04:03 +08:00
2025-06-24 09:48:00 -07:00
2025-06-24 09:48:00 -07:00
2025-06-30 10:40:12 +01:00
2025-06-30 10:40:12 +01:00
2025-06-24 09:48:00 -07:00
2025-06-24 09:48:00 -07:00
2025-07-01 16:49:10 +01:00
2025-06-18 08:53:45 -07:00
2025-06-20 10:32:31 -04:00
2025-02-06 10:57:49 +08:00