llvm/llvm/lib/Target/Lanai/LanaiAluCode.h

//===-- LanaiAluCode.h - ALU operator encoding ----------------------------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//
//
// The encoding for ALU operators used in RM and RRM operands
//
//===----------------------------------------------------------------------===//

#ifndef LLVM_LIB_TARGET_LANAI_LANAIALUCODE_H
#define LLVM_LIB_TARGET_LANAI_LANAIALUCODE_H

#include "llvm/ADT/StringSwitch.h"
#include "llvm/Support/ErrorHandling.h"

namespace llvm {
namespace LPAC {
enum AluCode {};

// Bits indicating post- and pre-operators should be tested and set using Is*
// and Make* utility functions
const int Lanai_PRE_OP =;
const int Lanai_POST_OP =;

inline static unsigned encodeLanaiAluCode(unsigned AluOp) {}

inline static unsigned getAluOp(unsigned AluOp) {}

inline static bool isPreOp(unsigned AluOp) {}

inline static bool isPostOp(unsigned AluOp) {}

inline static unsigned makePreOp(unsigned AluOp) {}

inline static unsigned makePostOp(unsigned AluOp) {}

inline static bool modifiesOp(unsigned AluOp) {}

inline static const char *lanaiAluCodeToString(unsigned AluOp) {}

inline static AluCode stringToLanaiAluCode(StringRef S) {}
} // namespace LPAC
} // namespace llvm

#endif // LLVM_LIB_TARGET_LANAI_LANAIALUCODE_H