Skip to content

Commit 43ede46

Browse files
committed
[RISCV][GISel] Add legalization for more fp128 libcalls.
1 parent 495bd4c commit 43ede46

File tree

2 files changed

+385
-3
lines changed

2 files changed

+385
-3
lines changed

llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -598,7 +598,8 @@ RISCVLegalizerInfo::RISCVLegalizerInfo(const RISCVSubtarget &ST)
598598
.legalFor(ST.hasStdExtZfa(), {s32})
599599
.legalFor(ST.hasStdExtZfa() && ST.hasStdExtD(), {s64})
600600
.legalFor(ST.hasStdExtZfa() && ST.hasStdExtZfh(), {s16})
601-
.libcallFor({s32, s64});
601+
.libcallFor({s32, s64})
602+
.libcallFor(ST.is64Bit(), {s128});
602603

603604
getActionDefinitionsBuilder({G_FMAXIMUM, G_FMINIMUM})
604605
.legalFor(ST.hasStdExtZfa(), {s32})
@@ -609,9 +610,11 @@ RISCVLegalizerInfo::RISCVLegalizerInfo(const RISCVSubtarget &ST)
609610
G_FLOG10, G_FEXP, G_FEXP2, G_FEXP10, G_FACOS,
610611
G_FASIN, G_FATAN, G_FATAN2, G_FCOSH, G_FSINH,
611612
G_FTANH})
612-
.libcallFor({s32, s64});
613+
.libcallFor({s32, s64})
614+
.libcallFor(ST.is64Bit(), {s128});
613615
getActionDefinitionsBuilder({G_FPOWI, G_FLDEXP})
614-
.libcallFor({{s32, s32}, {s64, s32}});
616+
.libcallFor({{s32, s32}, {s64, s32}})
617+
.libcallFor(ST.is64Bit(), {s128, s32});
615618

616619
getActionDefinitionsBuilder(G_VASTART).customFor({p0});
617620

0 commit comments

Comments
 (0)