X86AsmParserCommon.h revision 360784
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
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 llvm
43
44#endif
45