| /freebsd/contrib/llvm-project/clang/lib/AST/ByteCode/ |
| H A D | Floating.h | 35 class Floating final { 52 Floating() = default; 53 Floating(llvm::APFloatBase::Semantics Semantics) in Floating() function 55 Floating(const APFloat &F) { in Floating() function 60 Floating(uint64_t *Memory, llvm::APFloatBase::Semantics Semantics) in Floating() function 65 bool operator<(Floating RHS) const { return getValue() < RHS.getValue(); } 66 bool operator>(Floating RHS) const { return getValue() > RHS.getValue(); } 67 bool operator<=(Floating RHS) const { return getValue() <= RHS.getValue(); } 68 bool operator>=(Floating RHS) const { return getValue() >= RHS.getValue(); } 77 Floating *Result) const { in toSemantics() [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 | 231 if constexpr (std::is_same_v<T, Floating>) { in CheckDivRem() 295 bool CheckFloatResult(InterpState &S, CodePtr OpPC, const Floating &Result, 426 const Floating &RHS = S.Stk.pop<Floating>(); in Addf() 427 const Floating &LHS = S.Stk.pop<Floating>(); in Addf() 430 Floating Result = S.allocFloat(LHS.getSemantics()); in Addf() 431 auto Status = Floating::add(LHS, RHS, getRoundingMode(FPO), &Result); in Addf() 432 S.Stk.push<Floating>(Result); in Addf() 446 const Floating &RHS = S.Stk.pop<Floating>(); in Subf() 447 const Floating &LHS = S.Stk.pop<Floating>(); in Subf() 450 Floating Result = S.allocFloat(LHS.getSemantics()); in Subf() [all …]
|
| H A D | InterpBuiltin.cpp | 357 Floating Result = S.allocFloat(TargetSemantics); in interp__builtin_nan() 379 S.Stk.push<Floating>(Result); in interp__builtin_nan() 390 Floating Result = S.allocFloat(TargetSemantics); in interp__builtin_inf() 392 S.Stk.push<Floating>(Result); in interp__builtin_inf() 398 const Floating &Arg2 = S.Stk.pop<Floating>(); in interp__builtin_copysign() 399 const Floating &Arg1 = S.Stk.pop<Floating>(); in interp__builtin_copysign() 400 Floating Result = S.allocFloat(Arg1.getSemantics()); in interp__builtin_copysign() 405 S.Stk.push<Floating>(Result); in interp__builtin_copysign() 412 const Floating &RHS = S.Stk.pop<Floating>(); in interp__builtin_fmin() 413 const Floating &LHS = S.Stk.pop<Floating>(); in interp__builtin_fmin() [all …]
|
| H A D | InterpState.h | 146 Floating allocFloat(const llvm::fltSemantics &Sem) { in allocFloat() 147 if (Floating::singleWord(Sem)) in allocFloat() 148 return Floating(llvm::APFloatBase::SemanticsToEnum(Sem)); in allocFloat() 154 return Floating(Mem, llvm::APFloatBase::SemanticsToEnum(Sem)); in allocFloat()
|
| H A D | PrimType.h | 26 class Floating; variable 81 std::is_same_v<T, IntegralAP<true>> || std::is_same_v<T, Floating>; in needsAlloc() 120 using T = Floating;
|
| H A D | InterpBuiltinBitCast.cpp | 301 const Floating &F = P.deref<Floating>(); in readPointerToBuffer() 406 Floating R = S.allocFloat(Semantics); in DoBitCastPtr() 407 Floating::bitcastFromMemory(M.get(), Semantics, &R); in DoBitCastPtr() 408 P.deref<Floating>() = R; in DoBitCastPtr() 463 IntegralAP<false>, Boolean, Floating>;
|
| /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 | 168 // Floating-Point Unit 181 // Agner, 22.10 Floating point execution pipes 192 // AMD SOG Zen4, 2.11.1 Floating Point Execution Resources 194 // (v)FMUL*, (v)FMA*, Floating Point Compares, Blendv(DQ) 207 // AMD SOG Zen4, 2.11.1 Floating Point Execution Resources 213 // Moves and Logical operations on Floating Point Data Types 256 // AMD SOG Zen4, 2.11 Floating-Point Unit 261 // (v)FMUL*, (v)FMA*, Floating Point Compares, Blendv(DQ) 274 // Moves and Logical operations on Floating Point Data Types 285 // AMD SOG Zen4, 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 …]
|
| /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 | 425 // 13. Vector Floating-Point Instructions 426 // 13.2. Vector Single-Width Floating-Point Add/Subtract Instructions 429 // 13.3. Vector Widening Floating-Point Add/Subtract Instructions 432 // 13.4. Vector Single-Width Floating-Point Multiply/Divide Instructions 437 // 13.5. Vector Widening Floating-Point Multiply 440 // 13.6. Vector Single-Width Floating-Point Fused Multiply-Add Instructions 443 // 13.7. Vector Widening Floating-Point Fused Multiply-Add Instructions 446 // 13.8. Vector Floating-Point Square-Root Instruction 448 // 13.9. Vector Floating-Point Reciprocal Square-Root Estimate Instruction 449 // 13.10. Vector Floating-Point Reciprocal Estimate Instruction [all …]
|
| H A D | RISCVSchedule.td | 126 def WriteFLI16 : SchedWrite; // Floating point constant load 127 def WriteFLI32 : SchedWrite; // Floating point constant load 128 def WriteFLI64 : SchedWrite; // Floating point constant load 129 def WriteFLI128 : SchedWrite; // Floating point constant load 131 def WriteFLD16 : SchedWrite; // Floating point sp load 132 def WriteFLD32 : SchedWrite; // Floating point sp load 133 def WriteFLD64 : SchedWrite; // Floating point dp load 134 def WriteFLD128 : SchedWrite; // Floating point qp load 135 def WriteFST16 : SchedWrite; // Floating point sp store 136 def WriteFST32 : SchedWrite; // Floating point sp store [all …]
|
| H A D | RISCVFeatures.td | 276 // Floating Point Extensions 279 : RISCVExtension<2, 2, "Single-Precision Floating-Point", 284 "'F' (Single-Precision Floating-Point)">; 287 : RISCVExtension<2, 2, "Double-Precision Floating-Point", 292 "'D' (Double-Precision Floating-Point)">; 295 : RISCVExtension<2, 2, "Quad-Precision Floating-Point", [FeatureStdExtD]>, 299 "'Q' (Quad-Precision Floating-Point)">; 302 : RISCVExtension<1, 0, "Half-Precision Floating-Point Minimal", 307 "'Zfh' (Half-Precision Floating-Point) or " 308 "'Zfhmin' (Half-Precision Floating-Point Minimal)">; [all …]
|
| /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 | AArch64SchedA320.td | 396 // Floating Point Conversions, MAC, DIV, SQRT 1021 // Floating point absolute value/difference 1025 // Floating point arithmetic 1031 // Floating point associative add, F16 1034 // Floating point associative add, F32 1037 // Floating point associative add, F64 1040 // Floating point compare 1046 // Floating point complex add 1049 // Floating point complex multiply add 1053 // 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 | 1958 // Floating point absolute value/difference 1963 // Floating point arithmetic 1971 // Floating point associative add, F16 1974 // Floating point associative add, F32 1977 // Floating point associative add, F64 1980 // Floating point compare 1986 // Floating point complex add 1989 // Floating point complex multiply add 1993 // Floating point convert, long or narrow (F16 to F32 or F32 to F16) 1998 // Floating point convert, long or narrow (F16 to F64, F32 to F64, F64 to F32 [all …]
|
| H A D | AArch64SchedNeoverseN3.td | 1921 // Floating point absolute value/difference 1926 // Floating point arithmetic 1934 // Floating point associative add, F16 1937 // Floating point associative add, F32 1940 // Floating point associative add, F64 1943 // Floating point compare 1948 // Floating point complex add 1951 // Floating point complex multiply add 1955 // Floating point convert, long or narrow (F16 to F32 or F32 to F16) 1960 // Floating point convert, long or narrow (F16 to F64, F32 to F64, F64 to F32 or F64 to F16) [all …]
|
| /freebsd/contrib/llvm-project/clang/include/clang/Basic/ |
| H A D | riscv_vector.td | 995 // 13. Vector Floating-Point Instructions 1015 // 13.2. Vector Single-Width Floating-Point Add/Subtract Instructions 1020 // 13.3. Vector Widening Floating-Point Add/Subtract Instructions 1025 // 13.4. Vector Single-Width Floating-Point Multiply/Divide Instructions 1030 // 13.2. Vector Single-Width Floating-Point Add/Subtract Instructions 1035 // 13.3. Vector Widening Floating-Point Add/Subtract Instructions 1040 // 13.4. Vector Single-Width Floating-Point Multiply/Divide Instructions 1054 // 13.3. Vector Widening Floating-Point Add/Subtract Instructions 1059 // 13.5. Vector Widening Floating-Point Multiply 1070 // 13.3. Vector Widening Floating-Point Add/Subtract Instructions [all …]
|
| H A D | FPOptions.def | 1 //===--- FPOptions.def - Floating Point Options database --------*- C++ -*-===// 9 // This file defines the Floating Point language options. Users of this file
|
| /freebsd/contrib/llvm-project/llvm/include/llvm/Support/ |
| H A D | TargetOpcodes.def | 668 /// Floating point base-e logarithm of a value. 671 /// Floating point base-2 logarithm of a value. 674 /// Floating point base-10 logarithm of a value. 677 /// Floating point x * 2^n 680 /// Floating point extract fraction and exponent. 827 /// Floating point ceil. 830 /// Floating point cosine. 833 /// Floating point sine. 836 /// Floating point combined sine and cosine. 839 /// Floating point tangent. [all …]
|
| /freebsd/contrib/googletest/googlemock/test/ |
| H A D | gmock-matchers-arithmetic_test.cc | 1203 typedef testing::internal::FloatingPoint<RawType> Floating; typedef in testing::gmock_matchers_test::__anon7b5da5310111::FloatingPointTest 1204 typedef typename Floating::Bits Bits; 1207 : max_ulps_(Floating::kMaxUlps), in FloatingPointTest() 1208 zero_bits_(Floating(0).bits()), in FloatingPointTest() 1209 one_bits_(Floating(1).bits()), in FloatingPointTest() 1210 infinity_bits_(Floating(Floating::Infinity()).bits()), in FloatingPointTest() 1212 Floating::ReinterpretBits(zero_bits_ + max_ulps_ / 2)), in FloatingPointTest() 1214 -Floating::ReinterpretBits(zero_bits_ + max_ulps_ - max_ulps_ / 2)), in FloatingPointTest() 1215 further_from_negative_zero_(-Floating::ReinterpretBits( in FloatingPointTest() 1217 close_to_one_(Floating::ReinterpretBits(one_bits_ + max_ulps_)), in FloatingPointTest() [all …]
|