Commit 3e16b3d
cc: fix aarch64 float16 conversion using fmov instead of fcvt
emit_float_to_float() only recognized Float↔Double conversions in its
needs_convert check, causing Float16↔Float/Double conversions to emit
fmov (bit-copy) instead of fcvt (type conversion). The float16 bit
pattern was zero-extended to 32 bits rather than properly converted,
producing wrong values for all float16 arithmetic on aarch64.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>1 parent 45ae13c commit 3e16b3d
1 file changed
+8
-0
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
587 | 587 | | |
588 | 588 | | |
589 | 589 | | |
| 590 | + | |
| 591 | + | |
| 592 | + | |
| 593 | + | |
| 594 | + | |
| 595 | + | |
| 596 | + | |
| 597 | + | |
590 | 598 | | |
591 | 599 | | |
592 | 600 | | |
| |||
0 commit comments