[clang] [CIR] Implement SSE packed float comparison builtins (PR #194724)
Andy Kaylor via cfe-commits
cfe-commits at lists.llvm.org
Tue Apr 28 17:04:09 PDT 2026
================
@@ -2301,18 +2301,24 @@ CIRGenFunction::emitX86BuiltinExpr(unsigned builtinID, const CallExpr *expr) {
case X86::BI__builtin_ia32_vpshufbitqmb512_mask:
case X86::BI__builtin_ia32_cmpeqps:
case X86::BI__builtin_ia32_cmpeqpd:
+ return emitVectorFCmp(*this, *expr, ops, cir::CmpOpKind::eq,
+ /*shouldInvert=*/false);
case X86::BI__builtin_ia32_cmpltps:
case X86::BI__builtin_ia32_cmpltpd:
+ return emitVectorFCmp(*this, *expr, ops, cir::CmpOpKind::lt,
----------------
andykaylor wrote:
We need a way to indicate that this should be a signaling fcmp, similarly for other cases here (and some that were previously implemented). That doesn't actually matter until we start supporting FP exceptions, so it doesn't need to be fixed for this PR. I see that we already have a MissingFeature assert and a TODO comment in emitVectorFCmp, so I guess there's nothing to be done in this PR. I just wanted to call it out for anyone who might view this PR in the future.
https://github.com/llvm/llvm-project/pull/194724
More information about the cfe-commits
mailing list