[clang] [CIR] Upstream DivOp for ComplexType (PR #153796)
Andy Kaylor via cfe-commits
cfe-commits at lists.llvm.org
Fri Aug 22 12:47:24 PDT 2025
================
@@ -3013,6 +3014,47 @@ def CIR_ComplexMulOp : CIR_Op<"complex.mul", [
}];
}
+def CIR_ComplexDivOp : CIR_Op<"complex.div", [
+ Pure, SameOperandsAndResultType
+]> {
+ let summary = "Complex division";
+ let description = [{
+ The `cir.complex.div` operation takes two complex numbers and returns
+ their quotient.
+
+ For complex types with floating-point components, the `range` attribute
+ specifies the algorithm to be used when the operation is lowered to
+ the LLVM dialect. For division, 'improved' produces Smith's algorithms for
+ Complex division with no additional handling for NaN values. If 'promoted'
+ is used, the values are promoted to a higher precision type, if possible,
+ and the calculation is performed using the algebraic formula, with
+ no additional handling for NaN values. We fall back on Smith's algorithm
+ when the target does not support a higher precision type.
+ If 'full' is used, a runtime-library function is called if one of the
----------------
andykaylor wrote:
The formatting is a bit off here.
https://github.com/llvm/llvm-project/pull/153796
More information about the cfe-commits
mailing list