[llvm] Add support for x87 registers on GISel register selection (PR #83528)
Matt Arsenault via llvm-commits
llvm-commits at lists.llvm.org
Thu Feb 29 23:51:32 PST 2024
================
@@ -415,17 +416,19 @@ X86LegalizerInfo::X86LegalizerInfo(const X86Subtarget &STI,
// fp constants
getActionDefinitionsBuilder(G_FCONSTANT)
.legalIf([=](const LegalityQuery &Query) -> bool {
- return (HasSSE1 && typeInSet(0, {s32})(Query)) ||
- (HasSSE2 && typeInSet(0, {s64})(Query));
+ return (typeInSet(0, {s32, s64})(Query)) ||
+ (UseX87 && typeInSet(0, {s80})(Query));
});
// fp arithmetic
getActionDefinitionsBuilder({G_FADD, G_FSUB, G_FMUL, G_FDIV})
.legalIf([=](const LegalityQuery &Query) {
- return (HasSSE1 && typeInSet(0, {s32, v4s32})(Query)) ||
- (HasSSE2 && typeInSet(0, {s64, v2s64})(Query)) ||
+ return (typeInSet(0, {s32, s64})(Query)) ||
----------------
arsenm wrote:
Existing issue but I think this is an overly verbose way of expressing the simplest type of operation with a single type operand
https://github.com/llvm/llvm-project/pull/83528
More information about the llvm-commits
mailing list