OLD | NEW |
1 //===-- NVPTXISelDAGToDAG.h - A dag to dag inst selector for NVPTX --------===// | 1 //===-- NVPTXISelDAGToDAG.h - A dag to dag inst selector for NVPTX --------===// |
2 // | 2 // |
3 // The LLVM Compiler Infrastructure | 3 // The LLVM Compiler Infrastructure |
4 // | 4 // |
5 // This file is distributed under the University of Illinois Open Source | 5 // This file is distributed under the University of Illinois Open Source |
6 // License. See LICENSE.TXT for details. | 6 // License. See LICENSE.TXT for details. |
7 // | 7 // |
8 //===----------------------------------------------------------------------===// | 8 //===----------------------------------------------------------------------===// |
9 // | 9 // |
10 // This file defines an instruction selector for the NVPTX target. | 10 // This file defines an instruction selector for the NVPTX target. |
(...skipping 23 matching lines...) Expand all Loading... |
34 bool doFMAF64AGG; | 34 bool doFMAF64AGG; |
35 bool doFMAF32AGG; | 35 bool doFMAF32AGG; |
36 bool allowFMA; | 36 bool allowFMA; |
37 | 37 |
38 // 0: use div.approx | 38 // 0: use div.approx |
39 // 1: use div.full | 39 // 1: use div.full |
40 // 2: For sm_20 and later, ieee-compliant div.rnd.f32 can be generated; | 40 // 2: For sm_20 and later, ieee-compliant div.rnd.f32 can be generated; |
41 // Otherwise, use div.full | 41 // Otherwise, use div.full |
42 int do_DIVF32_PREC; | 42 int do_DIVF32_PREC; |
43 | 43 |
44 // If true, generate sqrt.rn, else generate sqrt.approx. If FTZ | |
45 // is true, then generate the corresponding FTZ version. | |
46 bool do_SQRTF32_PREC; | |
47 | |
48 // If true, add .ftz to f32 instructions. | 44 // If true, add .ftz to f32 instructions. |
49 // This is only meaningful for sm_20 and later, as the default | 45 // This is only meaningful for sm_20 and later, as the default |
50 // is not ftz. | 46 // is not ftz. |
51 // For sm earlier than sm_20, f32 denorms are always ftz by the | 47 // For sm earlier than sm_20, f32 denorms are always ftz by the |
52 // hardware. | 48 // hardware. |
53 // We always add the .ftz modifier regardless of the sm value | 49 // We always add the .ftz modifier regardless of the sm value |
54 // when Use32FTZ is true. | 50 // when Use32FTZ is true. |
55 bool UseF32FTZ; | 51 bool UseF32FTZ; |
56 | 52 |
57 // If true, generate mul.wide from sext and mul | 53 // If true, generate mul.wide from sext and mul |
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
101 SDValue &Offset); | 97 SDValue &Offset); |
102 bool SelectADDRsi64(SDNode *OpNode, SDValue Addr, SDValue &Base, | 98 bool SelectADDRsi64(SDNode *OpNode, SDValue Addr, SDValue &Base, |
103 SDValue &Offset); | 99 SDValue &Offset); |
104 | 100 |
105 bool ChkMemSDNodeAddressSpace(SDNode *N, unsigned int spN) const; | 101 bool ChkMemSDNodeAddressSpace(SDNode *N, unsigned int spN) const; |
106 | 102 |
107 bool UndefOrImm(SDValue Op, SDValue N, SDValue &Retval); | 103 bool UndefOrImm(SDValue Op, SDValue N, SDValue &Retval); |
108 | 104 |
109 }; | 105 }; |
110 } | 106 } |
OLD | NEW |