mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-15 20:29:48 +00:00
2c4b1c4853
X86Operand is extracted into individual header, because it allows to create an arbitrary memory operand and append it to MCInst. It'll be reused in X86 inline assembly instrumentation. Patch by Yuri Gorshenin. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@202496 91177308-0d34-0410-b5e6-96231b3b80d8
44 lines
1.5 KiB
C++
44 lines
1.5 KiB
C++
//===-- X86AsmParserCommon.h - Common functions for X86AsmParser ---------===//
|
|
//
|
|
// The LLVM Compiler Infrastructure
|
|
//
|
|
// This file is distributed under the University of Illinois Open Source
|
|
// License. See LICENSE.TXT for details.
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
#ifndef X86_ASM_PARSER_COMMON_H
|
|
#define X86_ASM_PARSER_COMMON_H
|
|
|
|
namespace llvm {
|
|
|
|
inline bool isImmSExti16i8Value(uint64_t Value) {
|
|
return (( Value <= 0x000000000000007FULL)||
|
|
(0x000000000000FF80ULL <= Value && Value <= 0x000000000000FFFFULL)||
|
|
(0xFFFFFFFFFFFFFF80ULL <= Value && Value <= 0xFFFFFFFFFFFFFFFFULL));
|
|
}
|
|
|
|
inline bool isImmSExti32i8Value(uint64_t Value) {
|
|
return (( Value <= 0x000000000000007FULL)||
|
|
(0x00000000FFFFFF80ULL <= Value && Value <= 0x00000000FFFFFFFFULL)||
|
|
(0xFFFFFFFFFFFFFF80ULL <= Value && Value <= 0xFFFFFFFFFFFFFFFFULL));
|
|
}
|
|
|
|
inline bool isImmZExtu32u8Value(uint64_t Value) {
|
|
return (Value <= 0x00000000000000FFULL);
|
|
}
|
|
|
|
inline bool isImmSExti64i8Value(uint64_t Value) {
|
|
return (( Value <= 0x000000000000007FULL)||
|
|
(0xFFFFFFFFFFFFFF80ULL <= Value && Value <= 0xFFFFFFFFFFFFFFFFULL));
|
|
}
|
|
|
|
inline bool isImmSExti64i32Value(uint64_t Value) {
|
|
return (( Value <= 0x000000007FFFFFFFULL)||
|
|
(0xFFFFFFFF80000000ULL <= Value && Value <= 0xFFFFFFFFFFFFFFFFULL));
|
|
}
|
|
|
|
} // End of namespace llvm
|
|
|
|
#endif // X86_ASM_PARSER_COMMON_H
|