blob: c45a3f14ef116c9618388d602efbff01fd4351ad [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
Benjamin Kramer391be792016-01-27 19:29:56 +000013#include "llvm/Support/MathExtras.h"
14
Evgeniy Stepanove3804d42014-02-28 12:28:07 +000015namespace llvm {
16
17inline bool isImmSExti16i8Value(uint64_t Value) {
Craig Toppera7163072015-10-11 16:38:14 +000018 return isInt<8>(Value) ||
19 (isUInt<16>(Value) && isInt<8>(static_cast<int16_t>(Value)));
Evgeniy Stepanove3804d42014-02-28 12:28:07 +000020}
21
22inline bool isImmSExti32i8Value(uint64_t Value) {
Craig Toppera7163072015-10-11 16:38:14 +000023 return isInt<8>(Value) ||
24 (isUInt<32>(Value) && isInt<8>(static_cast<int32_t>(Value)));
Evgeniy Stepanove3804d42014-02-28 12:28:07 +000025}
26
Evgeniy Stepanove3804d42014-02-28 12:28:07 +000027inline bool isImmSExti64i8Value(uint64_t Value) {
Craig Toppera7163072015-10-11 16:38:14 +000028 return isInt<8>(Value);
Evgeniy Stepanove3804d42014-02-28 12:28:07 +000029}
30
31inline bool isImmSExti64i32Value(uint64_t Value) {
Craig Toppera7163072015-10-11 16:38:14 +000032 return isInt<32>(Value);
Evgeniy Stepanove3804d42014-02-28 12:28:07 +000033}
34
Craig Topperf38dea12015-01-21 06:07:53 +000035inline bool isImmUnsignedi8Value(uint64_t Value) {
Craig Toppera7163072015-10-11 16:38:14 +000036 return isUInt<8>(Value) || isInt<8>(Value);
Craig Topperf38dea12015-01-21 06:07:53 +000037}
38
Evgeniy Stepanove3804d42014-02-28 12:28:07 +000039} // End of namespace llvm
40
Benjamin Kramera7c40ef2014-08-13 16:26:38 +000041#endif