blob: 54538c804a03b849567abdaea3249779fc4aad8a [file] [log] [blame]
Evgeniy Stepanove3804d42014-02-28 12:28:07 +00001//===-- X86AsmParserCommon.h - Common functions for X86AsmParser ---------===//
2//
3// The LLVM Compiler Infrastructure
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9
Benjamin Kramera7c40ef2014-08-13 16:26:38 +000010#ifndef LLVM_LIB_TARGET_X86_ASMPARSER_X86ASMPARSERCOMMON_H
11#define LLVM_LIB_TARGET_X86_ASMPARSER_X86ASMPARSERCOMMON_H
Evgeniy Stepanove3804d42014-02-28 12:28:07 +000012
13namespace llvm {
14
15inline bool isImmSExti16i8Value(uint64_t Value) {
Craig Toppera7163072015-10-11 16:38:14 +000016 return isInt<8>(Value) ||
17 (isUInt<16>(Value) && isInt<8>(static_cast<int16_t>(Value)));
Evgeniy Stepanove3804d42014-02-28 12:28:07 +000018}
19
20inline bool isImmSExti32i8Value(uint64_t Value) {
Craig Toppera7163072015-10-11 16:38:14 +000021 return isInt<8>(Value) ||
22 (isUInt<32>(Value) && isInt<8>(static_cast<int32_t>(Value)));
Evgeniy Stepanove3804d42014-02-28 12:28:07 +000023}
24
Evgeniy Stepanove3804d42014-02-28 12:28:07 +000025inline bool isImmSExti64i8Value(uint64_t Value) {
Craig Toppera7163072015-10-11 16:38:14 +000026 return isInt<8>(Value);
Evgeniy Stepanove3804d42014-02-28 12:28:07 +000027}
28
29inline bool isImmSExti64i32Value(uint64_t Value) {
Craig Toppera7163072015-10-11 16:38:14 +000030 return isInt<32>(Value);
Evgeniy Stepanove3804d42014-02-28 12:28:07 +000031}
32
Craig Topperf38dea12015-01-21 06:07:53 +000033inline bool isImmUnsignedi8Value(uint64_t Value) {
Craig Toppera7163072015-10-11 16:38:14 +000034 return isUInt<8>(Value) || isInt<8>(Value);
Craig Topperf38dea12015-01-21 06:07:53 +000035}
36
Evgeniy Stepanove3804d42014-02-28 12:28:07 +000037} // End of namespace llvm
38
Benjamin Kramera7c40ef2014-08-13 16:26:38 +000039#endif