Commit a9ffb71
authored
[RISCV] Don't promote f16 FNEG/FABS with Zfhmin/Zhinxmin. (#106474)
fneg/fabs are not supposed to canonicalize nans. Promoting to f32 will
go through an fp_extend which will canonicalize. The generic Promote
handler needs to be removed from LegalizeDAG.
We need to use integer bit manip to clear the bit instead.
Unfortunately, this is going through the stack due to i16 not being a
legal type. Fixing that will require custom legalization or some other
generic SelectionDAG change.1 parent b5a1b45 commit a9ffb71
File tree
7 files changed
+1533
-720
lines changed- llvm
- lib/Target/RISCV
- test/CodeGen/RISCV
- rvv
7 files changed
+1533
-720
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
395 | 395 | | |
396 | 396 | | |
397 | 397 | | |
398 | | - | |
399 | 398 | | |
400 | 399 | | |
401 | 400 | | |
| |||
416 | 415 | | |
417 | 416 | | |
418 | 417 | | |
419 | | - | |
420 | | - | |
| 418 | + | |
| 419 | + | |
421 | 420 | | |
422 | 421 | | |
423 | 422 | | |
| |||
433 | 432 | | |
434 | 433 | | |
435 | 434 | | |
436 | | - | |
437 | | - | |
| 435 | + | |
| 436 | + | |
438 | 437 | | |
439 | 438 | | |
440 | 439 | | |
| |||
0 commit comments