| 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 |