reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

lib/Target/Hexagon/HexagonISelDAGToDAGHVX.cpp
  621   static OpRef res(int N) { return OpRef(Whole | (N & Index)); }
  622   static OpRef fail() { return OpRef(Invalid); }
  624   static OpRef lo(const OpRef &R) {
  624   static OpRef lo(const OpRef &R) {
  628   static OpRef hi(const OpRef &R) {
  628   static OpRef hi(const OpRef &R) {
  632   static OpRef undef(MVT Ty) { return OpRef(Undef | Ty.SimpleTy); }
  665   std::vector<OpRef> Ops;
  679   unsigned push(unsigned Opc, MVT Ty, std::vector<OpRef> &&Ops) {
  737   for (const auto &R : Ops) {
  838     OpRef concat(OpRef Va, OpRef Vb, ResultStack &Results);
  838     OpRef concat(OpRef Va, OpRef Vb, ResultStack &Results);
  838     OpRef concat(OpRef Va, OpRef Vb, ResultStack &Results);
  839     OpRef packs(ShuffleMask SM, OpRef Va, OpRef Vb, ResultStack &Results,
  839     OpRef packs(ShuffleMask SM, OpRef Va, OpRef Vb, ResultStack &Results,
  839     OpRef packs(ShuffleMask SM, OpRef Va, OpRef Vb, ResultStack &Results,
  841     OpRef packp(ShuffleMask SM, OpRef Va, OpRef Vb, ResultStack &Results,
  841     OpRef packp(ShuffleMask SM, OpRef Va, OpRef Vb, ResultStack &Results,
  841     OpRef packp(ShuffleMask SM, OpRef Va, OpRef Vb, ResultStack &Results,
  843     OpRef vmuxs(ArrayRef<uint8_t> Bytes, OpRef Va, OpRef Vb,
  843     OpRef vmuxs(ArrayRef<uint8_t> Bytes, OpRef Va, OpRef Vb,
  843     OpRef vmuxs(ArrayRef<uint8_t> Bytes, OpRef Va, OpRef Vb,
  845     OpRef vmuxp(ArrayRef<uint8_t> Bytes, OpRef Va, OpRef Vb,
  845     OpRef vmuxp(ArrayRef<uint8_t> Bytes, OpRef Va, OpRef Vb,
  845     OpRef vmuxp(ArrayRef<uint8_t> Bytes, OpRef Va, OpRef Vb,
  848     OpRef shuffs1(ShuffleMask SM, OpRef Va, ResultStack &Results);
  848     OpRef shuffs1(ShuffleMask SM, OpRef Va, ResultStack &Results);
  849     OpRef shuffs2(ShuffleMask SM, OpRef Va, OpRef Vb, ResultStack &Results);
  849     OpRef shuffs2(ShuffleMask SM, OpRef Va, OpRef Vb, ResultStack &Results);
  849     OpRef shuffs2(ShuffleMask SM, OpRef Va, OpRef Vb, ResultStack &Results);
  850     OpRef shuffp1(ShuffleMask SM, OpRef Va, ResultStack &Results);
  850     OpRef shuffp1(ShuffleMask SM, OpRef Va, ResultStack &Results);
  851     OpRef shuffp2(ShuffleMask SM, OpRef Va, OpRef Vb, ResultStack &Results);
  851     OpRef shuffp2(ShuffleMask SM, OpRef Va, OpRef Vb, ResultStack &Results);
  851     OpRef shuffp2(ShuffleMask SM, OpRef Va, OpRef Vb, ResultStack &Results);
  853     OpRef butterfly(ShuffleMask SM, OpRef Va, ResultStack &Results);
  853     OpRef butterfly(ShuffleMask SM, OpRef Va, ResultStack &Results);
  854     OpRef contracting(ShuffleMask SM, OpRef Va, OpRef Vb, ResultStack &Results);
  854     OpRef contracting(ShuffleMask SM, OpRef Va, OpRef Vb, ResultStack &Results);
  854     OpRef contracting(ShuffleMask SM, OpRef Va, OpRef Vb, ResultStack &Results);
  855     OpRef expanding(ShuffleMask SM, OpRef Va, ResultStack &Results);
  855     OpRef expanding(ShuffleMask SM, OpRef Va, ResultStack &Results);
  856     OpRef perfect(ShuffleMask SM, OpRef Va, ResultStack &Results);
  856     OpRef perfect(ShuffleMask SM, OpRef Va, ResultStack &Results);
  990     for (const OpRef &R : Node.Ops) {
  996       if (R.OpN & OpRef::Undef) {
  997         MVT::SimpleValueType SVT = MVT::SimpleValueType(R.OpN & OpRef::Index);
 1002       unsigned Part = R.OpN & OpRef::Whole;
 1003       int Idx = SignExtend32(R.OpN & OpRef::Index, OpRef::IndexBits);
 1003       int Idx = SignExtend32(R.OpN & OpRef::Index, OpRef::IndexBits);
 1009       if (Part != OpRef::Whole) {
 1013         unsigned Sub = (Part == OpRef::LoHalf) ? Hexagon::vsub_lo
 1039 OpRef HvxSelector::concat(OpRef Lo, OpRef Hi, ResultStack &Results) {
 1039 OpRef HvxSelector::concat(OpRef Lo, OpRef Hi, ResultStack &Results) {
 1039 OpRef HvxSelector::concat(OpRef Lo, OpRef Hi, ResultStack &Results) {
 1047   return OpRef::res(Results.top());
 1051 OpRef HvxSelector::packs(ShuffleMask SM, OpRef Va, OpRef Vb,
 1051 OpRef HvxSelector::packs(ShuffleMask SM, OpRef Va, OpRef Vb,
 1051 OpRef HvxSelector::packs(ShuffleMask SM, OpRef Va, OpRef Vb,
 1056     return OpRef::fail();
 1110       Results.push(Hexagon::V6_valignb, Ty, {Vb, Va, OpRef::res(Top)});
 1118     return OpRef::res(Results.top());
 1145   return OpRef::fail();
 1148 OpRef HvxSelector::packp(ShuffleMask SM, OpRef Va, OpRef Vb,
 1148 OpRef HvxSelector::packp(ShuffleMask SM, OpRef Va, OpRef Vb,
 1148 OpRef HvxSelector::packp(ShuffleMask SM, OpRef Va, OpRef Vb,
 1160     return OpRef::undef(getPairVT(MVT::i8));
 1165     return OpRef::fail();
 1169   OpRef Inp[2] = { Va, Vb };
 1170   OpRef Out[2] = { OpRef::undef(HalfTy), OpRef::undef(HalfTy) };
 1170   OpRef Out[2] = { OpRef::undef(HalfTy), OpRef::undef(HalfTy) };
 1170   OpRef Out[2] = { OpRef::undef(HalfTy), OpRef::undef(HalfTy) };
 1178     OpRef Op = Inp[I/2];
 1179     Out[Idx] = (I & 1) ? OpRef::hi(Op) : OpRef::lo(Op);
 1179     Out[Idx] = (I & 1) ? OpRef::hi(Op) : OpRef::lo(Op);
 1197 OpRef HvxSelector::vmuxs(ArrayRef<uint8_t> Bytes, OpRef Va, OpRef Vb,
 1197 OpRef HvxSelector::vmuxs(ArrayRef<uint8_t> Bytes, OpRef Va, OpRef Vb,
 1197 OpRef HvxSelector::vmuxs(ArrayRef<uint8_t> Bytes, OpRef Va, OpRef Vb,
 1205   Results.push(Hexagon::V6_veqb, BoolTy, {OpRef(B), OpRef::res(-1)});
 1206   Results.push(Hexagon::V6_vmux, ByteTy, {OpRef::res(-1), Vb, Va});
 1207   return OpRef::res(Results.top());
 1210 OpRef HvxSelector::vmuxp(ArrayRef<uint8_t> Bytes, OpRef Va, OpRef Vb,
 1210 OpRef HvxSelector::vmuxp(ArrayRef<uint8_t> Bytes, OpRef Va, OpRef Vb,
 1210 OpRef HvxSelector::vmuxp(ArrayRef<uint8_t> Bytes, OpRef Va, OpRef Vb,
 1214   OpRef L = vmuxs(Bytes.take_front(S), OpRef::lo(Va), OpRef::lo(Vb), Results);
 1214   OpRef L = vmuxs(Bytes.take_front(S), OpRef::lo(Va), OpRef::lo(Vb), Results);
 1214   OpRef L = vmuxs(Bytes.take_front(S), OpRef::lo(Va), OpRef::lo(Vb), Results);
 1215   OpRef H = vmuxs(Bytes.drop_front(S), OpRef::hi(Va), OpRef::hi(Vb), Results);
 1215   OpRef H = vmuxs(Bytes.drop_front(S), OpRef::hi(Va), OpRef::hi(Vb), Results);
 1215   OpRef H = vmuxs(Bytes.drop_front(S), OpRef::hi(Va), OpRef::hi(Vb), Results);
 1219 OpRef HvxSelector::shuffs1(ShuffleMask SM, OpRef Va, ResultStack &Results) {
 1219 OpRef HvxSelector::shuffs1(ShuffleMask SM, OpRef Va, ResultStack &Results) {
 1229     return OpRef::undef(getSingleVT(MVT::i8));
 1231   OpRef P = perfect(SM, Va, Results);
 1237 OpRef HvxSelector::shuffs2(ShuffleMask SM, OpRef Va, OpRef Vb,
 1237 OpRef HvxSelector::shuffs2(ShuffleMask SM, OpRef Va, OpRef Vb,
 1237 OpRef HvxSelector::shuffs2(ShuffleMask SM, OpRef Va, OpRef Vb,
 1241     return OpRef::undef(getSingleVT(MVT::i8));
 1243   OpRef C = contracting(SM, Va, Vb, Results);
 1249   OpRef P = packs(SM, Va, Vb, Results, NewMask);
 1256   OpRef L = shuffs1(ShuffleMask(MaskL), Va, Results);
 1257   OpRef R = shuffs1(ShuffleMask(MaskR), Vb, Results);
 1259     return OpRef::fail();
 1269 OpRef HvxSelector::shuffp1(ShuffleMask SM, OpRef Va, ResultStack &Results) {
 1269 OpRef HvxSelector::shuffp1(ShuffleMask SM, OpRef Va, ResultStack &Results) {
 1276     return OpRef::undef(getPairVT(MVT::i8));
 1279   OpRef P = packs(SM, OpRef::lo(Va), OpRef::hi(Va), Results, PackedMask);
 1279   OpRef P = packs(SM, OpRef::lo(Va), OpRef::hi(Va), Results, PackedMask);
 1279   OpRef P = packs(SM, OpRef::lo(Va), OpRef::hi(Va), Results, PackedMask);
 1282     OpRef E = expanding(PM, P, Results);
 1286     OpRef L = shuffs1(PM.lo(), P, Results);
 1287     OpRef H = shuffs1(PM.hi(), P, Results);
 1292   OpRef R = perfect(SM, Va, Results);
 1297   OpRef L = shuffs2(SM.lo(), OpRef::lo(Va), OpRef::hi(Va), Results);
 1297   OpRef L = shuffs2(SM.lo(), OpRef::lo(Va), OpRef::hi(Va), Results);
 1297   OpRef L = shuffs2(SM.lo(), OpRef::lo(Va), OpRef::hi(Va), Results);
 1298   OpRef H = shuffs2(SM.hi(), OpRef::lo(Va), OpRef::hi(Va), Results);
 1298   OpRef H = shuffs2(SM.hi(), OpRef::lo(Va), OpRef::hi(Va), Results);
 1298   OpRef H = shuffs2(SM.hi(), OpRef::lo(Va), OpRef::hi(Va), Results);
 1302   return OpRef::fail();
 1305 OpRef HvxSelector::shuffp2(ShuffleMask SM, OpRef Va, OpRef Vb,
 1305 OpRef HvxSelector::shuffp2(ShuffleMask SM, OpRef Va, OpRef Vb,
 1305 OpRef HvxSelector::shuffp2(ShuffleMask SM, OpRef Va, OpRef Vb,
 1309     return OpRef::undef(getPairVT(MVT::i8));
 1313   OpRef P = packp(SM, Va, Vb, Results, PackedMask);
 1320   OpRef L = shuffp1(ShuffleMask(MaskL), Va, Results);
 1321   OpRef R = shuffp1(ShuffleMask(MaskR), Vb, Results);
 1323     return OpRef::fail();
 1491 OpRef HvxSelector::contracting(ShuffleMask SM, OpRef Va, OpRef Vb,
 1491 OpRef HvxSelector::contracting(ShuffleMask SM, OpRef Va, OpRef Vb,
 1491 OpRef HvxSelector::contracting(ShuffleMask SM, OpRef Va, OpRef Vb,
 1495     return OpRef::fail();
 1511     return OpRef::fail();
 1538           return OpRef::fail();
 1541           return OpRef::fail();
 1544           return OpRef::fail();
 1547           return OpRef::fail();
 1550       return OpRef::res(Results.top());
 1558       return OpRef::fail();
 1565         return OpRef::fail();
 1568         return OpRef::fail();
 1582     return OpRef::res(Results.top());
 1593       return OpRef::fail();
 1597       return OpRef::fail();
 1612   return OpRef::res(Results.top());
 1615 OpRef HvxSelector::expanding(ShuffleMask SM, OpRef Va, ResultStack &Results) {
 1615 OpRef HvxSelector::expanding(ShuffleMask SM, OpRef Va, ResultStack &Results) {
 1639     return OpRef::fail();
 1643     return OpRef::fail();
 1652       return OpRef::fail();
 1654       return OpRef::fail();
 1660       return OpRef::fail();
 1666   return OpRef::res(Results.top());
 1669 OpRef HvxSelector::perfect(ShuffleMask SM, OpRef Va, ResultStack &Results) {
 1669 OpRef HvxSelector::perfect(ShuffleMask SM, OpRef Va, ResultStack &Results) {
 1688     return OpRef::fail();
 1790       return OpRef::fail();
 1794         return OpRef::fail();
 1893       return OpRef::res(Results.top());
 1909   OpRef Arg = !Extend ? Va
 1910                       : concat(Va, OpRef::undef(SingleTy), Results);
 1929     Res.Ops = { OpRef::hi(Arg), OpRef::lo(Arg), OpRef::res(-1) };
 1929     Res.Ops = { OpRef::hi(Arg), OpRef::lo(Arg), OpRef::res(-1) };
 1929     Res.Ops = { OpRef::hi(Arg), OpRef::lo(Arg), OpRef::res(-1) };
 1931     Arg = OpRef::res(Results.top());
 1934   return !Extend ? Arg : OpRef::lo(Arg);
 1937 OpRef HvxSelector::butterfly(ShuffleMask SM, OpRef Va, ResultStack &Results) {
 1937 OpRef HvxSelector::butterfly(ShuffleMask SM, OpRef Va, ResultStack &Results) {
 1956       return OpRef::fail();
 1964     return OpRef::res(Results.top());
 1972     return OpRef::res(Results.top());
 1982                  {OpRef::res(-1), OpRef(CtlR)});
 1983     return OpRef::res(Results.top());
 1986   return OpRef::fail();
 2052   OpRef Va = OpRef::res(Results.top()-1);
 2052   OpRef Va = OpRef::res(Results.top()-1);
 2053   OpRef Vb = OpRef::res(Results.top());
 2053   OpRef Vb = OpRef::res(Results.top());
 2055   OpRef Res = !HavePairs ? shuffs2(ShuffleMask(Mask), Va, Vb, Results)
usr/include/c++/7.4.0/bits/alloc_traits.h
  387       using allocator_type = allocator<_Tp>;
  389       using value_type = _Tp;
  392       using pointer = _Tp*;
  395       using const_pointer = const _Tp*;
usr/include/c++/7.4.0/bits/allocator.h
  108     class allocator: public __allocator_base<_Tp>
  113       typedef _Tp*       pointer;
  114       typedef const _Tp* const_pointer;
  115       typedef _Tp&       reference;
  116       typedef const _Tp& const_reference;
  117       typedef _Tp        value_type;
  137 	allocator(const allocator<_Tp1>&) throw() { }
  158     operator!=(const allocator<_T1>&, const allocator<_T2>&)
  158     operator!=(const allocator<_T1>&, const allocator<_T2>&)
  164     operator!=(const allocator<_Tp>&, const allocator<_Tp>&)
  164     operator!=(const allocator<_Tp>&, const allocator<_Tp>&)
usr/include/c++/7.4.0/bits/move.h
   46     inline _GLIBCXX_CONSTEXPR _Tp*
   47     __addressof(_Tp& __r) _GLIBCXX_NOEXCEPT
   72     constexpr _Tp&&
   83     constexpr _Tp&&
usr/include/c++/7.4.0/bits/stl_construct.h
   74     _Construct(_T1* __p, _Args&&... __args)
   74     _Construct(_T1* __p, _Args&&... __args)
   75     { ::new(static_cast<void*>(__p)) _T1(std::forward<_Args>(__args)...); }
  204 	     allocator<_Tp>&)
usr/include/c++/7.4.0/bits/stl_iterator_base_types.h
  181       typedef _Tp                         value_type;
  183       typedef _Tp*                        pointer;
  184       typedef _Tp&                        reference;
  192       typedef _Tp                         value_type;
  194       typedef const _Tp*                  pointer;
  195       typedef const _Tp&                  reference;
usr/include/c++/7.4.0/bits/stl_uninitialized.h
  288 			   _ForwardIterator __result, allocator<_Tp>&)
usr/include/c++/7.4.0/bits/stl_vector.h
   77 	rebind<_Tp>::other _Tp_alloc_type;
  216     class vector : protected _Vector_base<_Tp, _Alloc>
  227       typedef _Vector_base<_Tp, _Alloc>			_Base;
  232       typedef _Tp					value_type;
  919       _Tp*
  923       const _Tp*
usr/include/c++/7.4.0/ext/alloc_traits.h
  117       { typedef typename _Base_type::template rebind_alloc<_Tp> other; };
usr/include/c++/7.4.0/ext/new_allocator.h
   63       typedef _Tp*       pointer;
   64       typedef const _Tp* const_pointer;
   65       typedef _Tp&       reference;
   66       typedef const _Tp& const_reference;
   67       typedef _Tp        value_type;
   84 	new_allocator(const new_allocator<_Tp1>&) _GLIBCXX_USE_NOEXCEPT { }
  111 	return static_cast<_Tp*>(::operator new(__n * sizeof(_Tp)));
  130       { return size_t(-1) / sizeof(_Tp); }
  160     operator!=(const new_allocator<_Tp>&, const new_allocator<_Tp>&)
  160     operator!=(const new_allocator<_Tp>&, const new_allocator<_Tp>&)
usr/include/c++/7.4.0/initializer_list
   50       typedef _E 		value_type;
   51       typedef const _E& 	reference;
   52       typedef const _E& 	const_reference;
   54       typedef const _E* 	iterator;
   55       typedef const _E* 	const_iterator;
usr/include/c++/7.4.0/type_traits
  215     : public __is_void_helper<typename remove_cv<_Tp>::type>::type
  326     : public __is_integral_helper<typename remove_cv<_Tp>::type>::type
  354     : public __is_floating_point_helper<typename remove_cv<_Tp>::type>::type
  381     : public __is_pointer_helper<typename remove_cv<_Tp>::type>::type
  567     : public __is_null_pointer_helper<typename remove_cv<_Tp>::type>::type
  581     : public __or_<is_lvalue_reference<_Tp>,
  582                    is_rvalue_reference<_Tp>>::type
  588     : public __or_<is_integral<_Tp>, is_floating_point<_Tp>>::type
  588     : public __or_<is_integral<_Tp>, is_floating_point<_Tp>>::type
  611     : public __or_<is_arithmetic<_Tp>, is_enum<_Tp>, is_pointer<_Tp>,
  611     : public __or_<is_arithmetic<_Tp>, is_enum<_Tp>, is_pointer<_Tp>,
  611     : public __or_<is_arithmetic<_Tp>, is_enum<_Tp>, is_pointer<_Tp>,
  612                    is_member_pointer<_Tp>, is_null_pointer<_Tp>>::type
  612                    is_member_pointer<_Tp>, is_null_pointer<_Tp>>::type
  631     : public __is_member_pointer_helper<typename remove_cv<_Tp>::type>::type
  777     : public __and_<is_array<_Tp>, __not_<extent<_Tp>>>
  777     : public __and_<is_array<_Tp>, __not_<extent<_Tp>>>
  798       typedef decltype(__test<_Tp>(0)) type;
  811                remove_all_extents<_Tp>::type>::type
  825     : public __is_destructible_safe<_Tp>::type
 1554     { typedef _Tp     type; };
 1563     { typedef _Tp     type; };
 1574       remove_const<typename remove_volatile<_Tp>::type>::type     type;
 1633     { typedef _Tp   type; };
 1659     { typedef _Tp&&   type; };
 1955     { typedef _Tp     type; };