| /llvm-project/flang/include/flang/Runtime/ |
| H A D | matmul-instances.inc | 51 macro(Integer, 1, Complex, 4) \ 52 macro(Integer, 1, Complex, 8) \ 53 macro(Integer, 2, Complex, 4) \ 54 macro(Integer, 2, Complex, 8) \ 55 macro(Integer, 4, Complex, 4) \ 56 macro(Integer, 4, Complex, 8) \ 57 macro(Integer, 8, Complex, 4) \ 58 macro(Integer, 8, Complex, 8) \ 67 macro(Unsigned, 1, Complex, 4) \ 68 macro(Unsigned, 1, Complex, [all...] |
| /llvm-project/flang/include/flang/Evaluate/ |
| H A D | complex.h | 22 template <typename REAL_TYPE> class Complex { 27 constexpr Complex() {} // (+0.0, +0.0) in Complex() function 28 constexpr Complex(const Complex &) = default; 29 constexpr Complex(const Part &r, const Part &i) : re_{r}, im_{i} {} in Complex() function 30 explicit constexpr Complex(const Part &r) : re_{r} {} in Complex() function 31 constexpr Complex &operator=(const Complex &) = default; 32 constexpr Complex &operator=(Complex [all...] |
| /llvm-project/flang/lib/Evaluate/ |
| H A D | complex.cpp | 15 ValueWithRealFlags<Complex<R>> Complex<R>::Add( in Add() 16 const Complex &that, Rounding rounding) const { in Add() 20 return {Complex{reSum, imSum}, flags}; in Add() 24 ValueWithRealFlags<Complex<R>> Complex<R>::Subtract( in Subtract() 25 const Complex &that, Rounding rounding) const { in Subtract() 29 return {Complex{reDiff, imDiff}, flags}; in Subtract() 33 ValueWithRealFlags<Complex<R>> Complex<R>::Multiply( in Multiply() 34 const Complex &that, Rounding rounding) const { in Multiply() 43 return {Complex{acbd, adbc}, flags}; in Multiply() 47 ValueWithRealFlags<Complex<R>> Complex<R>::Divide( in Divide() [all …]
|
| H A D | fold-complex.cpp | 16 Expr<Type<TypeCategory::Complex, KIND>> FoldIntrinsicFunction( in FoldIntrinsicFunction() 18 FunctionRef<Type<TypeCategory::Complex, KIND>> &&funcRef) { in FoldIntrinsicFunction() argument 19 using T = Type<TypeCategory::Complex, KIND>; in FoldIntrinsicFunction() 81 Expr<Type<TypeCategory::Complex, KIND>> FoldOperation( in FoldOperation() 86 using Result = Type<TypeCategory::Complex, KIND>; in FoldOperation()
|
| H A D | type.cpp | 186 case TypeCategory::Complex: in MeasureSizeInBytes() 696 case TypeCategory::Complex: in ResultTypeForMultiply() 716 case TypeCategory::Complex: in RequiresDescriptor() 717 return DynamicType{TypeCategory::Complex, std::max(kind(), that.kind())}; 722 case TypeCategory::Complex: in HasDeferredTypeParameter() 727 case TypeCategory::Complex: in HasDeferredTypeParameter() 728 return DynamicType{TypeCategory::Complex, std::max(kind(), that.kind())}; 799 case TypeCategory::Complex: in ComparisonType() 809 case TypeCategory::Complex: 814 case TypeCategory::Complex in IsInteroperableIntrinsicType() [all...] |
| /llvm-project/llvm/test/Analysis/LoopAccessAnalysis/ |
| H A D | pr31098.ll | 19 ; class Complex { 25 ; Complex() : real_(0), imaginary_(0) { } 26 ; Complex(float real, float imaginary) : real_(real), imaginary_(imaginary) { } 27 ; Complex(const Complex &rhs) : real_(rhs.real()), imaginary_(rhs.imaginary()) { } 32 ; Complex operator+(const Complex& rhs) const 34 ; return Complex(real_ + rhs.real_, imaginary_ + rhs.imaginary_); 37 ; Complex operator-(const Complex& rhs) const 39 ; return Complex(real_ - rhs.real_, imaginary_ - rhs.imaginary_); 43 ; void Test(Complex *out, size_t size) 48 ; Complex t0 = out[offset]; [all …]
|
| /llvm-project/clang/test/SemaCXX/ |
| H A D | complex-conversion.cpp | 5 void func(float Real, _Complex float Complex) { in func() argument 6 …Real += Complex; // expected-error {{assigning to 'float' from incompatible type '_Complex float'}} in func() 7 Real += (float)Complex; in func() 9 …Real = Complex; // expected-error {{implicit conversion from '_Complex float' to 'float' is not pe… in func() 10 Real = (float)Complex; in func() 12 …take<float>(Complex); // expected-error {{implicit conversion from '_Complex float' to 'float' is … in func() 14 take<_Complex float>(Complex); in func() 17 take<bool>(Complex); in func()
|
| /llvm-project/llvm/test/Transforms/LoopVectorize/ |
| H A D | pr31098.ll | 20 ; class Complex { 26 ; Complex() : real_(0), imaginary_(0) { } 27 ; Complex(float real, float imaginary) : real_(real), imaginary_(imaginary) { } 28 ; Complex(const Complex &rhs) : real_(rhs.real()), imaginary_(rhs.imaginary()) { } 33 ; Complex operator+(const Complex& rhs) const 35 ; return Complex(real_ + rhs.real_, imaginary_ + rhs.imaginary_); 38 ; Complex operator-(const Complex& rhs) const 40 ; return Complex(real_ - rhs.real_, imaginary_ - rhs.imaginary_); 44 ; void Test(Complex *out, size_t size) 49 ; Complex t0 = out[offset]; [all …]
|
| H A D | interleaved-accesses-1.ll | 14 ; class Complex { 20 ; Complex() : real_(0), imaginary_(0) { } 21 ; Complex(float real, float imaginary) : real_(real), imaginary_(imaginary) { } 22 ; Complex(const Complex &rhs) : real_(rhs.real()), imaginary_(rhs.imaginary()) { } 28 ;void test(Complex * __restrict__ out, Complex * __restrict__ in, size_t out_start, size_t size) 33 ; Complex t0 = in[out_ix]; 43 %class.Complex = type { float, float } 62 %arrayidx = getelementptr inbounds %class.Complex, ptr %in, i64 %add 64 %imaginary_.i.i = getelementptr inbounds %class.Complex, ptr %in, i64 %add, i32 1 66 %arrayidx1 = getelementptr inbounds %class.Complex, ptr %out, i64 %add
|
| /llvm-project/llvm/test/Transforms/InstCombine/ |
| H A D | extractinsert-tbaa.ll | 3 %Complex = type { double, double } 8 ; CHECK-NOT: load %Complex 9 %loaded = load %Complex, ptr %val, !tbaa !1 10 %real = extractvalue %Complex %loaded, 0 26 ; CHECK-NOT: store %Complex 27 %inserted = insertvalue %Complex undef, double %a, 0 28 %inserted2 = insertvalue %Complex %inserted, double %b, 1 29 store %Complex %inserted2, ptr %loc, !tbaa !1 45 !2 = !{!"Complex", !0, i64 0}
|
| /llvm-project/llvm/test/Transforms/SROA/ |
| H A D | mem-par-metadata-sroa.ll | 8 ; class Complex { 14 ; Complex() : real_(0), imaginary_(0) { } 15 ; Complex(float real, float imaginary) : real_(real), imaginary_(imaginary) { } 16 ; Complex(const Complex &rhs) : real_(rhs.real()), imaginary_(rhs.imaginary()) { } 21 ; Complex operator+(const Complex& rhs) const 23 ; return Complex(real_ + rhs.real_, imaginary_ + rhs.imaginary_); 27 ; void test(Complex *out, long size) 31 ; Complex t0 = out[offset]; 42 %class.Complex = type { float, float } 72 %t0 = alloca %class.Complex, align 4 [all …]
|
| /llvm-project/flang/runtime/ |
| H A D | type-code.cpp | 77 case TypeCategory::Complex: in TypeCode() 200 return std::make_pair(TypeCategory::Complex, 2); in GetCategoryAndKind() 202 return std::make_pair(TypeCategory::Complex, 3); in GetCategoryAndKind() 204 return std::make_pair(TypeCategory::Complex, 4); in GetCategoryAndKind() 206 return std::make_pair(TypeCategory::Complex, 8); in GetCategoryAndKind() 208 return std::make_pair(TypeCategory::Complex, 10); in GetCategoryAndKind() 210 return std::make_pair(TypeCategory::Complex, 16); 212 return std::make_pair(TypeCategory::Complex, 16);
|
| H A D | findloc.cpp | 37 struct Equality<TypeCategory::Complex, KIND1, TypeCategory::Complex, KIND2> { in operator ()() 38 using Type1 = CppTypeFor<TypeCategory::Complex, KIND1>; in operator ()() 39 using Type2 = CppTypeFor<TypeCategory::Complex, KIND2>; in operator ()() 49 struct Equality<TypeCategory::Complex, KIND1, CAT2, KIND2> { in operator ()() 50 using Type1 = CppTypeFor<TypeCategory::Complex, KIND1>; in operator ()() 60 struct Equality<CAT1, KIND1, TypeCategory::Complex, KIND2> { in operator ()() 62 using Type2 = CppTypeFor<TypeCategory::Complex, KIND2>; 174 case TypeCategory::Complex: in operator ()() 176 HELPER<CAT, KIND, TypeCategory::Complex> in operator ()() [all...] |
| H A D | dot-product.cpp | 39 if constexpr (RCAT == TypeCategory::Complex) { in AccumulateIndexed() 85 if constexpr (RCAT == TypeCategory::Complex) { in DoDotProduct() 229 void RTDEF(CppDotProductComplex4)(CppTypeFor<TypeCategory::Complex, 4> &result, in RTDEF() 231 result = DotProduct<TypeCategory::Complex, 4>{}(x, y, source, line); in RTDEF() 233 void RTDEF(CppDotProductComplex8)(CppTypeFor<TypeCategory::Complex, 8> &result, in RTDEF() 235 result = DotProduct<TypeCategory::Complex, 8>{}(x, y, source, line); 239 CppTypeFor<TypeCategory::Complex, 10> &result, const Descriptor &x, in RTDEF() 241 result = DotProduct<TypeCategory::Complex, 10>{}(x, y, source, line); 246 CppTypeFor<TypeCategory::Complex, 16> &result, const Descriptor &x, 248 result = DotProduct<TypeCategory::Complex, 1 [all...] |
| H A D | product.cpp | 172 void RTDEF(CppProductComplex4)(CppTypeFor<TypeCategory::Complex, 4> &result, 175 result = GetTotalReduction<TypeCategory::Complex, 4>(x, source, line, dim, 179 void RTDEF(CppProductComplex8)(CppTypeFor<TypeCategory::Complex, 8> &result, 182 result = GetTotalReduction<TypeCategory::Complex, 8>(x, source, line, dim, 187 void RTDEF(CppProductComplex10)(CppTypeFor<TypeCategory::Complex, 10> &result, 190 result = GetTotalReduction<TypeCategory::Complex, 10>(x, source, line, dim, 196 void RTDEF(CppProductComplex16)(CppTypeFor<TypeCategory::Complex, 16> &result, 199 result = GetTotalReduction<TypeCategory::Complex, 16>(x, source, line, dim,
|
| H A D | sum.cpp | 192 void RTDEF(CppSumComplex4)(CppTypeFor<TypeCategory::Complex, 4> &result, in RTDEF() 195 result = GetTotalReduction<TypeCategory::Complex, 4>( 198 void RTDEF(CppSumComplex8)(CppTypeFor<TypeCategory::Complex, 8> &result, 201 result = GetTotalReduction<TypeCategory::Complex, 8>( 205 void RTDEF(CppSumComplex10)(CppTypeFor<TypeCategory::Complex, 10> &result, 209 GetTotalReduction<TypeCategory::Complex, 10>(x, source, line, dim, mask, 214 void RTDEF(CppSumComplex16)(CppTypeFor<TypeCategory::Complex, 16> &result, 218 GetTotalReduction<TypeCategory::Complex, 16>(x, source, line, dim, mask,
|
| H A D | tools.h | 250 case TypeCategory::Complex: in ApplyType() 254 return FUNC<TypeCategory::Complex, 2>{}(std::forward<A>(x)...); in ApplyType() 256 return FUNC<TypeCategory::Complex, 3>{}(std::forward<A>(x)...); in ApplyType() 259 return FUNC<TypeCategory::Complex, 4>{}(std::forward<A>(x)...); in ApplyType() 261 return FUNC<TypeCategory::Complex, 8>{}(std::forward<A>(x)...); in ApplyType() 264 return FUNC<TypeCategory::Complex, 10>{}(std::forward<A>(x)...); in ApplyType() 269 return FUNC<TypeCategory::Complex, 16>{}(std::forward<A>(x)...); in ApplyType() 405 case TypeCategory::Complex: in GetResultType() 421 case TypeCategory::Complex: in GetResultType() 443 case TypeCategory::Complex in GetResultType() [all...] |
| /llvm-project/libcxx/test/std/numerics/complex.number/complex/ |
| H A D | bit_cast.pass.cpp | 19 using Complex = std::complex<T>; in test() typedef 20 unsigned char data[sizeof(Complex)] = {0}; in test() 22 [[maybe_unused]] Complex c = std::bit_cast<Complex>(data); in test()
|
| /llvm-project/clang/test/CodeGenCXX/ |
| H A D | debug-info-composite-cc.cpp | 36 struct Complex { struct 37 Complex() {} in Complex() function 38 Complex(Complex &Copy) : i(Copy.i) {}; in Complex() function
|
| /llvm-project/mlir/include/mlir/Dialect/Complex/IR/ |
| H A D | ComplexOps.td | 1 //===- ComplexOps.td - Complex op definitions ----------------*- tablegen -*-===// 14 include "mlir/Dialect/Complex/IR/ComplexBase.td" 28 let arguments = (ins Complex<AnyFloat>:$lhs, Complex<AnyFloat>:$rhs, DefaultValuedAttr< 30 let results = (outs Complex<AnyFloat>:$result); 39 let arguments = (ins Complex<AnyFloat>:$complex, DefaultValuedAttr< 178 let results = (outs Complex<AnyFloat>:$result); 208 let results = (outs Complex<AnyFloat>:$complex); 249 let arguments = (ins Complex<AnyFloat>:$lhs, Complex<AnyFloat>:$rhs); 273 let results = (outs Complex<AnyFloat>:$result); 294 let results = (outs Complex<AnyFloat>:$result); [all …]
|
| /llvm-project/flang/lib/Optimizer/Builder/ |
| H A D | Complex.cpp | 1 //===-- Complex.cpp -------------------------------------------------------===// 9 #include "flang/Optimizer/Builder/Complex.h" 12 // Complex Factory implementation 16 fir::factory::Complex::getComplexPartType(mlir::Type complexType) const { in getComplexPartType() 20 mlir::Type fir::factory::Complex::getComplexPartType(mlir::Value cplx) const { 24 mlir::Value fir::factory::Complex::createComplex(mlir::Type cplxTy, 31 mlir::Value fir::factory::Complex::createComplex(mlir::Value real,
|
| /llvm-project/flang/unittests/Runtime/ |
| H A D | MiscIntrinsic.cpp | 41 mold.Establish(TypeCategory::Complex, 4, nullptr, 1, extent); in TEST() 46 EXPECT_EQ(result.type().raw(), (TypeCode{TypeCategory::Complex, 4}.raw())); in TEST() 61 mold.Establish(TypeCategory::Complex, 4, nullptr, 1, extent); in TEST() 66 EXPECT_EQ(result.type().raw(), (TypeCode{TypeCategory::Complex, 4}.raw())); in TEST() 75 auto source{Descriptor::Create(TypeCategory::Complex, 4, in TEST()
|
| /llvm-project/clang/unittests/Tooling/ |
| H A D | QualTypeNamesTest.cpp | 175 TEST(QualTypeNameTest, Complex) { in TEST() argument 176 TypeNameVisitor Complex; in TEST() local 177 Complex.ExpectedQualTypeNames["CheckTX"] = "B::TX"; in TEST() 178 Complex.runOver( in TEST()
|
| /llvm-project/flang/include/flang/Optimizer/Builder/ |
| H A D | Complex.h | 1 //===-- Complex.h -- lowering of complex values -----------------*- C++ -*-===// 21 class Complex { 23 explicit Complex(FirOpBuilder &builder, mlir::Location loc) in Complex() function 25 Complex(const Complex &) = delete; 31 /// Get the Complex Type. Determine the type. Do not create MLIR operations.
|
| /llvm-project/llvm/test/MC/Disassembler/Hexagon/ |
| H A D | xtype_complex.txt | 4 # Complex add/sub halfwords 14 # Complex add/sub words 20 # Complex multiply 46 # Complex multiply real or imaginary 56 # Complex multiply with round and pack 66 # Complex multiply 32x16
|