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