Commit 2f43dba
committed
Guard VecShuffle identity rules with VecSize to prevent cross-size unification
VecShuffle2(Vec4, _, 0, 1) is a truncation to Vec2, not an identity.
Without the guard, the egraph incorrectly unions Vec2 and Vec4 values
into the same e-class, causing OpStore type mismatches when extraction
picks the wrong-sized vector as canonical representative.1 parent 73d87ab commit 2f43dba
1 file changed
Lines changed: 8 additions & 6 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
550 | 550 | | |
551 | 551 | | |
552 | 552 | | |
| 553 | + | |
| 554 | + | |
553 | 555 | | |
554 | | - | |
| 556 | + | |
555 | 557 | | |
556 | | - | |
| 558 | + | |
557 | 559 | | |
558 | | - | |
| 560 | + | |
559 | 561 | | |
560 | 562 | | |
561 | 563 | | |
562 | | - | |
| 564 | + | |
563 | 565 | | |
564 | | - | |
| 566 | + | |
565 | 567 | | |
566 | | - | |
| 568 | + | |
567 | 569 | | |
568 | 570 | | |
569 | 571 | | |
| |||
0 commit comments