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-exception 6 // 7 //===----------------------------------------------------------------------===// 8 9 #ifndef LLVM_LIB_TARGET_X86_ASMPARSER_X86ASMPARSERCOMMON_H 10 #define LLVM_LIB_TARGET_X86_ASMPARSER_X86ASMPARSERCOMMON_H 11 12 #include "llvm/Support/MathExtras.h" 13 14 namespace llvm { 15 16 inline bool isImmSExti16i8Value(uint64_t Value) { 17 return isInt<8>(Value) || 18 (isUInt<16>(Value) && isInt<8>(static_cast<int16_t>(Value))); 19 } 20 21 inline bool isImmSExti32i8Value(uint64_t Value) { 22 return isInt<8>(Value) || 23 (isUInt<32>(Value) && isInt<8>(static_cast<int32_t>(Value))); 24 } 25 26 inline bool isImmSExti64i8Value(uint64_t Value) { 27 return isInt<8>(Value); 28 } 29 30 inline bool isImmSExti64i32Value(uint64_t Value) { 31 return isInt<32>(Value); 32 } 33 34 inline bool isImmUnsignedi8Value(uint64_t Value) { 35 return isUInt<8>(Value) || isInt<8>(Value); 36 } 37 38 inline bool isImmUnsignedi4Value(uint64_t Value) { 39 return isUInt<4>(Value); 40 } 41 42 } // End of namespace llvm 43 44 #endif 45