Commit 53db2ec
authored
Do not eliminate casts from FP types (#53667)
An optimization in morph was deleting casts
on the RHS of a narrow store if the cast-to-type
was wider than the type being stored. This is only
valid for casts from integral types, as the backend
does not handle "STOREIND(byte*, double)", nor is there
an instruction to go from an XMM register to a narrow
memory location on x86/x64.
The issue is not reproducible right now because
fgMorphCast wraps the casts in question, but it is
an invalid IR transformation nonetheless, and similar
code in fgMorphSmpOpOptional guards against non-integral sources.1 parent c6acf8d commit 53db2ec
1 file changed
Lines changed: 5 additions & 4 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
12071 | 12071 | | |
12072 | 12072 | | |
12073 | 12073 | | |
12074 | | - | |
12075 | | - | |
| 12074 | + | |
| 12075 | + | |
12076 | 12076 | | |
12077 | | - | |
| 12077 | + | |
| 12078 | + | |
12078 | 12079 | | |
12079 | 12080 | | |
12080 | 12081 | | |
12081 | 12082 | | |
12082 | 12083 | | |
12083 | 12084 | | |
12084 | 12085 | | |
12085 | | - | |
| 12086 | + | |
12086 | 12087 | | |
12087 | 12088 | | |
12088 | 12089 | | |
| |||
0 commit comments