================
@@ -2847,6 +2847,45 @@ def ByteSwapOp : CIR_BitOpBase<"byte_swap", 
CIR_UIntOfWidths<[16, 32, 64]>> {
   }];
 }
 
+//===----------------------------------------------------------------------===//
+// RotateOp
+//===----------------------------------------------------------------------===//
+
+def RotateOp : CIR_Op<"rotate", [Pure, SameOperandsAndResultType]> {
----------------
xlauko wrote:

I believe the goal was to unify the assembly format and traits for all pure 
unary operations of the form `T -> T` in a single place. However, the name 
`BitOpBase` might misleadingly suggest that it specifically involves some 
bit-level semantics.

Formally, such operations are endomorphisms. That said, it's unclear to me 
whether names like `EndomorphismOpBase` or `EndoOpBase` are desirable or 
intuitive enough for this purpose.



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

Reply via email to