/freebsd/contrib/llvm-project/clang/lib/AST/Interp/ |
H A D | Floating.h | 26 class Floating final { 33 Floating() : F(0.0f) {} in Floating() function 34 Floating(const APFloat &F) : F(F) {} in Floating() function 37 static Floating getInf(const llvm::fltSemantics &Sem) { in getInf() 38 return Floating(APFloat::getInf(Sem)); in getInf() 42 bool operator<(Floating RHS) const { return F < RHS.F; } 43 bool operator>(Floating RHS) const { return F > RHS.F; } 44 bool operator<=(Floating RHS) const { return F <= RHS.F; } 45 bool operator>=(Floating RHS) const { return F >= RHS.F; } 46 bool operator==(Floating RHS) const { return F == RHS.F; } [all …]
|
H A D | InterpBuiltin.cpp | 275 Floating Result; in interp__builtin_nan() 278 Result = Floating( in interp__builtin_nan() 281 Result = Floating( in interp__builtin_nan() 290 Result = Floating( in interp__builtin_nan() 293 Result = Floating( in interp__builtin_nan() 297 S.Stk.push<Floating>(Result); in interp__builtin_nan() 306 S.Stk.push<Floating>(Floating::getInf(TargetSemantics)); in interp__builtin_inf() 313 const Floating &Arg1 = getParam<Floating>(Frame, 0); in interp__builtin_copysign() 314 const Floating &Arg2 = getParam<Floating>(Frame, 1); in interp__builtin_copysign() 318 S.Stk.push<Floating>(Floating(Copy)); in interp__builtin_copysign() [all …]
|
H A D | Floating.cpp | 14 llvm::raw_ostream &operator<<(llvm::raw_ostream &OS, Floating F) { in operator <<() 19 Floating getSwappedBytes(Floating F) { return F; } in getSwappedBytes()
|
H A D | Interp.h | 198 if constexpr (std::is_same_v<T, Floating>) { in CheckDivRem() 247 bool CheckFloatResult(InterpState &S, CodePtr OpPC, const Floating &Result, 379 const Floating &RHS = S.Stk.pop<Floating>(); in Addf() 380 const Floating &LHS = S.Stk.pop<Floating>(); in Addf() 382 Floating Result; in Addf() 383 auto Status = Floating::add(LHS, RHS, RM, &Result); in Addf() 384 S.Stk.push<Floating>(Result); in Addf() 397 const Floating &RHS = S.Stk.pop<Floating>(); in Subf() 398 const Floating &LHS = S.Stk.pop<Floating>(); in Subf() 400 Floating Result; in Subf() [all …]
|
H A D | Disasm.cpp | 44 template <> inline Floating ReadArg<Floating>(Program &P, CodePtr &OpPC) { in ReadArg() 45 Floating F = Floating::deserialize(*OpPC); in ReadArg()
|
/freebsd/contrib/llvm-project/llvm/lib/Target/X86/ |
H A D | X86Schedule.td | 218 // Floating point. This covers both scalar and vector operations. 244 defm WriteFAdd : X86SchedWritePair<ReadAfterVecLd>; // Floating point add/sub. 245 defm WriteFAddX : X86SchedWritePair<ReadAfterVecXLd>; // Floating point add/sub (XMM). 246 defm WriteFAddY : X86SchedWritePair<ReadAfterVecYLd>; // Floating point add/sub (YMM). 247 defm WriteFAddZ : X86SchedWritePair<ReadAfterVecYLd>; // Floating point add/sub (ZMM). 248 defm WriteFAdd64 : X86SchedWritePair<ReadAfterVecLd>; // Floating point double add/sub. 249 defm WriteFAdd64X : X86SchedWritePair<ReadAfterVecXLd>; // Floating point double add/sub (XMM). 250 defm WriteFAdd64Y : X86SchedWritePair<ReadAfterVecYLd>; // Floating point double add/sub (YMM). 251 defm WriteFAdd64Z : X86SchedWritePair<ReadAfterVecYLd>; // Floating point double add/sub (ZMM). 252 defm WriteFCmp : X86SchedWritePair<ReadAfterVecLd>; // Floating poin [all...] |
H A D | X86ScheduleZnver3.td | 178 // Floating-Point Unit 191 // Agner, 22.10 Floating point execution pipes 202 // AMD SOG 19h, 2.11.1 Floating Point Execution Resources 204 // (v)FMUL*, (v)FMA*, Floating Point Compares, Blendv(DQ) 217 // AMD SOG 19h, 2.11.1 Floating Point Execution Resources 223 // Moves and Logical operations on Floating Point Data Types 266 // AMD SOG 19h, 2.11 Floating-Point Unit 271 // (v)FMUL*, (v)FMA*, Floating Point Compares, Blendv(DQ) 284 // Moves and Logical operations on Floating Point Data Types 290 // AMD SOG 19h, 2.11 Floating-Point Unit [all …]
|
H A D | X86ScheduleZnver4.td | 167 // Floating-Point Unit 180 // Agner, 22.10 Floating point execution pipes 191 // AMD SOG 19h, 2.11.1 Floating Point Execution Resources 193 // (v)FMUL*, (v)FMA*, Floating Point Compares, Blendv(DQ) 206 // AMD SOG 19h, 2.11.1 Floating Point Execution Resources 212 // Moves and Logical operations on Floating Point Data Types 255 // AMD SOG 19h, 2.11 Floating-Point Unit 260 // (v)FMUL*, (v)FMA*, Floating Point Compares, Blendv(DQ) 273 // Moves and Logical operations on Floating Point Data Types 284 // AMD SOG 19h, 2.11 Floating-Point Unit [all …]
|
H A D | X86SchedBroadwell.td | 234 // Floating point. This covers both scalar and vector operations. 261 defm : BWWriteResPair<WriteFAdd, [BWPort1], 3, [1], 1, 5>; // Floating point add/sub. 262 defm : BWWriteResPair<WriteFAddX, [BWPort1], 3, [1], 1, 5>; // Floating point add/sub (XMM). 263 defm : BWWriteResPair<WriteFAddY, [BWPort1], 3, [1], 1, 6>; // Floating point add/sub (YMM/ZMM). 265 defm : BWWriteResPair<WriteFAdd64, [BWPort1], 3, [1], 1, 5>; // Floating point double add/sub. 266 defm : BWWriteResPair<WriteFAdd64X, [BWPort1], 3, [1], 1, 5>; // Floating point double add/sub (XM… 267 defm : BWWriteResPair<WriteFAdd64Y, [BWPort1], 3, [1], 1, 6>; // Floating point double add/sub (YM… 270 defm : BWWriteResPair<WriteFCmp, [BWPort1], 3, [1], 1, 5>; // Floating point compare. 271 defm : BWWriteResPair<WriteFCmpX, [BWPort1], 3, [1], 1, 5>; // Floating point compare (XMM). 272 defm : BWWriteResPair<WriteFCmpY, [BWPort1], 3, [1], 1, 6>; // Floating point compare (YMM/ZMM). [all …]
|
H A D | X86SchedSkylakeClient.td | 223 // Floating point. This covers both scalar and vector operations. 250 defm : SKLWriteResPair<WriteFAdd, [SKLPort01], 4, [1], 1, 5>; // Floating point add/sub. 254 defm : SKLWriteResPair<WriteFAdd64, [SKLPort01], 4, [1], 1, 5>; // Floating point double add/sub. 259 defm : SKLWriteResPair<WriteFCmp, [SKLPort01], 4, [1], 1, 5>; // Floating point compare. 263 defm : SKLWriteResPair<WriteFCmp64, [SKLPort01], 4, [1], 1, 5>; // Floating point double compare. 268 defm : SKLWriteResPair<WriteFCom, [SKLPort0], 2>; // Floating point compare to flags (X87). 269 defm : SKLWriteResPair<WriteFComX, [SKLPort0], 2>; // Floating point compare to flags (SSE). 271 defm : SKLWriteResPair<WriteFMul, [SKLPort01], 4, [1], 1, 5>; // Floating point multiplication. 275 defm : SKLWriteResPair<WriteFMul64, [SKLPort01], 4, [1], 1, 5>; // Floating point double multipl… 280 defm : SKLWriteResPair<WriteFDiv, [SKLPort0,SKLFPDivider], 11, [1,3], 1, 5>; // Floating point … [all …]
|
/freebsd/contrib/llvm-project/libcxx/src/include/ |
H A D | to_chars_floating_point.h | 481 // Floating-point is slightly more complicated. 555 template <typename Floating> 556 [[nodiscard]] int scientific_exponent_X(const int P, const Floating flt) { 597 template <typename Floating> 599 using Limits = numeric_limits<Floating>; 600 using UInt = conditional_t<_IsSame<Floating, float>::value, uint32_t, uint64_t>; 608 constexpr Floating first = static_cast<Floating>(9e-5); // well below 9.5e-5, otherwise arbitrary 609 constexpr Floating last = Limits::infinity(); // one bit above Limits::max() 613 [P, X](const UInt u) { return scientific_exponent_X(P, reinterpret_cast<const Floating [all...] |
/freebsd/contrib/llvm-project/llvm/lib/Target/RISCV/ |
H A D | RISCVScheduleV.td | 422 // 13. Vector Floating-Point Instructions 423 // 13.2. Vector Single-Width Floating-Point Add/Subtract Instructions 426 // 13.3. Vector Widening Floating-Point Add/Subtract Instructions 429 // 13.4. Vector Single-Width Floating-Point Multiply/Divide Instructions 434 // 13.5. Vector Widening Floating-Point Multiply 437 // 13.6. Vector Single-Width Floating-Point Fused Multiply-Add Instructions 440 // 13.7. Vector Widening Floating-Point Fused Multiply-Add Instructions 443 // 13.8. Vector Floating-Point Square-Root Instruction 445 // 13.9. Vector Floating-Point Reciprocal Square-Root Estimate Instruction 446 // 13.10. Vector Floating-Point Reciprocal Estimate Instruction [all …]
|
H A D | RISCVFeatures.td | 280 // Floating Point Extensions 284 "'F' (Single-Precision Floating-Point)", 289 "'F' (Single-Precision Floating-Point)">; 293 "'D' (Double-Precision Floating-Point)", 298 "'D' (Double-Precision Floating-Point)">; 302 "'Zfhmin' (Half-Precision Floating-Point Minimal)", 307 "'Zfh' (Half-Precision Floating-Point) or " 308 "'Zfhmin' (Half-Precision Floating-Point Minimal)">; 312 "'Zfh' (Half-Precision Floating-Point)", 317 "'Zfh' (Half-Precision Floating-Point)">; [all …]
|
H A D | RISCVSchedule.td | 108 def WriteFLI16 : SchedWrite; // Floating point constant load 109 def WriteFLI32 : SchedWrite; // Floating point constant load 110 def WriteFLI64 : SchedWrite; // Floating point constant load 112 def WriteFLD16 : SchedWrite; // Floating point sp load 113 def WriteFLD32 : SchedWrite; // Floating point sp load 114 def WriteFLD64 : SchedWrite; // Floating point dp load 115 def WriteFST16 : SchedWrite; // Floating point sp store 116 def WriteFST32 : SchedWrite; // Floating point sp store 117 def WriteFST64 : SchedWrite; // Floating point dp store
|
/freebsd/contrib/llvm-project/llvm/lib/Target/PowerPC/ |
H A D | P10InstrResources.td | 13 // 22 Cycles Binary Floating Point operations, 2 input operands 21 // 22 Cycles Binary Floating Point operations, and 3 Cycles ALU operations, 2 input operands 27 // 24 Cycles Binary Floating Point operations, 2 input operands 33 // 26 Cycles Binary Floating Point operations, 1 input operands 41 // 26 Cycles Binary Floating Point operations, and 3 Cycles ALU operations, 1 input operands 47 // 27 Cycles Binary Floating Point operations, 1 input operands 53 // 27 Cycles Binary Floating Point operations, 2 input operands 62 // 27 Cycles Binary Floating Point operations, and 3 Cycles ALU operations, 2 input operands 68 // 36 Cycles Binary Floating Point operations, 1 input operands 77 // 36 Cycles Binary Floating Point operations, and 3 Cycles ALU operations, 1 input operands [all …]
|
/freebsd/contrib/llvm-project/llvm/lib/Target/AArch64/ |
H A D | AArch64SchedA510.td | 374 // Floating Point Conversions, MAC, DIV, SQRT 999 // Floating point absolute value/difference 1003 // Floating point arithmetic 1009 // Floating point associative add, F16 1012 // Floating point associative add, F32 1015 // Floating point associative add, F64 1018 // Floating point compare 1024 // Floating point complex add 1027 // Floating point complex multiply add 1031 // Floating point convert, long or narrow (F16 to F32 or F32 to F16) [all …]
|
H A D | AArch64Schedule.td | 73 def WriteFCmp : SchedWrite; // Floating-point compare. 76 def WriteFImm : SchedWrite; // Floating-point immediate. 77 def WriteFMul : SchedWrite; // Floating-point multiply. 78 def WriteFDiv : SchedWrite; // Floating-point division.
|
H A D | AArch64SchedNeoverseN2.td | 1917 // Floating point absolute value/difference 1922 // Floating point arithmetic 1930 // Floating point associative add, F16 1933 // Floating point associative add, F32 1936 // Floating point associative add, F64 1939 // Floating point compare 1945 // Floating point complex add 1948 // Floating point complex multiply add 1952 // Floating point convert, long or narrow (F16 to F32 or F32 to F16) 1957 // Floating point convert, long or narrow (F16 to F64, F32 to F64, F64 to F32 [all …]
|
H A D | AArch64SchedNeoverseV1.td | 1555 // Floating point absolute value/difference 1560 // Floating point arithmetic 1568 // Floating point associative add, F16 1571 // Floating point associative add, F32 1574 // Floating point associative add, F64 1577 // Floating point compare 1582 // Floating point complex add 1585 // Floating point complex multiply add 1589 // Floating point convert, long or narrow (F16 to F32 or F32 to F16) 1590 // Floating point convert to integer, F32 [all …]
|
H A D | AArch64SchedNeoverseV2.td | 2434 // Floating point absolute value/difference 2439 // Floating point arithmetic 2447 // Floating point associative add, F16 2450 // Floating point associative add, F32 2453 // Floating point associative add, F64 2456 // Floating point compare 2462 // Floating point complex add 2465 // Floating point complex multiply add 2469 // Floating point convert, long or narrow (F16 to F32 or F32 to F16) 2474 // Floating point convert, long or narrow (F16 to F64, F32 to F64, F64 to F32 [all …]
|
/freebsd/contrib/googletest/googlemock/test/ |
H A D | gmock-matchers-arithmetic_test.cc | 1020 typedef testing::internal::FloatingPoint<RawType> Floating; typedef in testing::gmock_matchers_test::__anon7b5da5310111::FloatingPointTest 1021 typedef typename Floating::Bits Bits; 1024 : max_ulps_(Floating::kMaxUlps), in FloatingPointTest() 1025 zero_bits_(Floating(0).bits()), in FloatingPointTest() 1026 one_bits_(Floating(1).bits()), in FloatingPointTest() 1027 infinity_bits_(Floating(Floating::Infinity()).bits()), in FloatingPointTest() 1029 Floating::ReinterpretBits(zero_bits_ + max_ulps_ / 2)), in FloatingPointTest() 1031 -Floating::ReinterpretBits(zero_bits_ + max_ulps_ - max_ulps_ / 2)), in FloatingPointTest() 1032 further_from_negative_zero_(-Floating::ReinterpretBits( in FloatingPointTest() 1034 close_to_one_(Floating::ReinterpretBits(one_bits_ + max_ulps_)), in FloatingPointTest() [all …]
|
/freebsd/contrib/llvm-project/llvm/include/llvm/Support/ |
H A D | TargetOpcodes.def | 641 /// Floating point base-e logarithm of a value. 644 /// Floating point base-2 logarithm of a value. 647 /// Floating point base-10 logarithm of a value. 650 /// Floating point x * 2^n 653 /// Floating point extract fraction and exponent. 787 /// Floating point ceil. 790 /// Floating point cosine. 793 /// Floating point sine. 796 /// Floating point tangent. 799 /// Floating point arccosine. [all …]
|
/freebsd/contrib/llvm-project/clang/include/clang/Basic/ |
H A D | riscv_vector.td | 1497 // 13. Vector Floating-Point Instructions 1556 // 13.2. Vector Single-Width Floating-Point Add/Subtract Instructions 1561 // 13.3. Vector Widening Floating-Point Add/Subtract Instructions 1566 // 13.4. Vector Single-Width Floating-Point Multiply/Divide Instructions 1571 // 13.2. Vector Single-Width Floating-Point Add/Subtract Instructions 1576 // 13.3. Vector Widening Floating-Point Add/Subtract Instructions 1581 // 13.4. Vector Single-Width Floating-Point Multiply/Divide Instructions 1633 // 13.3. Vector Widening Floating-Point Add/Subtract Instructions 1638 // 13.5. Vector Widening Floating-Point Multiply 1645 // 13.3. Vector Widening Floating-Point Add/Subtract Instructions [all …]
|
/freebsd/contrib/llvm-project/llvm/include/llvm/Target/ |
H A D | GenericOpcodes.td | 727 // Floating Point Unary Ops. 861 // Floating Point Binary ops. 920 // Floating point exponentiation. 927 // Floating point exponentiation, with an integer power. 934 // Floating point base-e exponential of a value. 941 // Floating point base-2 exponential of a value. 948 // Floating point base-10 exponential of a value. 955 // Floating point base-e logarithm of a value. 962 // Floating point base-2 logarithm of a value. 969 // Floating point base-10 logarithm of a value. [all …]
|
/freebsd/contrib/llvm-project/llvm/lib/Target/LoongArch/ |
H A D | LoongArch.td | 38 "'F' (Single-Precision Floating-Point)">; 44 "'D' (Double-Precision Floating-Point)", 109 // Floating point approximation operation
|