Home | History | Annotate | Download | only in gcc

Lines Matching refs:factor

81    as ORIG, but with each element split into FACTOR pieces.  For example,
82 if ORIG is { 1, 2, 0, 3 } and FACTOR is 2, the new permutation is
87 unsigned int factor)
90 m_nelts_per_input = orig.m_nelts_per_input * factor;
91 m_encoding.new_vector (orig.m_encoding.full_nelts () * factor,
92 orig.m_encoding.npatterns () * factor,
97 element_type base = orig.m_encoding[i] * factor;
98 for (unsigned int j = 0; j < factor; ++j)
106 built up from FACTOR pieces. Return true if yes, otherwise
107 return false. Every FACTOR permutation indexes should be
109 be able to exactly modulo FACTOR. For example, if ORIG is
110 { 2, 3, 4, 5, 0, 1, 6, 7 } and FACTOR is 2, the new permutation
115 unsigned int factor)
117 gcc_assert (factor > 0);
119 if (maybe_lt (orig.m_nelts_per_input, factor))
123 /* Invalid if vector units number isn't multiple of factor. */
124 if (!multiple_p (orig.m_nelts_per_input, factor, &nelts))
127 /* Only handle the case that npatterns is multiple of factor.
128 FIXME: Try to see whether we can reshape it by factor npatterns. */
129 if (orig.m_encoding.npatterns () % factor != 0)
134 /* Separate all encoded elements into batches by size factor,
136 factor and all elements in each batch is consecutive from
138 for (unsigned int i = 0; i < encoded_nelts; i += factor)
142 if (!multiple_p (first, factor, &new_index))
144 for (unsigned int j = 1; j < factor; ++j)
152 poly_uint64 full_nelts = exact_div (orig.m_encoding.full_nelts (), factor);
153 unsigned int npatterns = orig.m_encoding.npatterns () / factor;