[llvm] c22b64e - [AArch64][GlobalISel] Don't allow s128 for G_ISNAN

Jessica Paquette via llvm-commits llvm-commits at lists.llvm.org
Wed Aug 18 13:59:18 PDT 2021


Author: Jessica Paquette
Date: 2021-08-18T13:59:00-07:00
New Revision: c22b64ef66f7518abb6f022fcdfd86d16c764caf

URL: https://github.com/llvm/llvm-project/commit/c22b64ef66f7518abb6f022fcdfd86d16c764caf
DIFF: https://github.com/llvm/llvm-project/commit/c22b64ef66f7518abb6f022fcdfd86d16c764caf.diff

LOG: [AArch64][GlobalISel] Don't allow s128 for G_ISNAN

getAPFloatFromSize doesn't support s128, so we can't lower this without
asserting right now.

To fix the buildbots, don't allow any scalars other than s16, s32, and s64.

Added: 
    

Modified: 
    llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp

Removed: 
    


################################################################################
diff  --git a/llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp b/llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
index bbc3df391da8..5320f44af2a3 100644
--- a/llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
+++ b/llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
@@ -727,7 +727,8 @@ AArch64LegalizerInfo::AArch64LegalizerInfo(const AArch64Subtarget &ST)
   // TODO: Vector types.
   getActionDefinitionsBuilder({G_SADDSAT, G_SSUBSAT}).lowerIf(isScalar(0));
 
-  getActionDefinitionsBuilder(G_ISNAN).lower();
+  getActionDefinitionsBuilder(G_ISNAN).lowerIf(
+      any(isVector(1), typeInSet(1, {s16, s32, s64})));
 
   // TODO: Vector types.
   getActionDefinitionsBuilder({G_FMAXNUM, G_FMINNUM})


        


More information about the llvm-commits mailing list