LLVM: include/llvm/MC/LaneBitmask.h Source File (original) (raw)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29#ifndef LLVM_MC_LANEBITMASK_H
30#define LLVM_MC_LANEBITMASK_H
31
37
38namespace llvm {
39
41
44 constexpr static const char *const FormatStr = "%016llX";
45
48
49 constexpr bool operator== (LaneBitmask M) const { return Mask == M.Mask; }
52 constexpr bool none() const { return Mask == 0; }
53 constexpr bool any() const { return Mask != 0; }
54 constexpr bool all() const { return ~Mask == 0; }
55
58 }
61 }
64 }
66 Mask |= M.Mask;
67 return *this;
68 }
70 Mask &= M.Mask;
71 return *this;
72 }
73
75
79 }
80
85 }
86
87 private:
88 Type Mask = 0;
89 };
90
91
95 });
96 }
97
98}
99
100#endif
Simple wrapper around std::function<void(raw_ostream&)>.
The instances of the Type class are immutable: once they are created, they are never changed.
This class implements an extremely fast bulk output stream that can only output to a stream.
This is an optimization pass for GlobalISel generic memory operations.
int popcount(T Value) noexcept
Count the number of set bits in a value.
Printable PrintLaneMask(LaneBitmask LaneMask)
Create Printable object to print LaneBitmasks on a raw_ostream.
unsigned Log2_64(uint64_t Value)
Return the floor log base 2 of the specified value, -1 if the value is zero.
format_object< Ts... > format(const char *Fmt, const Ts &... Vals)
These are helper functions used to produce formatted output.
LaneBitmask & operator&=(LaneBitmask M)
constexpr bool operator!=(LaneBitmask M) const
constexpr LaneBitmask(Type V)
constexpr LaneBitmask operator|(LaneBitmask M) const
constexpr LaneBitmask()=default
static constexpr LaneBitmask getLane(unsigned Lane)
LaneBitmask & operator|=(LaneBitmask M)
static constexpr LaneBitmask getAll()
constexpr bool operator<(LaneBitmask M) const
constexpr bool none() const
constexpr bool any() const
constexpr bool all() const
static constexpr LaneBitmask getNone()
constexpr LaneBitmask operator~() const
unsigned getNumLanes() const
constexpr LaneBitmask operator&(LaneBitmask M) const
static constexpr const char *const FormatStr
constexpr Type getAsInteger() const
unsigned getHighestLane() const