Home
last modified time | relevance | path

Searched refs:Floating (Results 1 – 25 of 214) sorted by relevance

123456789

/freebsd/contrib/llvm-project/clang/lib/AST/ByteCode/
H A DFloating.h35 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 DFloating.cpp14 llvm::raw_ostream &operator<<(llvm::raw_ostream &OS, Floating F) { in operator <<()
19 Floating getSwappedBytes(Floating F) { return F; } in getSwappedBytes()
H A DInterp.h231 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 DInterpBuiltin.cpp357 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 DInterpState.h146 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 DPrimType.h26 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 DInterpBuiltinBitCast.cpp301 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 DX86Schedule.td218 // 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 DX86ScheduleZnver3.td178 // 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 DX86ScheduleZnver4.td168 // 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 DX86SchedBroadwell.td234 // 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 Dto_chars_floating_point.h481 // 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 DRISCVScheduleV.td425 // 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 DRISCVSchedule.td126 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 DRISCVFeatures.td276 // 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 DP10InstrResources.td13 // 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 DAArch64SchedA510.td374 // 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 DAArch64SchedA320.td396 // 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 DAArch64Schedule.td73 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 DAArch64SchedNeoverseN2.td1958 // 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 DAArch64SchedNeoverseN3.td1921 // 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 Driscv_vector.td995 // 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 DFPOptions.def1 //===--- 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 DTargetOpcodes.def668 /// 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 Dgmock-matchers-arithmetic_test.cc1203 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 …]

123456789