X86AsmParserCommon.h revision 36b56886974eae4f9c5ebc96befd3e7bfe5de338
1//===-- 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
10#ifndef X86_ASM_PARSER_COMMON_H
11#define X86_ASM_PARSER_COMMON_H
12
13namespace llvm {
14
15inline bool isImmSExti16i8Value(uint64_t Value) {
16  return ((                                  Value <= 0x000000000000007FULL)||
17          (0x000000000000FF80ULL <= Value && Value <= 0x000000000000FFFFULL)||
18          (0xFFFFFFFFFFFFFF80ULL <= Value && Value <= 0xFFFFFFFFFFFFFFFFULL));
19}
20
21inline bool isImmSExti32i8Value(uint64_t Value) {
22  return ((                                  Value <= 0x000000000000007FULL)||
23          (0x00000000FFFFFF80ULL <= Value && Value <= 0x00000000FFFFFFFFULL)||
24          (0xFFFFFFFFFFFFFF80ULL <= Value && Value <= 0xFFFFFFFFFFFFFFFFULL));
25}
26
27inline bool isImmZExtu32u8Value(uint64_t Value) {
28    return (Value <= 0x00000000000000FFULL);
29}
30
31inline bool isImmSExti64i8Value(uint64_t Value) {
32  return ((                                  Value <= 0x000000000000007FULL)||
33          (0xFFFFFFFFFFFFFF80ULL <= Value && Value <= 0xFFFFFFFFFFFFFFFFULL));
34}
35
36inline bool isImmSExti64i32Value(uint64_t Value) {
37  return ((                                  Value <= 0x000000007FFFFFFFULL)||
38          (0xFFFFFFFF80000000ULL <= Value && Value <= 0xFFFFFFFFFFFFFFFFULL));
39}
40
41} // End of namespace llvm
42
43#endif // X86_ASM_PARSER_COMMON_H
44