Ryan Buchner
95ef1a5c31
[SLP] Use the correct identity when combining binary opcodes with AND/MUL (#180457)
Fixes #180456
Fix bug in the following SLP lowering:
```
define void @sub_mul(ptr %p, ptr %s) {
entry:
%p1 = getelementptr i16, ptr %p, i64 1
%l0 = load i16, ptr %p
%l1 = load i16, ptr %p1
%mul0 = sub i16 %l0, 0
%mul1 = mul i16 %l1, 5
%s1 = getelementptr i16, ptr %s, i64 1
store i16 %mul0, ptr %s
store i16 %mul1, ptr %s1
ret void
}
```
to
```
define void @sub_mul(ptr %p, ptr %s) {
entry:
%tmp0 = load <2 x i16>, ptr %p, align 2
%tmp1 = mul <2 x i16> %tmp0, <i16 0, i16 5> -> updates to <i16 1, i16 5>
store <2 x i16> %tmp1, ptr %s, align 2
ret void
}
```
2026-02-12 09:34:44 -08:00
..
2026-02-11 04:55:29 -08:00
2025-11-21 19:33:13 +00:00
2025-01-28 06:00:52 -08:00
2025-12-30 09:32:05 -08:00
2026-02-03 06:16:25 -08:00
2026-02-11 10:27:01 -08:00
2025-09-12 20:01:17 +02:00
2025-07-02 06:14:41 -04:00
2026-02-12 09:34:44 -08:00
2024-11-06 11:53:33 +00:00
2025-03-12 08:18:51 -07:00
2024-12-24 15:35:29 -05:00
2025-12-26 11:55:58 -08:00
2025-07-15 15:19:27 +01:00
2025-04-16 00:08:59 +08:00
2025-10-06 07:07:37 -04:00
2025-12-28 11:52:44 -08:00
2024-11-06 11:53:33 +00:00
2025-10-24 18:49:45 +08:00
2025-12-26 11:55:58 -08:00
2024-11-06 11:53:33 +00:00
2025-12-30 09:32:05 -08:00
2025-07-03 13:14:42 +00:00
2025-08-11 05:53:55 -07:00
2024-12-11 10:09:23 +08:00
2024-11-06 11:53:33 +00:00
2025-04-30 17:11:27 +02:00
2025-12-30 09:32:05 -08:00
2025-08-11 09:41:19 -04:00
2025-01-17 09:48:03 -08:00
2025-10-24 18:49:45 +08:00
2025-10-24 18:49:45 +08:00
2025-12-26 11:55:58 -08:00
2025-01-18 10:23:20 +08:00
2025-06-17 22:03:14 +08:00
2025-04-16 00:08:59 +08:00
2024-11-06 11:53:33 +00:00
2024-12-26 05:11:26 -08:00
2024-11-21 10:23:05 +05:30
2025-10-13 08:01:32 -04:00
2026-01-01 13:31:13 -08:00
2025-07-11 15:26:45 -04:00
2024-11-06 11:53:33 +00:00
2025-02-04 18:49:43 -05:00
2026-01-01 13:31:13 -08:00
2025-07-11 15:26:45 -04:00
2025-08-12 10:22:41 +01:00
2024-12-24 15:35:29 -05:00
2025-04-22 11:30:29 -04:00
2025-07-11 15:26:45 -04:00
2024-11-06 11:53:33 +00:00
2024-11-06 11:53:33 +00:00
2024-11-06 11:53:33 +00:00
2025-07-11 15:26:45 -04:00
2025-07-11 15:26:45 -04:00
2025-07-11 15:26:45 -04:00
2025-08-11 09:41:19 -04:00
2025-08-04 13:42:57 +01:00
2025-02-14 11:03:33 -08:00
2026-02-12 09:34:44 -08:00
2024-11-06 11:53:33 +00:00
2025-04-16 00:08:59 +08:00
2024-11-21 13:08:27 -08:00
2024-12-19 06:21:57 +08:00
2024-12-03 20:54:36 +00:00
2025-12-28 13:33:17 -08:00
2025-12-30 09:32:05 -08:00
2024-11-22 06:50:25 -08:00