45 lines · c
1//===-- X86AsmParserCommon.h - Common functions for X86AsmParser ---------===//2//3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.4// See https://llvm.org/LICENSE.txt for license information.5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception6//7//===----------------------------------------------------------------------===//8 9#ifndef LLVM_LIB_TARGET_X86_ASMPARSER_X86ASMPARSERCOMMON_H10#define LLVM_LIB_TARGET_X86_ASMPARSER_X86ASMPARSERCOMMON_H11 12#include "llvm/Support/MathExtras.h"13 14namespace llvm {15 16inline bool isImmSExti16i8Value(uint64_t Value) {17 return isInt<8>(Value) ||18 (isUInt<16>(Value) && isInt<8>(static_cast<int16_t>(Value)));19}20 21inline bool isImmSExti32i8Value(uint64_t Value) {22 return isInt<8>(Value) ||23 (isUInt<32>(Value) && isInt<8>(static_cast<int32_t>(Value)));24}25 26inline bool isImmSExti64i8Value(uint64_t Value) {27 return isInt<8>(Value);28}29 30inline bool isImmSExti64i32Value(uint64_t Value) {31 return isInt<32>(Value);32}33 34inline bool isImmUnsignedi8Value(uint64_t Value) {35 return isUInt<8>(Value) || isInt<8>(Value);36}37 38inline bool isImmUnsignedi4Value(uint64_t Value) {39 return isUInt<4>(Value);40}41 42} // End of namespace llvm43 44#endif45