136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines//===-- X86AsmParserCommon.h - Common functions for X86AsmParser ---------===//
236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines//
336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines//                     The LLVM Compiler Infrastructure
436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines//
536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines// This file is distributed under the University of Illinois Open Source
636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines// License. See LICENSE.TXT for details.
736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines//
836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines//===----------------------------------------------------------------------===//
936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines
1036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines#ifndef X86_ASM_PARSER_COMMON_H
1136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines#define X86_ASM_PARSER_COMMON_H
1236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines
1336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hinesnamespace llvm {
1436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines
1536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hinesinline bool isImmSExti16i8Value(uint64_t Value) {
1636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines  return ((                                  Value <= 0x000000000000007FULL)||
1736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines          (0x000000000000FF80ULL <= Value && Value <= 0x000000000000FFFFULL)||
1836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines          (0xFFFFFFFFFFFFFF80ULL <= Value && Value <= 0xFFFFFFFFFFFFFFFFULL));
1936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines}
2036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines
2136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hinesinline bool isImmSExti32i8Value(uint64_t Value) {
2236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines  return ((                                  Value <= 0x000000000000007FULL)||
2336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines          (0x00000000FFFFFF80ULL <= Value && Value <= 0x00000000FFFFFFFFULL)||
2436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines          (0xFFFFFFFFFFFFFF80ULL <= Value && Value <= 0xFFFFFFFFFFFFFFFFULL));
2536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines}
2636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines
2736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hinesinline bool isImmZExtu32u8Value(uint64_t Value) {
2836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines    return (Value <= 0x00000000000000FFULL);
2936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines}
3036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines
3136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hinesinline bool isImmSExti64i8Value(uint64_t Value) {
3236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines  return ((                                  Value <= 0x000000000000007FULL)||
3336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines          (0xFFFFFFFFFFFFFF80ULL <= Value && Value <= 0xFFFFFFFFFFFFFFFFULL));
3436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines}
3536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines
3636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hinesinline bool isImmSExti64i32Value(uint64_t Value) {
3736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines  return ((                                  Value <= 0x000000007FFFFFFFULL)||
3836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines          (0xFFFFFFFF80000000ULL <= Value && Value <= 0xFFFFFFFFFFFFFFFFULL));
3936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines}
4036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines
4136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines} // End of namespace llvm
4236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines
4336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines#endif // X86_ASM_PARSER_COMMON_H
44