[llvm] Add Instruction selection support for x87 ld/st (PR #97016)
Evgenii Kudriashov via llvm-commits
llvm-commits at lists.llvm.org
Fri Jun 28 05:10:02 PDT 2024
e-kud wrote:
> There is no higher priority feature than x87 load and stores?
One of the criteria we use is plum C/C++ validation test suite. There is a bunch of tests for `long double` that used to be implemented through x87. Since there was almost none support for x87, we spend time to bring it up. Also this PR fixes `G_LOAD`/`G_STORE` for `s80` that may be legalized but not selected. Before any `x87` support, it simply crashed, because no register bank were available for `s80`. In other words, it can be interpreted as a story of fixing one crash in three moves: reg banks, differentiating float/integer types, lowering the address.
I agree that this may be not a high priority, but this is some unknown area. It revealed the lack of float/integer differentiating, and the complexities we have when try to match addresses through SelectionDAG patterns.
https://github.com/llvm/llvm-project/pull/97016
More information about the llvm-commits
mailing list