Changeset 3171 in CLRX
 Timestamp:
 Jun 17, 2017, 10:53:01 AM (3 years ago)
 File:

 1 edited
Legend:
 Unmodified
 Added
 Removed

CLRadeonExtender/trunk/doc/GcnInstrsVop1.md
r3170 r3171 768 768 Description: Get exponent plus 1 from half FP value SRC0, and store that exponent to VDST 769 769 as 16bit signed integer. This instruction realizes frexp function. 770 If SRC0 is infinity or NAN then store 1to VDST.770 If SRC0 is infinity or NAN then store 0 to VDST. 771 771 Operation: 772 772 ``` … … 775 775 VDST = (INT16)FREXP_EXP(SF) 776 776 else 777 VDST = (INT16)1777 VDST = 0 778 778 ``` 779 779 … … 785 785 Description: Get exponent plus 1 from single FP value SRC0, and store that exponent to VDST. 786 786 This instruction realizes frexp function. 787 If SRC0 is infinity or NAN then store 1 to VDST.787 If SRC0 is infinity or NAN then store 1 if GCN 1.0 or 0 to VDST. 788 788 Operation: 789 789 ``` … … 792 792 VDST = FREXP_EXP(SF) 793 793 else 794 VDST = 1 794 VDST = 1 // GCN 1.0 795 VDST = 0 // later 795 796 ``` 796 797 … … 802 803 Description: Get exponent plus 1 from double FP value SRC0, and store that exponent to VDST. 803 804 This instruction realizes frexp function. 804 If SRC0 is infinity or NAN then store 1 to VDST.805 If SRC0 is infinity or NAN then store 1 if GCN 1.0 or 0 to VDST. 805 806 Operation: 806 807 ``` … … 809 810 VDST = FREXP_EXP(SD) 810 811 else 811 VDST = 1 812 VDST = 1 // GCN 1.0 813 VDST = 0 // later 812 814 ``` 813 815 … … 818 820 Syntax: V_FREXP_MANT_F16 VDST, SRC0 819 821 Description: Get mantisa from half FP value SRC0, and store it to VDST. Mantisa includes 820 sign of input. If SRC0 is infinity then store NAN to VDST.822 sign of input. 821 823 Operation: 822 824 ``` 823 825 HALF SF = ASHALF(SRC0) 824 826 if (ABS(SF) == INF) 825 VDST = NAN_H827 VDST = SF 826 828 else if (!ISNAN(SF)) 827 829 VDST = FREXP_MANT(SF) * SIGN(SF) … … 836 838 Syntax: V_FREXP_MANT_F32 VDST, SRC0 837 839 Description: Get mantisa from single FP value SRC0, and store it to VDST. Mantisa includes 838 sign of input. If SRC0 is infinity then store NAN to VDST.840 sign of input. For GCN 1.0, if SRC0 is infinity then store NAN to VDST. 839 841 Operation: 840 842 ``` 841 843 FLOAT SF = ASFLOAT(SRC0) 842 844 if (ABS(SF) == INF) 843 VDST = NAN 845 VDST = NAN // GCN 1.0 846 VDST = SF // later 844 847 else if (!ISNAN(SF)) 845 848 VDST = FREXP_MANT(SF) * SIGN(SF) … … 859 862 DOUBLE SD = ASDOUBLE(SRC0) 860 863 if (ABS(SD) == INF) 861 VDST = NAN 864 VDST = NAN // GCN 1.0 865 VDST = SF // later 862 866 else if (!ISNAN(SD)) 863 867 VDST = FREXP_MANT(SD) * SIGN(SD)
Note: See TracChangeset
for help on using the changeset viewer.