Sanjay Patel
46f44cd641
[InstSimplify] fold nested min/max intrinsics with constant operands
...
This is based on the existing code for the non-intrinsic idioms
in InstCombine.
The vector constant constraint is non-obvious: undefs should be
ok in the outer call, but they can't propagate safely from the
inner call in all cases. Example:
https://alive2.llvm.org/ce/z/-2bVbM
define <2 x i8> @src(<2 x i8> %x) {
%0:
%m = umin <2 x i8> %x, { 7, undef }
%m2 = umin <2 x i8> { 9, 9 }, %m
ret <2 x i8> %m2
}
=>
define <2 x i8> @tgt(<2 x i8> %x) {
%0:
%m = umin <2 x i8> %x, { 7, undef }
ret <2 x i8> %m
}
Transformation doesn't verify!
ERROR: Value mismatch
Example:
<2 x i8> %x = < undef, undef >
Source:
<2 x i8> %m = < #x00 (0) [based on undef value], #x00 (0) >
<2 x i8> %m2 = < #x00 (0), #x00 (0) >
Target:
<2 x i8> %m = < #x07 (7), #x10 (16) >
Source value: < #x00 (0), #x00 (0) >
Target value: < #x07 (7), #x10 (16) >
2020-08-04 08:44:48 -04:00
..
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2020-03-18 21:50:56 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2020-04-23 09:16:10 -04:00
2020-04-23 09:16:10 -04:00
2019-04-17 04:52:47 +00:00
2020-04-19 08:24:38 -04:00
2020-07-03 18:53:58 +02:00
2019-12-20 01:47:57 +03:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2020-03-18 18:49:58 +00:00
2020-03-18 18:49:58 +00:00
2020-08-01 13:25:00 -07:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2020-07-04 11:03:00 +02:00
2019-04-17 04:52:47 +00:00
2020-05-15 19:41:07 +02:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2020-03-28 12:28:33 +07:00
2019-04-17 04:52:47 +00:00
2020-07-29 23:21:39 +09:00
2019-08-29 12:48:04 +00:00
2019-08-29 12:47:50 +00:00
2019-08-29 12:48:04 +00:00
2019-08-29 12:47:50 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2020-05-05 16:04:59 -04:00
2019-11-04 08:29:56 -05:00
2019-04-17 04:52:47 +00:00
2020-07-14 08:08:09 -04:00
2020-07-26 09:04:37 -04:00
2019-04-17 04:52:47 +00:00
2020-03-12 09:13:28 -04:00
2020-03-12 09:53:20 -04:00
2020-07-20 09:21:39 +09:00
2020-07-26 21:48:51 +09:00
2020-06-25 07:28:19 +01:00
2019-08-07 18:28:16 +00:00
2019-04-17 04:52:47 +00:00
2020-07-28 15:13:53 -04:00
2019-04-17 04:52:47 +00:00
2020-06-25 01:10:35 +03:00
2019-04-17 04:52:47 +00:00
2020-05-01 10:34:29 -04:00
2020-05-26 19:24:58 +07:00
2019-12-09 15:15:52 -06:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2020-06-19 10:32:26 +02:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2020-08-04 08:44:48 -04:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2020-07-16 13:50:49 -04:00
2020-07-16 13:50:49 -04:00
2019-04-17 04:52:47 +00:00
2020-06-03 13:44:29 -04:00
2019-04-17 04:52:47 +00:00
2019-06-19 17:23:29 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-09-11 15:32:46 +00:00
2019-04-17 04:52:47 +00:00
2019-08-09 07:08:25 +00:00
2019-04-17 04:52:47 +00:00
2019-09-13 17:58:24 +00:00
2019-09-12 09:26:17 +00:00
2019-09-25 22:59:41 +00:00
2019-04-17 04:52:47 +00:00
2020-05-26 19:24:58 +07:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2020-07-15 22:02:33 -07:00
2019-04-17 04:52:47 +00:00
2020-05-08 10:24:53 +02:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-12-15 09:32:03 -05:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2019-04-17 04:52:47 +00:00
2020-07-07 13:45:51 -07:00