Commit 8bea292
Keep 32 -> 64 bit zero-extends as MovZX in LIR
Summary:
`PostRegAllocRewrite` used to rewrite a 32 -> 64 bit `Zext` into a
32-bit `Move`, because that is how x86-64 spells the zero-extend, there
is no `movzx r64, r/m32`. Doing that in LIR means the opcode no longer
says what the instruction is for, and it needs the output operand to be
narrowed to 32 bits, which then disagrees with the value the instruction
actually produces.
Leave it as a `MovZX` and let codegen pick the encoding, matching how
`MovSX` now handles the same width.
Reviewed By: yoney
Differential Revision: D116029617
fbshipit-source-id: 28f21003d34d9c497ed3f3434d549d3d87b5390e1 parent bf49ef0 commit 8bea292
3 files changed
Lines changed: 30 additions & 13 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2576 | 2576 | | |
2577 | 2577 | | |
2578 | 2578 | | |
| 2579 | + | |
| 2580 | + | |
| 2581 | + | |
| 2582 | + | |
| 2583 | + | |
| 2584 | + | |
| 2585 | + | |
| 2586 | + | |
| 2587 | + | |
| 2588 | + | |
| 2589 | + | |
| 2590 | + | |
| 2591 | + | |
| 2592 | + | |
| 2593 | + | |
| 2594 | + | |
| 2595 | + | |
| 2596 | + | |
| 2597 | + | |
| 2598 | + | |
| 2599 | + | |
2579 | 2600 | | |
2580 | 2601 | | |
2581 | 2602 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
562 | 562 | | |
563 | 563 | | |
564 | 564 | | |
565 | | - | |
566 | | - | |
567 | 565 | | |
568 | | - | |
569 | | - | |
570 | | - | |
571 | | - | |
572 | | - | |
573 | | - | |
574 | | - | |
575 | | - | |
| 566 | + | |
576 | 567 | | |
577 | 568 | | |
578 | 569 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1451 | 1451 | | |
1452 | 1452 | | |
1453 | 1453 | | |
1454 | | - | |
1455 | | - | |
1456 | | - | |
| 1454 | + | |
| 1455 | + | |
| 1456 | + | |
1457 | 1457 | | |
1458 | 1458 | | |
1459 | 1459 | | |
| |||
1480 | 1480 | | |
1481 | 1481 | | |
1482 | 1482 | | |
| 1483 | + | |
| 1484 | + | |
| 1485 | + | |
| 1486 | + | |
| 1487 | + | |
1483 | 1488 | | |
1484 | 1489 | | |
1485 | 1490 | | |
| |||
0 commit comments