diff options
| author | Richard-Qin-X <richard.qin.001@gmail.com> | 2026-08-28 23:59:37 +0800 |
|---|---|---|
| committer | Richard-Qin-X <richard.qin.001@gmail.com> | 2026-08-28 23:59:37 +0800 |
| commit | 2623df180b9e86512fe69b8f90563fbd8add89c3 (patch) | |
| tree | c4afb7c9500d5c4789dcc0eaa81e2c11c9341aa9 /backend/include | |
| parent | 7ee5d1913c7cfd0261f86b0ff7be6968b8c07d84 (diff) | |
| download | rcc-project-2623df180b9e86512fe69b8f90563fbd8add89c3.tar.gz rcc-project-2623df180b9e86512fe69b8f90563fbd8add89c3.tar.xz | |
[CodeGen] Complete LaneMask bitwise operations
Diffstat (limited to 'backend/include')
| -rw-r--r-- | backend/include/rcc/CodeGen/MachineIRTypes.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/backend/include/rcc/CodeGen/MachineIRTypes.h b/backend/include/rcc/CodeGen/MachineIRTypes.h index 66369e0..abd547e 100644 --- a/backend/include/rcc/CodeGen/MachineIRTypes.h +++ b/backend/include/rcc/CodeGen/MachineIRTypes.h @@ -173,6 +173,20 @@ public: return RawValue; } + [[nodiscard]] constexpr LaneMask operator~() const noexcept { + return LaneMask(~RawValue); + } + + constexpr LaneMask &operator|=(LaneMask Other) noexcept { + RawValue |= Other.RawValue; + return *this; + } + + constexpr LaneMask &operator&=(LaneMask Other) noexcept { + RawValue &= Other.RawValue; + return *this; + } + friend constexpr bool operator==(LaneMask Left, LaneMask Right) noexcept = default; friend constexpr LaneMask operator|(LaneMask Left, LaneMask Right) noexcept { |
