[PATCH] D73201: [FPEnv][AArch64] Don't expand STRICT_FP_ROUND to an illegal truncating store

Craig Topper via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Jan 22 09:36:50 PST 2020


craig.topper added a comment.

In D73201#1834200 <https://reviews.llvm.org/D73201#1834200>, @john.brawn wrote:

> In D73201#1834055 <https://reviews.llvm.org/D73201#1834055>, @craig.topper wrote:
>
> > Why is this problem unique to STRICT_FP_ROUND? What makes FP_ROUND work? I suspect this is really a missing setOperationAction line for STRICT_FP_ROUND in the AArch64ISelLowering.cpp
>
>
> It looks like FP_ROUND doesn't work either. If I make AArch64TargetLowering do setOperationAction(ISD::FP_ROUND, MVT::f32, Expand) then I get the same assertion failure ("Invalid TRUNCATE!" at SelectionDAG.cpp:4661). It looks like currently there's no targets that have FP_ROUND set to Expand for scalar floating-point types, so I guess that the FP_ROUND code is never used.


So does AArch64 set FP_ROUND to Legal or Custom? STRICT_FP_ROUND should do the same.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D73201/new/

https://reviews.llvm.org/D73201





More information about the llvm-commits mailing list