/freebsd/contrib/llvm-project/llvm/lib/CodeGen/ |
H A D | ExpandVectorPredication.cpp | 185 /// Lower this VP reduction to a call to an unpredicated reduction intrinsic. 373 llvm_unreachable("Expecting a VP reduction intrinsic"); in getNeutralReductionElement() 431 Value *Reduction; in expandPredicationInReduction() local 436 llvm_unreachable("Impossible reduction kind"); in expandPredicationInReduction() 438 Reduction = Builder.CreateAddReduce(RedOp); in expandPredicationInReduction() 439 Reduction = Builder.CreateAdd(Reduction, Start); in expandPredicationInReduction() 442 Reduction = Builder.CreateMulReduce(RedOp); in expandPredicationInReduction() 443 Reduction = Builder.CreateMul(Reduction, Start); in expandPredicationInReduction() 446 Reduction = Builder.CreateAndReduce(RedOp); in expandPredicationInReduction() 447 Reduction = Builder.CreateAnd(Reduction, Start); in expandPredicationInReduction() [all …]
|
H A D | ExpandReductions.cpp | 1 //===- ExpandReductions.cpp - Expand reduction intrinsics -----------------===// 9 // This pass implements IR expansion for reduction intrinsics, allowing targets 73 // FMFs must be attached to the call, otherwise it's an ordered reduction in expandReductions() 93 // Or reduction for i1 is represented as: in expandReductions() 96 // And reduction for i1 is represented as: in expandReductions() 111 assert(ID == Intrinsic::vector_reduce_or && "Expected or reduction."); in expandReductions() 137 // We require "nnan" to use a shuffle reduction; "nsz" is implied by the in expandReductions() 138 // semantics of the reduction. in expandReductions() 177 "Expand reduction intrinsics", false, false) 180 "Expand reduction intrinsics", false, false) in INITIALIZE_PASS_DEPENDENCY()
|
/freebsd/contrib/llvm-project/llvm/lib/Analysis/ |
H A D | IVDescriptors.cpp | 91 /// Compute the minimal bit width needed to represent a reduction whose exit 136 /// model, given a reduction exit value and the minimal type in which the 137 // reduction can be represented. Also search casts to the recurrence type 179 // Check if a given Phi node can be recognized as an ordered reduction for 194 // Ensure the exit instruction has only one user other than the reduction PHI in checkOrderedReduction() 198 // The only pattern accepted is the one in which the reduction PHI in checkOrderedReduction() 207 LLVM_DEBUG(dbgs() << "LV: Found an ordered reduction: Phi: " << *Phi in checkOrderedReduction() 220 // Reduction variables are only found in the loop header block. in AddReductionVar() 224 // Obtain the reduction start value from the value that comes from the loop in AddReductionVar() 229 // We only allow for a single reduction value to be used outside the loop. in AddReductionVar() [all …]
|
/freebsd/contrib/arm-optimized-routines/pl/math/ |
H A D | tanf_3u3.c | 37 /* Reduction of the input argument x using Cody-Waite approach, such that x = r 48 /* r = x - n * (pi/2) (range reduction into -pi/4 .. pi/4). */ in reduce() 66 Reduction uses a table of 4/PI with 192 bits of precision. A 32x96->128 bit 111 /* Dispatch between no reduction (small numbers), fast reduction and in tanf() 112 slow large numbers reduction. The reduction step determines r float in tanf() 132 /* Similar to other trigonometric routines, fast inaccurate reduction is in tanf() 136 reduction techniques need to be implemented to reach a similar accuracy. in tanf() 140 /* Fast inaccurate reduction. */ in tanf() 145 /* Slow accurate reduction. */ in tanf() 170 /* Perform additional reduction if required. */ in tanf()
|
/freebsd/contrib/llvm-project/clang/lib/CodeGen/ |
H A D | CGOpenMPRuntime.h | 127 /// Class intended to support codegen of all kind of the reduction clauses. 130 /// Data required for codegen of reduction clauses. 138 /// Helper expression for generation reduction operation. 145 /// List of reduction-based clauses. 152 /// Sizes of the reduction items in chars. 154 /// Base declarations for the reduction items. 162 /// \param N Number of reduction item in the common list. 165 /// \param DRD Declare reduction construct used for reduction item. 174 /// Emits lvalue for the shared and original reduction item. 175 /// \param N Number of the reduction item. [all …]
|
H A D | CGOpenMPRuntimeGPU.h | 261 /// Emit a code for reduction clause. 263 /// \param Privates List of private copies for original reduction arguments. 264 /// \param LHSExprs List of LHS in \a ReductionOps reduction operations. 265 /// \param RHSExprs List of RHS in \a ReductionOps reduction operations. 266 /// \param ReductionOps List of reduction operations in form 'LHS binop RHS' 268 /// \param Options List of options for reduction codegen: 271 /// SimpleReduction Emit reduction operation only. Used for omp simd 273 /// ReductionKind The kind of reduction to perform.
|
/freebsd/contrib/llvm-project/llvm/lib/Target/ARM/ |
H A D | ARMParallelDSP.cpp | 56 class Reduction; 86 class Reduction { class 94 Reduction() = delete; 96 Reduction (Instruction *Add) : Root(Add) { } in Reduction() function in __anon176cfc890111::Reduction 98 /// Record an Add instruction that is a part of the this reduction. 102 /// of this reduction. 134 /// reduction already has a value to initialise the accumulator. 156 /// Return the add instruction which is the root of the reduction. 166 /// Return the set of adds that comprise the reduction. 170 /// the reduction. [all …]
|
/freebsd/contrib/llvm-project/clang/include/clang/AST/ |
H A D | DeclOpenMP.h | 167 /// This represents '#pragma omp declare reduction ...' directive. 168 /// For example, in the following, declared reduction 'foo' for types 'int' and 172 /// #pragma omp declare reduction (foo : int,float : omp_out += omp_in) 182 /// Combiner for declare reduction construct. 184 /// Initializer for declare reduction construct. 195 /// Reference to the previous declare reduction construct in the same 197 /// the declare reduction construct is declared inside compound statement. 211 /// Create declare reduction node. 215 /// Create deserialized declare reduction node. 219 /// Get combiner expression of the declare reduction construct. [all …]
|
/freebsd/crypto/openssl/crypto/modes/asm/ |
H A D | ghashp8-ppc.pl | 30 # 2x aggregated reduction improves performance by 50% (resulting 32 # aggregated reduction - by 170% or 2.7x (resulting in 0.55 cpb). 125 vpmsumd $t2,$Xl,$xC2 # 1st reduction phase 135 vsldoi $t1,$Xl,$Xl,8 # 2nd reduction phase 161 vpmsumd $t2,$Xl,$xC2 # 1st reduction phase 162 vpmsumd $t6,$Xl1,$xC2 # 1st reduction phase 178 vsldoi $t1,$Xl,$Xl,8 # 2nd reduction phase 179 vsldoi $t5,$Xl1,$Xl1,8 # 2nd reduction phase 238 vpmsumd $t2,$Xl,$xC2 # 1st reduction phase 248 vsldoi $t1,$Xl,$Xl,8 # 2nd reduction phase [all …]
|
H A D | ghashv8-armx.pl | 28 # Implement 2x aggregated reduction [see ghash-x86.pl for background 33 # AArch64 register bank to "accommodate" 4x aggregated reduction and 245 vpmull.p64 $t2,$Xl,$xC2 @ 1st phase of reduction 251 vext.8 $t2,$Xl,$Xl,#8 @ 2nd phase of reduction 363 vpmull.p64 $t2,$Xl,$xC2 @ 1st phase of reduction 376 vext.8 $t2,$Xl,$Xl,#8 @ 2nd phase of reduction 406 vpmull.p64 $t2,$Xl,$xC2 @ 1st phase of reduction 412 vext.8 $t2,$Xl,$Xl,#8 @ 2nd phase of reduction 521 vpmull.p64 $t2,$Xl,$xC2 @ 1st phase of reduction 534 vext.8 $t2,$Xl,$Xl,#8 @ 2nd phase of reduction [all …]
|
/freebsd/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/ |
H A D | LoopUtils.h | 366 /// Returns the arithmetic instruction opcode used when expanding a reduction. 369 /// Returns the min/max intrinsic used when expanding a min/max reduction. 372 /// Returns the min/max intrinsic used when expanding a min/max reduction. 375 /// Returns the recurence kind used when expanding a min/max reduction. 378 /// Returns the comparison predicate used when expanding a min/max reduction. 386 /// Generates an ordered vector reduction using extracts to reduce the value. 390 /// Generates a vector reduction using shufflevectors to reduce the value. 396 /// Create a target reduction of the given vector. The reduction operation 400 /// required to implement the reduction. 405 /// reduction. [all …]
|
/freebsd/contrib/llvm-project/llvm/include/llvm/Frontend/OpenMP/ |
H A D | OMPIRBuilder.h | 1280 /// Values representing pointers to LHS and RHS of the reduction, as well as 1286 /// Enum class for reduction evaluation types scalar, complex and aggregate. 1289 /// Information about an OpenMP reduction. 1304 /// Reduction element type, must match pointee type of variable. 1307 /// Reduction variable of pointer type. 1310 /// Thread-private partial reduction variable. 1313 /// Reduction evaluation kind - scalar, complex or aggregate. 1316 /// Callback for generating the reduction body. The IR produced by this will 1321 /// Clang callback for generating the reduction body. The IR produced by 1326 /// Callback for generating the atomic reduction body, may be null. The IR [all …]
|
/freebsd/contrib/llvm-project/llvm/include/llvm/Transforms/Vectorize/ |
H A D | SLPVectorizer.h | 115 /// Try to find horizontal reduction or otherwise, collect instructions 117 /// \a P if not null designates phi node the reduction is fed into 118 /// (with reduction operators \a Root or one of its operands, in a basic block 120 /// \returns true if a horizontal reduction was matched and reduced. 122 /// or a horizontal reduction was not matched or not possible. 128 /// Make an attempt to vectorize reduction and then try to vectorize
|
/freebsd/sys/contrib/dev/iwlwifi/fw/api/ |
H A D | power.h | 256 * struct iwl_reduce_tx_power_cmd - TX power reduction command 284 * struct iwl_dev_tx_power_common - Common part of the TX power reduction cmd 302 * struct iwl_dev_tx_power_cmd_v3 - TX power reduction command version 3 312 * struct iwl_dev_tx_power_cmd_v4 - TX power reduction command version 4 315 * reduction. 325 * struct iwl_dev_tx_power_cmd_v5 - TX power reduction command version 5 328 * reduction. 346 * struct iwl_dev_tx_power_cmd_v6 - TX power reduction command version 6 349 * reduction. 367 * struct iwl_dev_tx_power_cmd_v7 - TX power reduction comman [all...] |
/freebsd/sys/contrib/device-tree/Bindings/sound/ |
H A D | st,sta32x.txt | 67 If present, power bridge correction for THD reduction near maximum 70 - st,am-reduction-mode: 71 If present, FFX mode runs in AM reduction mode, otherwise normal 97 // correction for THD reduction
|
H A D | st,sta350.txt | 71 If present, power bridge correction for THD reduction near maximum 74 - st,am-reduction-mode: 75 If present, FFX mode runs in AM reduction mode, otherwise normal 127 // correction for THD reduction
|
/freebsd/sys/crypto/openssl/aarch64/ |
H A D | ghashv8-armx.S | 121 pmull v18.1q,v0.1d,v19.1d //1st phase of reduction 127 ext v18.16b,v0.16b,v0.16b,#8 //2nd phase of reduction 213 pmull v18.1q,v0.1d,v19.1d //1st phase of reduction 226 ext v18.16b,v0.16b,v0.16b,#8 //2nd phase of reduction 253 pmull v18.1q,v0.1d,v19.1d //1st phase of reduction 259 ext v18.16b,v0.16b,v0.16b,#8 //2nd phase of reduction 356 pmull v18.1q,v0.1d,v19.1d //1st phase of reduction 369 ext v18.16b,v0.16b,v0.16b,#8 //2nd phase of reduction 417 pmull v18.1q,v0.1d,v19.1d //1st phase of reduction 427 ext v18.16b,v0.16b,v0.16b,#8 //2nd phase of reduction [all …]
|
/freebsd/usr.bin/units/ |
H A D | units.1 | 174 new units in terms of old ones so that a reduction leads to the 363 .It memory overflow in unit reduction 462 units: memory overflow in unit reduction 467 units: memory overflow in unit reduction 468 units: memory overflow in unit reduction 469 units: memory overflow in unit reduction
|
/freebsd/contrib/llvm-project/llvm/tools/bugpoint/ |
H A D | ListReducer.h | 83 while (MidTop > 1) { // Binary split reduction loop in reduceList() 86 errs() << "\n\n*** Reduction Interrupted, cleaning up...\n\n"; in reduceList() 154 // split reduction loop. in reduceList() 168 // If the binary split reduction loop made an unfortunate sequence of in reduceList() 179 errs() << "\n\n*** Reduction Interrupted, cleaning up...\n\n"; in reduceList()
|
/freebsd/contrib/llvm-project/llvm/include/llvm/Analysis/ |
H A D | IVDescriptors.h | 52 IAnyOf, ///< Any_of reduction with select(icmp(),x,y) where one of (x,y) is 54 FAnyOf ///< Any_of reduction with select(fcmp(),x,y) where one of (x,y) is 56 // TODO: Any_of reduction need not be restricted to integer type only. 60 /// loop. Reduction is a special case of recurrence that has uses of the 121 /// variable of type 'Kind' for a Loop \p L and reduction PHI \p Phi. 165 /// Returns true if Phi is a reduction of type Kind and adds it to the 167 /// non-null, the minimal bit width needed to compute the reduction will be 175 /// Returns true if Phi is a reduction in TheLoop. The RecurrenceDescriptor 177 /// non-null, the minimal bit width needed to compute the reduction will be 186 /// is a non-reduction recurrenc [all...] |
/freebsd/sys/crypto/openssl/arm/ |
H A D | ghashv8-armx.S | 87 INST(0x26,0x4e,0xe0,0xf2) @ pmull q10,q0,q11 @ 1st phase of reduction 93 vext.8 q10,q0,q0,#8 @ 2nd phase of reduction 180 INST(0x26,0x4e,0xe0,0xf2) @ pmull q10,q0,q11 @ 1st phase of reduction 193 vext.8 q10,q0,q0,#8 @ 2nd phase of reduction 220 INST(0x26,0x4e,0xe0,0xf2) @ pmull q10,q0,q11 @ 1st phase of reduction 226 vext.8 q10,q0,q0,#8 @ 2nd phase of reduction
|
/freebsd/contrib/llvm-project/llvm/lib/Target/X86/ |
H A D | X86PartialReduction.cpp | 9 // This pass looks for add instructions used by a horizontal reduction to see 31 #define DEBUG_TYPE "x86-partial-reduction" 51 return "X86 Partial Reduction"; in getPassName() 67 "X86 Partial Reduction", false, false) 353 // a horizontal reduction. Return the input to the reduction if we find one. 369 // Ensure the reduction size is a power of 2. in matchAddReduction() 432 // reduction. Root is the Value that is used by the horizontal reduction. 521 // First find a reduction tree. in runOnFunction()
|
/freebsd/contrib/llvm-project/llvm/include/llvm/CodeGen/PBQP/ |
H A D | ReductionRules.h | 1 //===- ReductionRules.h - Reduction Rules -----------------------*- C++ -*-===// 9 // Reduction Rules. 170 // Given a graph and a reduction order, pop each node from the reduction 174 // Note - This does not return the graph to its original (pre-reduction)
|
/freebsd/contrib/llvm-project/llvm/lib/Transforms/Scalar/ |
H A D | LoopInterchange.cpp | 273 /// Discover induction and reduction PHIs in the header of \p L. Induction 289 /// Set of reduction PHIs taking part of a reduction across the inner and 705 // Check V's users to see if it is involved in a reduction in L. 707 // Reduction variables cannot be constants. in findInnerReductionPhi() 717 // Detect floating point reduction only when it can be reordered. in findInnerReductionPhi() 738 // PHIs in inner loops need to be part of a reduction in the outer loop, in findInductionAndReductions() 749 // Check if we have a PHI node in the outer loop that has a reduction in findInductionAndReductions() 757 << "Failed to recognize PHI as an induction or reduction.\n"); in findInductionAndReductions() 795 dbgs() << "Only outer loops with induction or reduction PHI nodes " in currentLimitations() 801 << "Only outer loops with induction or reduction PHI nodes can be" in currentLimitations() [all …]
|
/freebsd/contrib/llvm-project/llvm/lib/Target/RISCV/ |
H A D | RISCVCodeGenPrepare.cpp | 107 // LLVM vector reduction intrinsics return a scalar result, but on RISC-V vector 108 // reduction instructions write the result in the first element of a vector 109 // register. So when a reduction in a loop uses a scalar phi, we end up with 117 // This mainly affects ordered fadd reductions, since other types of reduction 119 // vectorize any scalar phis that feed into a fadd reduction:
|