Home | History | Annotate | Line # | Download | only in AArch64
      1 //===- AArch64ExpandImm.h - AArch64 Immediate Expansion ---------*- C++ -*-===//
      2 //
      3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
      4 // See https://llvm.org/LICENSE.txt for license information.
      5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
      6 //
      7 //===----------------------------------------------------------------------===//
      8 //
      9 // This file contains the AArch64 immediate expansion stuff.
     10 //
     11 //===----------------------------------------------------------------------===//
     12 
     13 #ifndef LLVM_LIB_TARGET_AARCH64_MCTARGETDESC_AARCH64EXPANDIMM_H
     14 #define LLVM_LIB_TARGET_AARCH64_MCTARGETDESC_AARCH64EXPANDIMM_H
     15 
     16 #include "llvm/ADT/SmallVector.h"
     17 
     18 namespace llvm {
     19 
     20 namespace AArch64_IMM {
     21 
     22 struct ImmInsnModel {
     23   unsigned Opcode;
     24   uint64_t Op1;
     25   uint64_t Op2;
     26 };
     27 
     28 void expandMOVImm(uint64_t Imm, unsigned BitSize,
     29 		  SmallVectorImpl<ImmInsnModel> &Insn);
     30 
     31 } // end namespace AArch64_IMM
     32 
     33 } // end namespace llvm
     34 
     35 #endif
     36