Lines Matching refs:RValue

270 	class RValue;
299 RValue<Pointer<T>> operator&();
308 RValue<T> operator=(RValue<T> rhs) const;
309 RValue<T> operator=(const Reference<T> &ref) const;
311 RValue<T> operator+=(RValue<T> rhs) const;
359 class RValue class
362 explicit RValue(llvm::Value *rvalue);
364 RValue(const T &lvalue);
365 RValue(typename IntLiteral<T>::type i);
366 RValue(typename FloatLiteral<T>::type f);
367 RValue(const Reference<T> &rhs);
369 RValue<T> &operator=(const RValue<T>&) = delete;
395 Bool(RValue<Bool> rhs);
400 RValue<Bool> operator=(RValue<Bool> rhs) const;
401 RValue<Bool> operator=(const Bool &rhs) const;
402 RValue<Bool> operator=(const Reference<Bool> &rhs) const;
407 RValue<Bool> operator!(RValue<Bool> val);
408 RValue<Bool> operator&&(RValue<Bool> lhs, RValue<Bool> rhs);
409 RValue<Bool> operator||(RValue<Bool> lhs, RValue<Bool> rhs);
416 explicit Byte(RValue<Int> cast);
417 explicit Byte(RValue<UInt> cast);
418 explicit Byte(RValue<UShort> cast);
423 Byte(RValue<Byte> rhs);
428 RValue<Byte> operator=(RValue<Byte> rhs) const;
429 RValue<Byte> operator=(const Byte &rhs) const;
430 RValue<Byte> operator=(const Reference<Byte> &rhs) const;
435 RValue<Byte> operator+(RValue<Byte> lhs, RValue<Byte> rhs);
436 RValue<Byte> operator-(RValue<Byte> lhs, RValue<Byte> rhs);
437 RValue<Byte> operator*(RValue<Byte> lhs, RValue<Byte> rhs);
438 RValue<Byte> operator/(RValue<Byte> lhs, RValue<Byte> rhs);
439 RValue<Byte> operator%(RValue<Byte> lhs, RValue<Byte> rhs);
440 RValue<Byte> operator&(RValue<Byte> lhs, RValue<Byte> rhs);
441 RValue<Byte> operator|(RValue<Byte> lhs, RValue<Byte> rhs);
442 RValue<Byte> operator^(RValue<Byte> lhs, RValue<Byte> rhs);
443 RValue<Byte> operator<<(RValue<Byte> lhs, RValue<Byte> rhs);
444 RValue<Byte> operator>>(RValue<Byte> lhs, RValue<Byte> rhs);
445 RValue<Byte> operator+=(const Byte &lhs, RValue<Byte> rhs);
446 RValue<Byte> operator-=(const Byte &lhs, RValue<Byte> rhs);
447 RValue<Byte> operator*=(const Byte &lhs, RValue<Byte> rhs);
448 RValue<Byte> operator/=(const Byte &lhs, RValue<Byte> rhs);
449 RValue<Byte> operator%=(const Byte &lhs, RValue<Byte> rhs);
450 RValue<Byte> operator&=(const Byte &lhs, RValue<Byte> rhs);
451 RValue<Byte> operator|=(const Byte &lhs, RValue<Byte> rhs);
452 RValue<Byte> operator^=(const Byte &lhs, RValue<Byte> rhs);
453 RValue<Byte> operator<<=(const Byte &lhs, RValue<Byte> rhs);
454 RValue<Byte> operator>>=(const Byte &lhs, RValue<Byte> rhs);
455 RValue<Byte> operator+(RValue<Byte> val);
456 RValue<Byte> operator-(RValue<Byte> val);
457 RValue<Byte> operator~(RValue<Byte> val);
458 RValue<Byte> operator++(const Byte &val, int); // Post-increment
460 RValue<Byte> operator--(const Byte &val, int); // Post-decrement
462 RValue<Bool> operator<(RValue<Byte> lhs, RValue<Byte> rhs);
463 RValue<Bool> operator<=(RValue<Byte> lhs, RValue<Byte> rhs);
464 RValue<Bool> operator>(RValue<Byte> lhs, RValue<Byte> rhs);
465 RValue<Bool> operator>=(RValue<Byte> lhs, RValue<Byte> rhs);
466 RValue<Bool> operator!=(RValue<Byte> lhs, RValue<Byte> rhs);
467 RValue<Bool> operator==(RValue<Byte> lhs, RValue<Byte> rhs);
474 explicit SByte(RValue<Int> cast);
475 explicit SByte(RValue<Short> cast);
479 SByte(RValue<SByte> rhs);
484 RValue<SByte> operator=(RValue<SByte> rhs) const;
485 RValue<SByte> operator=(const SByte &rhs) const;
486 RValue<SByte> operator=(const Reference<SByte> &rhs) const;
491 RValue<SByte> operator+(RValue<SByte> lhs, RValue<SByte> rhs);
492 RValue<SByte> operator-(RValue<SByte> lhs, RValue<SByte> rhs);
493 RValue<SByte> operator*(RValue<SByte> lhs, RValue<SByte> rhs);
494 RValue<SByte> operator/(RValue<SByte> lhs, RValue<SByte> rhs);
495 RValue<SByte> operator%(RValue<SByte> lhs, RValue<SByte> rhs);
496 RValue<SByte> operator&(RValue<SByte> lhs, RValue<SByte> rhs);
497 RValue<SByte> operator|(RValue<SByte> lhs, RValue<SByte> rhs);
498 RValue<SByte> operator^(RValue<SByte> lhs, RValue<SByte> rhs);
499 RValue<SByte> operator<<(RValue<SByte> lhs, RValue<SByte> rhs);
500 RValue<SByte> operator>>(RValue<SByte> lhs, RValue<SByte> rhs);
501 RValue<SByte> operator+=(const SByte &lhs, RValue<SByte> rhs);
502 RValue<SByte> operator-=(const SByte &lhs, RValue<SByte> rhs);
503 RValue<SByte> operator*=(const SByte &lhs, RValue<SByte> rhs);
504 RValue<SByte> operator/=(const SByte &lhs, RValue<SByte> rhs);
505 RValue<SByte> operator%=(const SByte &lhs, RValue<SByte> rhs);
506 RValue<SByte> operator&=(const SByte &lhs, RValue<SByte> rhs);
507 RValue<SByte> operator|=(const SByte &lhs, RValue<SByte> rhs);
508 RValue<SByte> operator^=(const SByte &lhs, RValue<SByte> rhs);
509 RValue<SByte> operator<<=(const SByte &lhs, RValue<SByte> rhs);
510 RValue<SByte> operator>>=(const SByte &lhs, RValue<SByte> rhs);
511 RValue<SByte> operator+(RValue<SByte> val);
512 RValue<SByte> operator-(RValue<SByte> val);
513 RValue<SByte> operator~(RValue<SByte> val);
514 RValue<SByte> operator++(const SByte &val, int); // Post-increment
516 RValue<SByte> operator--(const SByte &val, int); // Post-decrement
518 RValue<Bool> operator<(RValue<SByte> lhs, RValue<SByte> rhs);
519 RValue<Bool> operator<=(RValue<SByte> lhs, RValue<SByte> rhs);
520 RValue<Bool> operator>(RValue<SByte> lhs, RValue<SByte> rhs);
521 RValue<Bool> operator>=(RValue<SByte> lhs, RValue<SByte> rhs);
522 RValue<Bool> operator!=(RValue<SByte> lhs, RValue<SByte> rhs);
523 RValue<Bool> operator==(RValue<SByte> lhs, RValue<SByte> rhs);
530 explicit Short(RValue<Int> cast);
534 Short(RValue<Short> rhs);
539 RValue<Short> operator=(RValue<Short> rhs) const;
540 RValue<Short> operator=(const Short &rhs) const;
541 RValue<Short> operator=(const Reference<Short> &rhs) const;
546 RValue<Short> operator+(RValue<Short> lhs, RValue<Short> rhs);
547 RValue<Short> operator-(RValue<Short> lhs, RValue<Short> rhs);
548 RValue<Short> operator*(RValue<Short> lhs, RValue<Short> rhs);
549 RValue<Short> operator/(RValue<Short> lhs, RValue<Short> rhs);
550 RValue<Short> operator%(RValue<Short> lhs, RValue<Short> rhs);
551 RValue<Short> operator&(RValue<Short> lhs, RValue<Short> rhs);
552 RValue<Short> operator|(RValue<Short> lhs, RValue<Short> rhs);
553 RValue<Short> operator^(RValue<Short> lhs, RValue<Short> rhs);
554 RValue<Short> operator<<(RValue<Short> lhs, RValue<Short> rhs);
555 RValue<Short> operator>>(RValue<Short> lhs, RValue<Short> rhs);
556 RValue<Short> operator+=(const Short &lhs, RValue<Short> rhs);
557 RValue<Short> operator-=(const Short &lhs, RValue<Short> rhs);
558 RValue<Short> operator*=(const Short &lhs, RValue<Short> rhs);
559 RValue<Short> operator/=(const Short &lhs, RValue<Short> rhs);
560 RValue<Short> operator%=(const Short &lhs, RValue<Short> rhs);
561 RValue<Short> operator&=(const Short &lhs, RValue<Short> rhs);
562 RValue<Short> operator|=(const Short &lhs, RValue<Short> rhs);
563 RValue<Short> operator^=(const Short &lhs, RValue<Short> rhs);
564 RValue<Short> operator<<=(const Short &lhs, RValue<Short> rhs);
565 RValue<Short> operator>>=(const Short &lhs, RValue<Short> rhs);
566 RValue<Short> operator+(RValue<Short> val);
567 RValue<Short> operator-(RValue<Short> val);
568 RValue<Short> operator~(RValue<Short> val);
569 RValue<Short> operator++(const Short &val, int); // Post-increment
571 RValue<Short> operator--(const Short &val, int); // Post-decrement
573 RValue<Bool> operator<(RValue<Short> lhs, RValue<Short> rhs);
574 RValue<Bool> operator<=(RValue<Short> lhs, RValue<Short> rhs);
575 RValue<Bool> operator>(RValue<Short> lhs, RValue<Short> rhs);
576 RValue<Bool> operator>=(RValue<Short> lhs, RValue<Short> rhs);
577 RValue<Bool> operator!=(RValue<Short> lhs, RValue<Short> rhs);
578 RValue<Bool> operator==(RValue<Short> lhs, RValue<Short> rhs);
585 explicit UShort(RValue<UInt> cast);
586 explicit UShort(RValue<Int> cast);
590 UShort(RValue<UShort> rhs);
595 RValue<UShort> operator=(RValue<UShort> rhs) const;
596 RValue<UShort> operator=(const UShort &rhs) const;
597 RValue<UShort> operator=(const Reference<UShort> &rhs) const;
602 RValue<UShort> operator+(RValue<UShort> lhs, RValue<UShort> rhs);
603 RValue<UShort> operator-(RValue<UShort> lhs, RValue<UShort> rhs);
604 RValue<UShort> operator*(RValue<UShort> lhs, RValue<UShort> rhs);
605 RValue<UShort> operator/(RValue<UShort> lhs, RValue<UShort> rhs);
606 RValue<UShort> operator%(RValue<UShort> lhs, RValue<UShort> rhs);
607 RValue<UShort> operator&(RValue<UShort> lhs, RValue<UShort> rhs);
608 RValue<UShort> operator|(RValue<UShort> lhs, RValue<UShort> rhs);
609 RValue<UShort> operator^(RValue<UShort> lhs, RValue<UShort> rhs);
610 RValue<UShort> operator<<(RValue<UShort> lhs, RValue<UShort> rhs);
611 RValue<UShort> operator>>(RValue<UShort> lhs, RValue<UShort> rhs);
612 RValue<UShort> operator+=(const UShort &lhs, RValue<UShort> rhs);
613 RValue<UShort> operator-=(const UShort &lhs, RValue<UShort> rhs);
614 RValue<UShort> operator*=(const UShort &lhs, RValue<UShort> rhs);
615 RValue<UShort> operator/=(const UShort &lhs, RValue<UShort> rhs);
616 RValue<UShort> operator%=(const UShort &lhs, RValue<UShort> rhs);
617 RValue<UShort> operator&=(const UShort &lhs, RValue<UShort> rhs);
618 RValue<UShort> operator|=(const UShort &lhs, RValue<UShort> rhs);
619 RValue<UShort> operator^=(const UShort &lhs, RValue<UShort> rhs);
620 RValue<UShort> operator<<=(const UShort &lhs, RValue<UShort> rhs);
621 RValue<UShort> operator>>=(const UShort &lhs, RValue<UShort> rhs);
622 RValue<UShort> operator+(RValue<UShort> val);
623 RValue<UShort> operator-(RValue<UShort> val);
624 RValue<UShort> operator~(RValue<UShort> val);
625 RValue<UShort> operator++(const UShort &val, int); // Post-increment
627 RValue<UShort> operator--(const UShort &val, int); // Post-decrement
629 RValue<Bool> operator<(RValue<UShort> lhs, RValue<UShort> rhs);
630 RValue<Bool> operator<=(RValue<UShort> lhs, RValue<UShort> rhs);
631 RValue<Bool> operator>(RValue<UShort> lhs, RValue<UShort> rhs);
632 RValue<Bool> operator>=(RValue<UShort> lhs, RValue<UShort> rhs);
633 RValue<Bool> operator!=(RValue<UShort> lhs, RValue<UShort> rhs);
634 RValue<Bool> operator==(RValue<UShort> lhs, RValue<UShort> rhs);
730 Byte8(RValue<Byte8> rhs);
734 RValue<Byte8> operator=(RValue<Byte8> rhs) const;
735 RValue<Byte8> operator=(const Byte8 &rhs) const;
736 RValue<Byte8> operator=(const Reference<Byte8> &rhs) const;
741 RValue<Byte8> operator+(RValue<Byte8> lhs, RValue<Byte8> rhs);
742 RValue<Byte8> operator-(RValue<Byte8> lhs, RValue<Byte8> rhs);
746 RValue<Byte8> operator&(RValue<Byte8> lhs, RValue<Byte8> rhs);
747 RValue<Byte8> operator|(RValue<Byte8> lhs, RValue<Byte8> rhs);
748 RValue<Byte8> operator^(RValue<Byte8> lhs, RValue<Byte8> rhs);
751 RValue<Byte8> operator+=(const Byte8 &lhs, RValue<Byte8> rhs);
752 RValue<Byte8> operator-=(const Byte8 &lhs, RValue<Byte8> rhs);
756 RValue<Byte8> operator&=(const Byte8 &lhs, RValue<Byte8> rhs);
757 RValue<Byte8> operator|=(const Byte8 &lhs, RValue<Byte8> rhs);
758 RValue<Byte8> operator^=(const Byte8 &lhs, RValue<Byte8> rhs);
763 RValue<Byte8> operator~(RValue<Byte8> val);
769 RValue<Byte8> AddSat(RValue<Byte8> x, RValue<Byte8> y);
770 RValue<Byte8> SubSat(RValue<Byte8> x, RValue<Byte8> y);
771 RValue<Short4> Unpack(RValue<Byte4> x);
772 RValue<Short4> UnpackLow(RValue<Byte8> x, RValue<Byte8> y);
773 RValue<Short4> UnpackHigh(RValue<Byte8> x, RValue<Byte8> y);
774 RValue<Int> SignMask(RValue<Byte8> x);
776 RValue<Byte8> CmpEQ(RValue<Byte8> x, RValue<Byte8> y);
784 SByte8(RValue<SByte8> rhs);
788 RValue<SByte8> operator=(RValue<SByte8> rhs) const;
789 RValue<SByte8> operator=(const SByte8 &rhs) const;
790 RValue<SByte8> operator=(const Reference<SByte8> &rhs) const;
795 RValue<SByte8> operator+(RValue<SByte8> lhs, RValue<SByte8> rhs);
796 RValue<SByte8> operator-(RValue<SByte8> lhs, RValue<SByte8> rhs);
800 RValue<SByte8> operator&(RValue<SByte8> lhs, RValue<SByte8> rhs);
801 RValue<SByte8> operator|(RValue<SByte8> lhs, RValue<SByte8> rhs);
802 RValue<SByte8> operator^(RValue<SByte8> lhs, RValue<SByte8> rhs);
805 RValue<SByte8> operator+=(const SByte8 &lhs, RValue<SByte8> rhs);
806 RValue<SByte8> operator-=(const SByte8 &lhs, RValue<SByte8> rhs);
810 RValue<SByte8> operator&=(const SByte8 &lhs, RValue<SByte8> rhs);
811 RValue<SByte8> operator|=(const SByte8 &lhs, RValue<SByte8> rhs);
812 RValue<SByte8> operator^=(const SByte8 &lhs, RValue<SByte8> rhs);
817 RValue<SByte8> operator~(RValue<SByte8> val);
823 RValue<SByte8> AddSat(RValue<SByte8> x, RValue<SByte8> y);
824 RValue<SByte8> SubSat(RValue<SByte8> x, RValue<SByte8> y);
825 RValue<Short4> UnpackLow(RValue<SByte8> x, RValue<SByte8> y);
826 RValue<Short4> UnpackHigh(RValue<SByte8> x, RValue<SByte8> y);
827 RValue<Int> SignMask(RValue<SByte8> x);
828 RValue<Byte8> CmpGT(RValue<SByte8> x, RValue<SByte8> y);
829 RValue<Byte8> CmpEQ(RValue<SByte8> x, RValue<SByte8> y);
836 Byte16(RValue<Byte16> rhs);
840 RValue<Byte16> operator=(RValue<Byte16> rhs) const;
841 RValue<Byte16> operator=(const Byte16 &rhs) const;
842 RValue<Byte16> operator=(const Reference<Byte16> &rhs) const;
922 explicit Short4(RValue<Int> cast);
923 explicit Short4(RValue<Int4> cast);
925 explicit Short4(RValue<Float4> cast);
930 Short4(RValue<Short4> rhs);
933 Short4(RValue<UShort4> rhs);
937 RValue<Short4> operator=(RValue<Short4> rhs) const;
938 RValue<Short4> operator=(const Short4 &rhs) const;
939 RValue<Short4> operator=(const Reference<Short4> &rhs) const;
940 RValue<Short4> operator=(RValue<UShort4> rhs) const;
941 RValue<Short4> operator=(const UShort4 &rhs) const;
942 RValue<Short4> operator=(const Reference<UShort4> &rhs) const;
947 RValue<Short4> operator+(RValue<Short4> lhs, RValue<Short4> rhs);
948 RValue<Short4> operator-(RValue<Short4> lhs, RValue<Short4> rhs);
949 RValue<Short4> operator*(RValue<Short4> lhs, RValue<Short4> rhs);
952 RValue<Short4> operator&(RValue<Short4> lhs, RValue<Short4> rhs);
953 RValue<Short4> operator|(RValue<Short4> lhs, RValue<Short4> rhs);
954 RValue<Short4> operator^(RValue<Short4> lhs, RValue<Short4> rhs);
955 RValue<Short4> operator<<(RValue<Short4> lhs, unsigned char rhs);
956 RValue<Short4> operator>>(RValue<Short4> lhs, unsigned char rhs);
957 RValue<Short4> operator<<(RValue<Short4> lhs, RValue<Long1> rhs);
958 RValue<Short4> operator>>(RValue<Short4> lhs, RValue<Long1> rhs);
959 RValue<Short4> operator+=(const Short4 &lhs, RValue<Short4> rhs);
960 RValue<Short4> operator-=(const Short4 &lhs, RValue<Short4> rhs);
961 RValue<Short4> operator*=(const Short4 &lhs, RValue<Short4> rhs);
964 RValue<Short4> operator&=(const Short4 &lhs, RValue<Short4> rhs);
965 RValue<Short4> operator|=(const Short4 &lhs, RValue<Short4> rhs);
966 RValue<Short4> operator^=(const Short4 &lhs, RValue<Short4> rhs);
967 RValue<Short4> operator<<=(const Short4 &lhs, unsigned char rhs);
968 RValue<Short4> operator>>=(const Short4 &lhs, unsigned char rhs);
969 RValue<Short4> operator<<=(const Short4 &lhs, RValue<Long1> rhs);
970 RValue<Short4> operator>>=(const Short4 &lhs, RValue<Long1> rhs);
972 RValue<Short4> operator-(RValue<Short4> val);
973 RValue<Short4> operator~(RValue<Short4> val);
985 RValue<Short4> RoundShort4(RValue<Float4> cast);
986 RValue<Short4> Max(RValue<Short4> x, RValue<Short4> y);
987 RValue<Short4> Min(RValue<Short4> x, RValue<Short4> y);
988 RValue<Short4> AddSat(RValue<Short4> x, RValue<Short4> y);
989 RValue<Short4> SubSat(RValue<Short4> x, RValue<Short4> y);
990 RValue<Short4> MulHigh(RValue<Short4> x, RValue<Short4> y);
991 RValue<Int2> MulAdd(RValue<Short4> x, RValue<Short4> y);
992 RValue<SByte8> Pack(RValue<Short4> x, RValue<Short4> y);
993 RValue<Int2> UnpackLow(RValue<Short4> x, RValue<Short4> y);
994 RValue<Int2> UnpackHigh(RValue<Short4> x, RValue<Short4> y);
995 RValue<Short4> Swizzle(RValue<Short4> x, unsigned char select);
996 RValue<Short4> Insert(RValue<Short4> val, RValue<Short> element, int i);
997 RValue<Short> Extract(RValue<Short4> val, int i);
998 RValue<Short4> CmpGT(RValue<Short4> x, RValue<Short4> y);
999 RValue<Short4> CmpEQ(RValue<Short4> x, RValue<Short4> y);
1004 explicit UShort4(RValue<Int4> cast);
1005 explicit UShort4(RValue<Float4> cast, bool saturate = false);
1009 UShort4(RValue<UShort4> rhs);
1012 UShort4(RValue<Short4> rhs);
1016 RValue<UShort4> operator=(RValue<UShort4> rhs) const;
1017 RValue<UShort4> operator=(const UShort4 &rhs) const;
1018 RValue<UShort4> operator=(const Reference<UShort4> &rhs) const;
1019 RValue<UShort4> operator=(RValue<Short4> rhs) const;
1020 RValue<UShort4> operator=(const Short4 &rhs) const;
1021 RValue<UShort4> operator=(const Reference<Short4> &rhs) const;
1026 RValue<UShort4> operator+(RValue<UShort4> lhs, RValue<UShort4> rhs);
1027 RValue<UShort4> operator-(RValue<UShort4> lhs, RValue<UShort4> rhs);
1028 RValue<UShort4> operator*(RValue<UShort4> lhs, RValue<UShort4> rhs);
1034 RValue<UShort4> operator<<(RValue<UShort4> lhs, unsigned char rhs);
1035 RValue<UShort4> operator>>(RValue<UShort4> lhs, unsigned char rhs);
1036 RValue<UShort4> operator<<(RValue<UShort4> lhs, RValue<Long1> rhs);
1037 RValue<UShort4> operator>>(RValue<UShort4> lhs, RValue<Long1> rhs);
1046 RValue<UShort4> operator<<=(const UShort4 &lhs, unsigned char rhs);
1047 RValue<UShort4> operator>>=(const UShort4 &lhs, unsigned char rhs);
1048 RValue<UShort4> operator<<=(const UShort4 &lhs, RValue<Long1> rhs);
1049 RValue<UShort4> operator>>=(const UShort4 &lhs, RValue<Long1> rhs);
1052 RValue<UShort4> operator~(RValue<UShort4> val);
1058 RValue<UShort4> Max(RValue<UShort4> x, RValue<UShort4> y);
1059 RValue<UShort4> Min(RValue<UShort4> x, RValue<UShort4> y);
1060 RValue<UShort4> AddSat(RValue<UShort4> x, RValue<UShort4> y);
1061 RValue<UShort4> SubSat(RValue<UShort4> x, RValue<UShort4> y);
1062 RValue<UShort4> MulHigh(RValue<UShort4> x, RValue<UShort4> y);
1063 RValue<UShort4> Average(RValue<UShort4> x, RValue<UShort4> y);
1064 RValue<Byte8> Pack(RValue<UShort4> x, RValue<UShort4> y);
1071 Short8(RValue<Short8> rhs);
1074 Short8(RValue<Short4> lo, RValue<Short4> hi);
1083 RValue<Short8> operator+(RValue<Short8> lhs, RValue<Short8> rhs);
1088 RValue<Short8> operator&(RValue<Short8> lhs, RValue<Short8> rhs);
1091 RValue<Short8> operator<<(RValue<Short8> lhs, unsigned char rhs);
1092 RValue<Short8> operator>>(RValue<Short8> lhs, unsigned char rhs);
1119 RValue<Short8> MulHigh(RValue<Short8> x, RValue<Short8> y);
1120 RValue<Int4> MulAdd(RValue<Short8> x, RValue<Short8> y);
1121 RValue<Int4> Abs(RValue<Int4> x);
1128 UShort8(RValue<UShort8> rhs);
1131 UShort8(RValue<UShort4> lo, RValue<UShort4> hi);
1133 RValue<UShort8> operator=(RValue<UShort8> rhs) const;
1134 RValue<UShort8> operator=(const UShort8 &rhs) const;
1135 RValue<UShort8> operator=(const Reference<UShort8> &rhs) const;
1140 RValue<UShort8> operator+(RValue<UShort8> lhs, RValue<UShort8> rhs);
1142 RValue<UShort8> operator*(RValue<UShort8> lhs, RValue<UShort8> rhs);
1145 RValue<UShort8> operator&(RValue<UShort8> lhs, RValue<UShort8> rhs);
1148 RValue<UShort8> operator<<(RValue<UShort8> lhs, unsigned char rhs);
1149 RValue<UShort8> operator>>(RValue<UShort8> lhs, unsigned char rhs);
1152 RValue<UShort8> operator+=(const UShort8 &lhs, RValue<UShort8> rhs);
1164 RValue<UShort8> operator~(RValue<UShort8> val);
1176RValue<UShort8> Swizzle(RValue<UShort8> x, char select0, char select1, char select2, char select3,…
1177 RValue<UShort8> MulHigh(RValue<UShort8> x, RValue<UShort8> y);
1184 explicit Int(RValue<Byte> cast);
1185 explicit Int(RValue<SByte> cast);
1186 explicit Int(RValue<Short> cast);
1187 explicit Int(RValue<UShort> cast);
1188 explicit Int(RValue<Int2> cast);
1189 explicit Int(RValue<Long> cast);
1190 explicit Int(RValue<Float> cast);
1194 Int(RValue<Int> rhs);
1195 Int(RValue<UInt> rhs);
1201 RValue<Int> operator=(int rhs) const;
1202 RValue<Int> operator=(RValue<Int> rhs) const;
1203 RValue<Int> operator=(RValue<UInt> rhs) const;
1204 RValue<Int> operator=(const Int &rhs) const;
1205 RValue<Int> operator=(const UInt &rhs) const;
1206 RValue<Int> operator=(const Reference<Int> &rhs) const;
1207 RValue<Int> operator=(const Reference<UInt> &rhs) const;
1212 RValue<Int> operator+(RValue<Int> lhs, RValue<Int> rhs);
1213 RValue<Int> operator-(RValue<Int> lhs, RValue<Int> rhs);
1214 RValue<Int> operator*(RValue<Int> lhs, RValue<Int> rhs);
1215 RValue<Int> operator/(RValue<Int> lhs, RValue<Int> rhs);
1216 RValue<Int> operator%(RValue<Int> lhs, RValue<Int> rhs);
1217 RValue<Int> operator&(RValue<Int> lhs, RValue<Int> rhs);
1218 RValue<Int> operator|(RValue<Int> lhs, RValue<Int> rhs);
1219 RValue<Int> operator^(RValue<Int> lhs, RValue<Int> rhs);
1220 RValue<Int> operator<<(RValue<Int> lhs, RValue<Int> rhs);
1221 RValue<Int> operator>>(RValue<Int> lhs, RValue<Int> rhs);
1222 RValue<Int> operator+=(const Int &lhs, RValue<Int> rhs);
1223 RValue<Int> operator-=(const Int &lhs, RValue<Int> rhs);
1224 RValue<Int> operator*=(const Int &lhs, RValue<Int> rhs);
1225 RValue<Int> operator/=(const Int &lhs, RValue<Int> rhs);
1226 RValue<Int> operator%=(const Int &lhs, RValue<Int> rhs);
1227 RValue<Int> operator&=(const Int &lhs, RValue<Int> rhs);
1228 RValue<Int> operator|=(const Int &lhs, RValue<Int> rhs);
1229 RValue<Int> operator^=(const Int &lhs, RValue<Int> rhs);
1230 RValue<Int> operator<<=(const Int &lhs, RValue<Int> rhs);
1231 RValue<Int> operator>>=(const Int &lhs, RValue<Int> rhs);
1232 RValue<Int> operator+(RValue<Int> val);
1233 RValue<Int> operator-(RValue<Int> val);
1234 RValue<Int> operator~(RValue<Int> val);
1235 RValue<Int> operator++(const Int &val, int); // Post-increment
1237 RValue<Int> operator--(const Int &val, int); // Post-decrement
1239 RValue<Bool> operator<(RValue<Int> lhs, RValue<Int> rhs);
1240 RValue<Bool> operator<=(RValue<Int> lhs, RValue<Int> rhs);
1241 RValue<Bool> operator>(RValue<Int> lhs, RValue<Int> rhs);
1242 RValue<Bool> operator>=(RValue<Int> lhs, RValue<Int> rhs);
1243 RValue<Bool> operator!=(RValue<Int> lhs, RValue<Int> rhs);
1244 RValue<Bool> operator==(RValue<Int> lhs, RValue<Int> rhs);
1246 RValue<Int> Max(RValue<Int> x, RValue<Int> y);
1247 RValue<Int> Min(RValue<Int> x, RValue<Int> y);
1248 RValue<Int> Clamp(RValue<Int> x, RValue<Int> min, RValue<Int> max);
1249 RValue<Int> RoundInt(RValue<Float> cast);
1258 explicit Long(RValue<Int> cast);
1259 explicit Long(RValue<UInt> cast);
1264 Long(RValue<Long> rhs);
1271 RValue<Long> operator=(int64_t rhs) const;
1272 RValue<Long> operator=(RValue<Long> rhs) const;
1274 RValue<Long> operator=(const Long &rhs) const;
1275 RValue<Long> operator=(const Reference<Long> &rhs) const;
1282 RValue<Long> operator+(RValue<Long> lhs, RValue<Long> rhs);
1283 RValue<Long> operator-(RValue<Long> lhs, RValue<Long> rhs);
1292 RValue<Long> operator+=(const Long &lhs, RValue<Long> rhs);
1293 RValue<Long> operator-=(const Long &lhs, RValue<Long> rhs);
1317 RValue<Long> AddAtomic( RValue<Pointer<Long>> x, RValue<Long> y);
1327 explicit Long1(RValue<UInt> cast);
1332 Long1(RValue<Long1> rhs);
1445 RValue<Long2> UnpackHigh(RValue<Long2> x, RValue<Long2> y);
1454 explicit UInt(RValue<UShort> cast);
1455 explicit UInt(RValue<Long> cast);
1456 explicit UInt(RValue<Float> cast);
1461 UInt(RValue<UInt> rhs);
1462 UInt(RValue<Int> rhs);
1468 RValue<UInt> operator=(unsigned int rhs) const;
1469 RValue<UInt> operator=(RValue<UInt> rhs) const;
1470 RValue<UInt> operator=(RValue<Int> rhs) const;
1471 RValue<UInt> operator=(const UInt &rhs) const;
1472 RValue<UInt> operator=(const Int &rhs) const;
1473 RValue<UInt> operator=(const Reference<UInt> &rhs) const;
1474 RValue<UInt> operator=(const Reference<Int> &rhs) const;
1479 RValue<UInt> operator+(RValue<UInt> lhs, RValue<UInt> rhs);
1480 RValue<UInt> operator-(RValue<UInt> lhs, RValue<UInt> rhs);
1481 RValue<UInt> operator*(RValue<UInt> lhs, RValue<UInt> rhs);
1482 RValue<UInt> operator/(RValue<UInt> lhs, RValue<UInt> rhs);
1483 RValue<UInt> operator%(RValue<UInt> lhs, RValue<UInt> rhs);
1484 RValue<UInt> operator&(RValue<UInt> lhs, RValue<UInt> rhs);
1485 RValue<UInt> operator|(RValue<UInt> lhs, RValue<UInt> rhs);
1486 RValue<UInt> operator^(RValue<UInt> lhs, RValue<UInt> rhs);
1487 RValue<UInt> operator<<(RValue<UInt> lhs, RValue<UInt> rhs);
1488 RValue<UInt> operator>>(RValue<UInt> lhs, RValue<UInt> rhs);
1489 RValue<UInt> operator+=(const UInt &lhs, RValue<UInt> rhs);
1490 RValue<UInt> operator-=(const UInt &lhs, RValue<UInt> rhs);
1491 RValue<UInt> operator*=(const UInt &lhs, RValue<UInt> rhs);
1492 RValue<UInt> operator/=(const UInt &lhs, RValue<UInt> rhs);
1493 RValue<UInt> operator%=(const UInt &lhs, RValue<UInt> rhs);
1494 RValue<UInt> operator&=(const UInt &lhs, RValue<UInt> rhs);
1495 RValue<UInt> operator|=(const UInt &lhs, RValue<UInt> rhs);
1496 RValue<UInt> operator^=(const UInt &lhs, RValue<UInt> rhs);
1497 RValue<UInt> operator<<=(const UInt &lhs, RValue<UInt> rhs);
1498 RValue<UInt> operator>>=(const UInt &lhs, RValue<UInt> rhs);
1499 RValue<UInt> operator+(RValue<UInt> val);
1500 RValue<UInt> operator-(RValue<UInt> val);
1501 RValue<UInt> operator~(RValue<UInt> val);
1502 RValue<UInt> operator++(const UInt &val, int); // Post-increment
1504 RValue<UInt> operator--(const UInt &val, int); // Post-decrement
1506 RValue<Bool> operator<(RValue<UInt> lhs, RValue<UInt> rhs);
1507 RValue<Bool> operator<=(RValue<UInt> lhs, RValue<UInt> rhs);
1508 RValue<Bool> operator>(RValue<UInt> lhs, RValue<UInt> rhs);
1509 RValue<Bool> operator>=(RValue<UInt> lhs, RValue<UInt> rhs);
1510 RValue<Bool> operator!=(RValue<UInt> lhs, RValue<UInt> rhs);
1511 RValue<Bool> operator==(RValue<UInt> lhs, RValue<UInt> rhs);
1513 RValue<UInt> Max(RValue<UInt> x, RValue<UInt> y);
1514 RValue<UInt> Min(RValue<UInt> x, RValue<UInt> y);
1515 RValue<UInt> Clamp(RValue<UInt> x, RValue<UInt> min, RValue<UInt> max);
1522 explicit Int2(RValue<Int4> cast);
1526 Int2(RValue<Int2> rhs);
1529 Int2(RValue<Int> lo, RValue<Int> hi);
1531 RValue<Int2> operator=(RValue<Int2> rhs) const;
1532 RValue<Int2> operator=(const Int2 &rhs) const;
1533 RValue<Int2> operator=(const Reference<Int2> &rhs) const;
1538 RValue<Int2> operator+(RValue<Int2> lhs, RValue<Int2> rhs);
1539 RValue<Int2> operator-(RValue<Int2> lhs, RValue<Int2> rhs);
1543 RValue<Int2> operator&(RValue<Int2> lhs, RValue<Int2> rhs);
1544 RValue<Int2> operator|(RValue<Int2> lhs, RValue<Int2> rhs);
1545 RValue<Int2> operator^(RValue<Int2> lhs, RValue<Int2> rhs);
1546 RValue<Int2> operator<<(RValue<Int2> lhs, unsigned char rhs);
1547 RValue<Int2> operator>>(RValue<Int2> lhs, unsigned char rhs);
1548 RValue<Int2> operator<<(RValue<Int2> lhs, RValue<Long1> rhs);
1549 RValue<Int2> operator>>(RValue<Int2> lhs, RValue<Long1> rhs);
1550 RValue<Int2> operator+=(const Int2 &lhs, RValue<Int2> rhs);
1551 RValue<Int2> operator-=(const Int2 &lhs, RValue<Int2> rhs);
1555 RValue<Int2> operator&=(const Int2 &lhs, RValue<Int2> rhs);
1556 RValue<Int2> operator|=(const Int2 &lhs, RValue<Int2> rhs);
1557 RValue<Int2> operator^=(const Int2 &lhs, RValue<Int2> rhs);
1558 RValue<Int2> operator<<=(const Int2 &lhs, unsigned char rhs);
1559 RValue<Int2> operator>>=(const Int2 &lhs, unsigned char rhs);
1560 RValue<Int2> operator<<=(const Int2 &lhs, RValue<Long1> rhs);
1561 RValue<Int2> operator>>=(const Int2 &lhs, RValue<Long1> rhs);
1564 RValue<Int2> operator~(RValue<Int2> val);
1577 RValue<Long1> UnpackLow(RValue<Int2> x, RValue<Int2> y);
1578 RValue<Long1> UnpackHigh(RValue<Int2> x, RValue<Int2> y);
1579 RValue<Int> Extract(RValue<Int2> val, int i);
1580 RValue<Int2> Insert(RValue<Int2> val, RValue<Int> element, int i);
1587 UInt2(RValue<UInt2> rhs);
1591 RValue<UInt2> operator=(RValue<UInt2> rhs) const;
1592 RValue<UInt2> operator=(const UInt2 &rhs) const;
1593 RValue<UInt2> operator=(const Reference<UInt2> &rhs) const;
1598 RValue<UInt2> operator+(RValue<UInt2> lhs, RValue<UInt2> rhs);
1599 RValue<UInt2> operator-(RValue<UInt2> lhs, RValue<UInt2> rhs);
1603 RValue<UInt2> operator&(RValue<UInt2> lhs, RValue<UInt2> rhs);
1604 RValue<UInt2> operator|(RValue<UInt2> lhs, RValue<UInt2> rhs);
1605 RValue<UInt2> operator^(RValue<UInt2> lhs, RValue<UInt2> rhs);
1606 RValue<UInt2> operator<<(RValue<UInt2> lhs, unsigned char rhs);
1607 RValue<UInt2> operator>>(RValue<UInt2> lhs, unsigned char rhs);
1608 RValue<UInt2> operator<<(RValue<UInt2> lhs, RValue<Long1> rhs);
1609 RValue<UInt2> operator>>(RValue<UInt2> lhs, RValue<Long1> rhs);
1610 RValue<UInt2> operator+=(const UInt2 &lhs, RValue<UInt2> rhs);
1611 RValue<UInt2> operator-=(const UInt2 &lhs, RValue<UInt2> rhs);
1615 RValue<UInt2> operator&=(const UInt2 &lhs, RValue<UInt2> rhs);
1616 RValue<UInt2> operator|=(const UInt2 &lhs, RValue<UInt2> rhs);
1617 RValue<UInt2> operator^=(const UInt2 &lhs, RValue<UInt2> rhs);
1618 RValue<UInt2> operator<<=(const UInt2 &lhs, unsigned char rhs);
1619 RValue<UInt2> operator>>=(const UInt2 &lhs, unsigned char rhs);
1620 RValue<UInt2> operator<<=(const UInt2 &lhs, RValue<Long1> rhs);
1621 RValue<UInt2> operator>>=(const UInt2 &lhs, RValue<Long1> rhs);
1624 RValue<UInt2> operator~(RValue<UInt2> val);
1641 explicit Int4(RValue<Float4> cast);
1642 explicit Int4(RValue<Short4> cast);
1643 explicit Int4(RValue<UShort4> cast);
1650 Int4(RValue<Int4> rhs);
1653 Int4(RValue<UInt4> rhs);
1656 Int4(RValue<Int2> lo, RValue<Int2> hi);
1658 RValue<Int4> operator=(RValue<Int4> rhs) const;
1659 RValue<Int4> operator=(const Int4 &rhs) const;
1660 RValue<Int4> operator=(const Reference<Int4> &rhs) const;
1668 RValue<Int4> operator+(RValue<Int4> lhs, RValue<Int4> rhs);
1669 RValue<Int4> operator-(RValue<Int4> lhs, RValue<Int4> rhs);
1670 RValue<Int4> operator*(RValue<Int4> lhs, RValue<Int4> rhs);
1671 RValue<Int4> operator/(RValue<Int4> lhs, RValue<Int4> rhs);
1672 RValue<Int4> operator%(RValue<Int4> lhs, RValue<Int4> rhs);
1673 RValue<Int4> operator&(RValue<Int4> lhs, RValue<Int4> rhs);
1674 RValue<Int4> operator|(RValue<Int4> lhs, RValue<Int4> rhs);
1675 RValue<Int4> operator^(RValue<Int4> lhs, RValue<Int4> rhs);
1676 RValue<Int4> operator<<(RValue<Int4> lhs, unsigned char rhs);
1677 RValue<Int4> operator>>(RValue<Int4> lhs, unsigned char rhs);
1678 RValue<Int4> operator<<(RValue<Int4> lhs, RValue<Int4> rhs);
1679 RValue<Int4> operator>>(RValue<Int4> lhs, RValue<Int4> rhs);
1680 RValue<Int4> operator+=(const Int4 &lhs, RValue<Int4> rhs);
1681 RValue<Int4> operator-=(const Int4 &lhs, RValue<Int4> rhs);
1682 RValue<Int4> operator*=(const Int4 &lhs, RValue<Int4> rhs);
1685 RValue<Int4> operator&=(const Int4 &lhs, RValue<Int4> rhs);
1686 RValue<Int4> operator|=(const Int4 &lhs, RValue<Int4> rhs);
1687 RValue<Int4> operator^=(const Int4 &lhs, RValue<Int4> rhs);
1688 RValue<Int4> operator<<=(const Int4 &lhs, unsigned char rhs);
1689 RValue<Int4> operator>>=(const Int4 &lhs, unsigned char rhs);
1690 RValue<Int4> operator+(RValue<Int4> val);
1691 RValue<Int4> operator-(RValue<Int4> val);
1692 RValue<Int4> operator~(RValue<Int4> val);
1704 RValue<Int4> CmpEQ(RValue<Int4> x, RValue<Int4> y);
1705 RValue<Int4> CmpLT(RValue<Int4> x, RValue<Int4> y);
1706 RValue<Int4> CmpLE(RValue<Int4> x, RValue<Int4> y);
1707 RValue<Int4> CmpNEQ(RValue<Int4> x, RValue<Int4> y);
1708 RValue<Int4> CmpNLT(RValue<Int4> x, RValue<Int4> y);
1709 RValue<Int4> CmpNLE(RValue<Int4> x, RValue<Int4> y);
1710 RValue<Int4> Max(RValue<Int4> x, RValue<Int4> y);
1711 RValue<Int4> Min(RValue<Int4> x, RValue<Int4> y);
1712 RValue<Int4> RoundInt(RValue<Float4> cast);
1713 RValue<Short8> Pack(RValue<Int4> x, RValue<Int4> y);
1714 RValue<Int> Extract(RValue<Int4> x, int i);
1715 RValue<Int4> Insert(RValue<Int4> val, RValue<Int> element, int i);
1716 RValue<Int> SignMask(RValue<Int4> x);
1717 RValue<Int4> Swizzle(RValue<Int4> x, unsigned char select);
1722 explicit UInt4(RValue<Float4> cast);
1730 UInt4(RValue<UInt4> rhs);
1733 UInt4(RValue<Int4> rhs);
1736 UInt4(RValue<UInt2> lo, RValue<UInt2> hi);
1738 RValue<UInt4> operator=(RValue<UInt4> rhs) const;
1739 RValue<UInt4> operator=(const UInt4 &rhs) const;
1740 RValue<UInt4> operator=(const Reference<UInt4> &rhs) const;
1748 RValue<UInt4> operator+(RValue<UInt4> lhs, RValue<UInt4> rhs);
1749 RValue<UInt4> operator-(RValue<UInt4> lhs, RValue<UInt4> rhs);
1750 RValue<UInt4> operator*(RValue<UInt4> lhs, RValue<UInt4> rhs);
1751 RValue<UInt4> operator/(RValue<UInt4> lhs, RValue<UInt4> rhs);
1752 RValue<UInt4> operator%(RValue<UInt4> lhs, RValue<UInt4> rhs);
1753 RValue<UInt4> operator&(RValue<UInt4> lhs, RValue<UInt4> rhs);
1754 RValue<UInt4> operator|(RValue<UInt4> lhs, RValue<UInt4> rhs);
1755 RValue<UInt4> operator^(RValue<UInt4> lhs, RValue<UInt4> rhs);
1756 RValue<UInt4> operator<<(RValue<UInt4> lhs, unsigned char rhs);
1757 RValue<UInt4> operator>>(RValue<UInt4> lhs, unsigned char rhs);
1758 RValue<UInt4> operator<<(RValue<UInt4> lhs, RValue<UInt4> rhs);
1759 RValue<UInt4> operator>>(RValue<UInt4> lhs, RValue<UInt4> rhs);
1760 RValue<UInt4> operator+=(const UInt4 &lhs, RValue<UInt4> rhs);
1761 RValue<UInt4> operator-=(const UInt4 &lhs, RValue<UInt4> rhs);
1762 RValue<UInt4> operator*=(const UInt4 &lhs, RValue<UInt4> rhs);
1765 RValue<UInt4> operator&=(const UInt4 &lhs, RValue<UInt4> rhs);
1766 RValue<UInt4> operator|=(const UInt4 &lhs, RValue<UInt4> rhs);
1767 RValue<UInt4> operator^=(const UInt4 &lhs, RValue<UInt4> rhs);
1768 RValue<UInt4> operator<<=(const UInt4 &lhs, unsigned char rhs);
1769 RValue<UInt4> operator>>=(const UInt4 &lhs, unsigned char rhs);
1770 RValue<UInt4> operator+(RValue<UInt4> val);
1771 RValue<UInt4> operator-(RValue<UInt4> val);
1772 RValue<UInt4> operator~(RValue<UInt4> val);
1784 RValue<UInt4> CmpEQ(RValue<UInt4> x, RValue<UInt4> y);
1785 RValue<UInt4> CmpLT(RValue<UInt4> x, RValue<UInt4> y);
1786 RValue<UInt4> CmpLE(RValue<UInt4> x, RValue<UInt4> y);
1787 RValue<UInt4> CmpNEQ(RValue<UInt4> x, RValue<UInt4> y);
1788 RValue<UInt4> CmpNLT(RValue<UInt4> x, RValue<UInt4> y);
1789 RValue<UInt4> CmpNLE(RValue<UInt4> x, RValue<UInt4> y);
1790 RValue<UInt4> Max(RValue<UInt4> x, RValue<UInt4> y);
1791 RValue<UInt4> Min(RValue<UInt4> x, RValue<UInt4> y);
1793 RValue<UShort8> Pack(RValue<UInt4> x, RValue<UInt4> y);
1801 operator RValue<Float4>() const;
1811 operator RValue<Float4>() const;
1823 operator RValue<Float4>() const;
1825 RValue<Float4> operator=(RValue<Float4> rhs) const;
1826 RValue<Float4> operator=(RValue<Float> rhs) const;
1836 operator RValue<Float>() const;
1837 operator RValue<Float4>() const;
1839 RValue<Float4> operator=(float x) const;
1840 RValue<Float4> operator=(RValue<Float4> rhs) const;
1841 RValue<Float4> operator=(RValue<Float> rhs) const;
1853 operator RValue<Float4>() const;
1855 RValue<Float4> operator=(RValue<Float4> rhs) const;
1864 explicit Float(RValue<Int> cast);
1868 Float(RValue<Float> rhs);
1876 RValue<Float> operator=(RValue<Float> rhs) const;
1877 RValue<Float> operator=(const Float &rhs) const;
1878 RValue<Float> operator=(const Reference<Float> &rhs) const;
1881 RValue<Float> operator=(const SwizzleMask1Float4<T> &rhs) const;
1886 RValue<Float> operator+(RValue<Float> lhs, RValue<Float> rhs);
1887 RValue<Float> operator-(RValue<Float> lhs, RValue<Float> rhs);
1888 RValue<Float> operator*(RValue<Float> lhs, RValue<Float> rhs);
1889 RValue<Float> operator/(RValue<Float> lhs, RValue<Float> rhs);
1890 RValue<Float> operator+=(const Float &lhs, RValue<Float> rhs);
1891 RValue<Float> operator-=(const Float &lhs, RValue<Float> rhs);
1892 RValue<Float> operator*=(const Float &lhs, RValue<Float> rhs);
1893 RValue<Float> operator/=(const Float &lhs, RValue<Float> rhs);
1894 RValue<Float> operator+(RValue<Float> val);
1895 RValue<Float> operator-(RValue<Float> val);
1896 RValue<Bool> operator<(RValue<Float> lhs, RValue<Float> rhs);
1897 RValue<Bool> operator<=(RValue<Float> lhs, RValue<Float> rhs);
1898 RValue<Bool> operator>(RValue<Float> lhs, RValue<Float> rhs);
1899 RValue<Bool> operator>=(RValue<Float> lhs, RValue<Float> rhs);
1900 RValue<Bool> operator!=(RValue<Float> lhs, RValue<Float> rhs);
1901 RValue<Bool> operator==(RValue<Float> lhs, RValue<Float> rhs);
1903 RValue<Float> Abs(RValue<Float> x);
1904 RValue<Float> Max(RValue<Float> x, RValue<Float> y);
1905 RValue<Float> Min(RValue<Float> x, RValue<Float> y);
1906 RValue<Float> Rcp_pp(RValue<Float> val, bool exactAtPow2 = false);
1907 RValue<Float> RcpSqrt_pp(RValue<Float> val);
1908 RValue<Float> Sqrt(RValue<Float> x);
1909 RValue<Float> Round(RValue<Float> val);
1910 RValue<Float> Trunc(RValue<Float> val);
1911 RValue<Float> Frac(RValue<Float> val);
1912 RValue<Float> Floor(RValue<Float> val);
1913 RValue<Float> Ceil(RValue<Float> val);
1923 explicit Float2(RValue<Float4> cast);
1973 explicit Float4(RValue<Byte4> cast);
1974 explicit Float4(RValue<SByte4> cast);
1975 explicit Float4(RValue<Short4> cast);
1976 explicit Float4(RValue<UShort4> cast);
1977 explicit Float4(RValue<Int4> cast);
1978 explicit Float4(RValue<UInt4> cast);
1985 Float4(RValue<Float4> rhs);
1988 Float4(RValue<Float> rhs);
2005 RValue<Float4> operator=(float replicate) const;
2006 RValue<Float4> operator=(RValue<Float4> rhs) const;
2007 RValue<Float4> operator=(const Float4 &rhs) const;
2008 RValue<Float4> operator=(const Reference<Float4> &rhs) const;
2009 RValue<Float4> operator=(RValue<Float> rhs) const;
2010 RValue<Float4> operator=(const Float &rhs) const;
2011 RValue<Float4> operator=(const Reference<Float> &rhs) const;
2014 RValue<Float4> operator=(const SwizzleMask1Float4<T> &rhs);
2016 RValue<Float4> operator=(const SwizzleFloat4<T> &rhs);
2368 RValue<Float4> operator+(RValue<Float4> lhs, RValue<Float4> rhs);
2369 RValue<Float4> operator-(RValue<Float4> lhs, RValue<Float4> rhs);
2370 RValue<Float4> operator*(RValue<Float4> lhs, RValue<Float4> rhs);
2371 RValue<Float4> operator/(RValue<Float4> lhs, RValue<Float4> rhs);
2372 RValue<Float4> operator%(RValue<Float4> lhs, RValue<Float4> rhs);
2373 RValue<Float4> operator+=(const Float4 &lhs, RValue<Float4> rhs);
2374 RValue<Float4> operator-=(const Float4 &lhs, RValue<Float4> rhs);
2375 RValue<Float4> operator*=(const Float4 &lhs, RValue<Float4> rhs);
2376 RValue<Float4> operator/=(const Float4 &lhs, RValue<Float4> rhs);
2377 RValue<Float4> operator%=(const Float4 &lhs, RValue<Float4> rhs);
2378 RValue<Float4> operator+(RValue<Float4> val);
2379 RValue<Float4> operator-(RValue<Float4> val);
2381 RValue<Float4> Abs(RValue<Float4> x);
2382 RValue<Float4> Max(RValue<Float4> x, RValue<Float4> y);
2383 RValue<Float4> Min(RValue<Float4> x, RValue<Float4> y);
2384 RValue<Float4> Rcp_pp(RValue<Float4> val, bool exactAtPow2 = false);
2385 RValue<Float4> RcpSqrt_pp(RValue<Float4> val);
2386 RValue<Float4> Sqrt(RValue<Float4> x);
2387 RValue<Float4> Insert(const Float4 &val, RValue<Float> element, int i);
2388 RValue<Float> Extract(RValue<Float4> x, int i);
2389 RValue<Float4> Swizzle(RValue<Float4> x, unsigned char select);
2390 RValue<Float4> ShuffleLowHigh(RValue<Float4> x, RValue<Float4> y, unsigned char imm);
2391 RValue<Float4> UnpackLow(RValue<Float4> x, RValue<Float4> y);
2392 RValue<Float4> UnpackHigh(RValue<Float4> x, RValue<Float4> y);
2393 RValue<Float4> Mask(Float4 &lhs, RValue<Float4> rhs, unsigned char select);
2394 RValue<Int> SignMask(RValue<Float4> x);
2395 RValue<Int4> CmpEQ(RValue<Float4> x, RValue<Float4> y);
2396 RValue<Int4> CmpLT(RValue<Float4> x, RValue<Float4> y);
2397 RValue<Int4> CmpLE(RValue<Float4> x, RValue<Float4> y);
2398 RValue<Int4> CmpNEQ(RValue<Float4> x, RValue<Float4> y);
2399 RValue<Int4> CmpNLT(RValue<Float4> x, RValue<Float4> y);
2400 RValue<Int4> CmpNLE(RValue<Float4> x, RValue<Float4> y);
2401 RValue<Float4> Round(RValue<Float4> x);
2402 RValue<Float4> Trunc(RValue<Float4> x);
2403 RValue<Float4> Frac(RValue<Float4> x);
2404 RValue<Float4> Floor(RValue<Float4> x);
2405 RValue<Float4> Ceil(RValue<Float4> x);
2412 Pointer(RValue<Pointer<S>> pointerS, int alignment = 1) : alignment(alignment) in Pointer()
2430 Pointer(RValue<Pointer<T>> rhs);
2434 RValue<Pointer<T>> operator=(RValue<Pointer<T>> rhs) const;
2435 RValue<Pointer<T>> operator=(const Pointer<T> &rhs) const;
2436 RValue<Pointer<T>> operator=(const Reference<Pointer<T>> &rhs) const;
2446 RValue<Pointer<Byte>> operator+(RValue<Pointer<Byte>> lhs, int offset);
2447 RValue<Pointer<Byte>> operator+(RValue<Pointer<Byte>> lhs, RValue<Int> offset);
2448 RValue<Pointer<Byte>> operator+(RValue<Pointer<Byte>> lhs, RValue<UInt> offset);
2449 RValue<Pointer<Byte>> operator+=(const Pointer<Byte> &lhs, int offset);
2450 RValue<Pointer<Byte>> operator+=(const Pointer<Byte> &lhs, RValue<Int> offset);
2451 RValue<Pointer<Byte>> operator+=(const Pointer<Byte> &lhs, RValue<UInt> offset);
2453 RValue<Pointer<Byte>> operator-(RValue<Pointer<Byte>> lhs, int offset);
2454 RValue<Pointer<Byte>> operator-(RValue<Pointer<Byte>> lhs, RValue<Int> offset);
2455 RValue<Pointer<Byte>> operator-(RValue<Pointer<Byte>> lhs, RValue<UInt> offset);
2456 RValue<Pointer<Byte>> operator-=(const Pointer<Byte> &lhs, int offset);
2457 RValue<Pointer<Byte>> operator-=(const Pointer<Byte> &lhs, RValue<Int> offset);
2458 RValue<Pointer<Byte>> operator-=(const Pointer<Byte> &lhs, RValue<UInt> offset);
2467 Reference<T> operator[](RValue<Int> index);
2468 Reference<T> operator[](RValue<UInt> index);
2477 bool branch(RValue<Bool> cmp, llvm::BasicBlock *bodyBB, llvm::BasicBlock *endBB);
2488 void Return(RValue<Pointer<T>> ret);
2539 RValue<Long> Ticks();
2550 RValue<Pointer<T>> Variable<T>::operator&() in operator &()
2552 return RValue<Pointer<T>>(LValue::address); in operator &()
2562 RValue<T> Reference<T>::operator=(RValue<T> rhs) const in operator =()
2570 RValue<T> Reference<T>::operator=(const Reference<T> &ref) const in operator =()
2575 return RValue<T>(tmp); in operator =()
2579 RValue<T> Reference<T>::operator+=(RValue<T> rhs) const in operator +=()
2597 RValue<T>::RValue(llvm::Value *rvalue) in RValue() function in sw::RValue
2603 RValue<T>::RValue(const T &lvalue) in RValue() function in sw::RValue
2609 RValue<T>::RValue(typename IntLiteral<T>::type i) in RValue() function in sw::RValue
2615 RValue<T>::RValue(typename FloatLiteral<T>::type f) in RValue() function in sw::RValue
2621 RValue<T>::RValue(const Reference<T> &ref) in RValue() function in sw::RValue
2627 Swizzle2Float4<T>::operator RValue<Float4>() const in operator RValue<Float4>()
2631 return RValue<Float4>(Nucleus::createSwizzle(vector, T)); in operator RValue<Float4>()
2635 SwizzleFloat4<T>::operator RValue<Float4>() const in operator RValue<Float4>()
2639 return RValue<Float4>(Nucleus::createSwizzle(vector, T)); in operator RValue<Float4>()
2643 SwizzleMaskFloat4<T>::operator RValue<Float4>() const in operator RValue<Float4>()
2647 return RValue<Float4>(Nucleus::createSwizzle(vector, T)); in operator RValue<Float4>()
2651 RValue<Float4> SwizzleMaskFloat4<T>::operator=(RValue<Float4> rhs) const in operator =()
2657 RValue<Float4> SwizzleMaskFloat4<T>::operator=(RValue<Float> rhs) const in operator =()
2663 SwizzleMask1Float4<T>::operator RValue<Float>() const // FIXME: Call a non-template function in operator RValue<Float>()
2669 SwizzleMask1Float4<T>::operator RValue<Float4>() const in operator RValue<Float4>()
2673 return RValue<Float4>(Nucleus::createSwizzle(vector, T)); in operator RValue<Float4>()
2677 RValue<Float4> SwizzleMask1Float4<T>::operator=(float x) const in operator =()
2683 RValue<Float4> SwizzleMask1Float4<T>::operator=(RValue<Float4> rhs) const in operator =()
2689RValue<Float4> SwizzleMask1Float4<T>::operator=(RValue<Float> rhs) const // FIXME: Call a non-te… in operator =()
2695 SwizzleMask2Float4<T>::operator RValue<Float4>() const in operator RValue<Float4>()
2699 return RValue<Float4>(Nucleus::createSwizzle(vector, T)); in operator RValue<Float4>()
2703 RValue<Float4> SwizzleMask2Float4<T>::operator=(RValue<Float4> rhs) const in operator =()
2711 *this = rhs.operator RValue<Float>(); in Float()
2715 RValue<Float> Float::operator=(const SwizzleMask1Float4<T> &rhs) const in operator =()
2717 return *this = rhs.operator RValue<Float>(); in operator =()
2725 *this = rhs.operator RValue<Float4>(); in Float4()
2733 *this = rhs.operator RValue<Float4>(); in Float4()
2769 RValue<Float4> Float4::operator=(const SwizzleMask1Float4<T> &rhs) in operator =()
2771 return *this = rhs.operator RValue<Float4>(); in operator =()
2775 RValue<Float4> Float4::operator=(const SwizzleFloat4<T> &rhs) in operator =()
2777 return *this = rhs.operator RValue<Float4>(); in operator =()
2808 Pointer<T>::Pointer(RValue<Pointer<T>> rhs) : alignment(1) in Pointer()
2828 RValue<Pointer<T>> Pointer<T>::operator=(RValue<Pointer<T>> rhs) const in operator =()
2836 RValue<Pointer<T>> Pointer<T>::operator=(const Pointer<T> &rhs) const in operator =()
2841 return RValue<Pointer<T>>(value); in operator =()
2845 RValue<Pointer<T>> Pointer<T>::operator=(const Reference<Pointer<T>> &rhs) const in operator =()
2850 return RValue<Pointer<T>>(value); in operator =()
2879 Reference<T> Array<T, S>::operator[](RValue<Int> index) in operator []()
2887 Reference<T> Array<T, S>::operator[](RValue<UInt> index) in operator []()
2919 RValue<T> IfThenElse(RValue<Bool> condition, RValue<T> ifTrue, RValue<T> ifFalse) in IfThenElse()
2921 return RValue<T>(Nucleus::createSelect(condition.value, ifTrue.value, ifFalse.value)); in IfThenElse()
2925 RValue<T> IfThenElse(RValue<Bool> condition, const T &ifTrue, RValue<T> ifFalse) in IfThenElse()
2929 return RValue<T>(Nucleus::createSelect(condition.value, trueValue, ifFalse.value)); in IfThenElse()
2933 RValue<T> IfThenElse(RValue<Bool> condition, RValue<T> ifTrue, const T &ifFalse) in IfThenElse()
2937 return RValue<T>(Nucleus::createSelect(condition.value, ifTrue.value, falseValue)); in IfThenElse()
2941 RValue<T> IfThenElse(RValue<Bool> condition, const T &ifTrue, const T &ifFalse) in IfThenElse()
2946 return RValue<T>(Nucleus::createSelect(condition.value, trueValue, falseValue)); in IfThenElse()
2957 void Return(RValue<Pointer<T>> ret) in Return()
2998 RValue<T> ReinterpretCast(RValue<S> val) in ReinterpretCast()
3000 return RValue<T>(Nucleus::createBitCast(val.value, T::getType())); in ReinterpretCast()
3004 RValue<T> ReinterpretCast(const LValue &var) in ReinterpretCast()
3008 return RValue<T>(Nucleus::createBitCast(val, T::getType())); in ReinterpretCast()
3012 RValue<T> ReinterpretCast(const Reference<S> &var) in ReinterpretCast()
3014 return ReinterpretCast<T>(RValue<S>(var)); in ReinterpretCast()
3018 RValue<T> As(RValue<S> val) in As()
3024 RValue<T> As(const LValue &var) in As()
3030 RValue<T> As(const Reference<S> &val) in As()