diff --git a/llvm/lib/Target/X86/MCTargetDesc/X86BaseInfo.h b/llvm/lib/Target/X86/MCTargetDesc/X86BaseInfo.h index c0a75e215a40b..8e40157836415 100644 --- a/llvm/lib/Target/X86/MCTargetDesc/X86BaseInfo.h +++ b/llvm/lib/Target/X86/MCTargetDesc/X86BaseInfo.h @@ -1168,33 +1168,34 @@ inline int getMemoryOperandNo(uint64_t TSFlags) { /// \returns true if the register is a XMM. inline bool isXMMReg(unsigned RegNo) { - assert(X86::XMM15 - X86::XMM0 == 15 && - "XMM0-15 registers are not continuous"); - assert(X86::XMM31 - X86::XMM16 == 15 && - "XMM16-31 registers are not continuous"); + static_assert(X86::XMM15 - X86::XMM0 == 15, + "XMM0-15 registers are not continuous"); + static_assert(X86::XMM31 - X86::XMM16 == 15, + "XMM16-31 registers are not continuous"); return (RegNo >= X86::XMM0 && RegNo <= X86::XMM15) || (RegNo >= X86::XMM16 && RegNo <= X86::XMM31); } /// \returns true if the register is a YMM. inline bool isYMMReg(unsigned RegNo) { - assert(X86::YMM15 - X86::YMM0 == 15 && - "YMM0-15 registers are not continuous"); - assert(X86::YMM31 - X86::YMM16 == 15 && - "YMM16-31 registers are not continuous"); + static_assert(X86::YMM15 - X86::YMM0 == 15, + "YMM0-15 registers are not continuous"); + static_assert(X86::YMM31 - X86::YMM16 == 15, + "YMM16-31 registers are not continuous"); return (RegNo >= X86::YMM0 && RegNo <= X86::YMM15) || (RegNo >= X86::YMM16 && RegNo <= X86::YMM31); } /// \returns true if the register is a ZMM. inline bool isZMMReg(unsigned RegNo) { - assert(X86::ZMM31 - X86::ZMM0 == 31 && "ZMM registers are not continuous"); + static_assert(X86::ZMM31 - X86::ZMM0 == 31, + "ZMM registers are not continuous"); return RegNo >= X86::ZMM0 && RegNo <= X86::ZMM31; } /// \returns true if \p RegNo is an apx extended register. inline bool isApxExtendedReg(unsigned RegNo) { - assert(X86::R31WH - X86::R16 == 95 && "EGPRs are not continuous"); + static_assert(X86::R31WH - X86::R16 == 95, "EGPRs are not continuous"); return RegNo >= X86::R16 && RegNo <= X86::R31WH; } diff --git a/llvm/lib/Target/X86/X86RegisterInfo.cpp b/llvm/lib/Target/X86/X86RegisterInfo.cpp index be0cf1596d0d9..555ede9e95403 100644 --- a/llvm/lib/Target/X86/X86RegisterInfo.cpp +++ b/llvm/lib/Target/X86/X86RegisterInfo.cpp @@ -649,10 +649,11 @@ unsigned X86RegisterInfo::getNumSupportedRegs(const MachineFunction &MF) const { // APX registers (R16-R31) // // and try to return the minimum number of registers supported by the target. - assert((X86::R15WH + 1 == X86 ::YMM0) && (X86::YMM15 + 1 == X86::K0) && - (X86::K6_K7 + 1 == X86::TMMCFG) && (X86::TMM7 + 1 == X86::R16) && - (X86::R31WH + 1 == X86::NUM_TARGET_REGS) && - "Register number may be incorrect"); + static_assert((X86::R15WH + 1 == X86::YMM0) && (X86::YMM15 + 1 == X86::K0) && + (X86::K6_K7 + 1 == X86::TMMCFG) && + (X86::TMM7 + 1 == X86::R16) && + (X86::R31WH + 1 == X86::NUM_TARGET_REGS), + "Register number may be incorrect"); const X86Subtarget &ST = MF.getSubtarget(); if (ST.hasEGPR())