================ @@ -2056,9 +2056,21 @@ void NeonEmitter::createIntrinsic(const Record *R, auto &Entry = IntrinsicMap[Name]; for (auto &I : NewTypeSpecs) { + + // MFloat8 type is only available on AArch64. If encountered set ArchGuard + // correctly. + std::string savedArchGuard = ArchGuard; + if (Type(I.first, ".").isMFloat8()) { + if (ArchGuard.empty()) { + ArchGuard = "defined(__aarch64__)"; + } else if (ArchGuard.find("defined(__aarch64__)") == std::string::npos) { + ArchGuard = "defined(__aarch64__) && (" + savedArchGuard + ")"; + } + } Entry.emplace_back(R, Name, Proto, I.first, I.second, CK, Body, *this, ArchGuard, TargetGuard, IsUnavailable, BigEndianSafe); Out.push_back(&Entry.back()); + ArchGuard = savedArchGuard; ---------------- Lukacma wrote:
Sorry ! Fixed now https://github.com/llvm/llvm-project/pull/128019 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits