================
@@ -1472,6 +1472,58 @@ Intrinsic::ID 
Intrinsic::getDeinterleaveIntrinsicID(unsigned Factor) {
   return InterleaveIntrinsics[Factor - 2].Deinterleave;
 }
 
+LLVM_ABI void Intrinsic::printFPClassMask(raw_ostream &OS,
+                                          const Constant *ImmArgVal) {
+  uint64_t Val = cast<ConstantInt>(ImmArgVal)->getZExtValue();
+  if (Val <= fcAllFlags) {
+    SmallVector<StringRef, 5> Classes;
+    if (Val & fcZero) {
----------------
antoniofrighetto wrote:

Right. Not sure if having a small lambda could then look better:
```cpp
  auto Add = [&](FPClassTest Both, StringRef BothName, FPClassTest A,
                 StringRef AName, FPClassTest B, StringRef BName) {
    if (Val & Both) {
      if ((Val & Both) == Both)
        Classes.push_back(BothName);
      else if (Val & A)
        Classes.push_back(AName);
      else
        Classes.push_back(BName);
    }
  };
```

https://github.com/llvm/llvm-project/pull/207653
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to