================
@@ -2083,4 +2083,33 @@ def VecExtractOp : CIR_Op<"vec.extract", [Pure,
   let hasFolder = 1;
 }
 
+//===----------------------------------------------------------------------===//
+// VecCmpOp
+//===----------------------------------------------------------------------===//
+
+def VecCmpOp : CIR_Op<"vec.cmp", [Pure, SameTypeOperands]> {
----------------
andykaylor wrote:

I guess that makes sense based on the C/C++ language handling, but I see that 
the classic codegen generates a vector of i1 and then sign-extends it to the 
size of the elements that were compared. and we lower to that same pattern when 
we go to the LLVM dialect.

This is fine for now, but I think we should consider using `cir.cmp + 
cir.cast(bool_to_int)` later.

https://github.com/llvm/llvm-project/pull/140597
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to