1 //===- ZPUInstrInfo.td - ZPU Register defs ---------------*- tablegen -*-===//
3 // The LLVM Compiler Infrastructure
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
10 //===----------------------------------------------------------------------===//
11 // Instruction format superclass
12 //===----------------------------------------------------------------------===//
14 include "ZPUInstrFormats.td"
17 def memdst : Operand<i32> {
18 let PrintMethod = "printOperand";
19 let MIOperandInfo = (ops i32imm);
23 def memaddr : Operand<i32> {
24 let PrintMethod = "printOperand";
25 let MIOperandInfo = (ops i32imm);
28 def ZPUWrapper: SDNode<"ZPUISD::Wrapper", SDTIntUnaryOp>;
31 //def addr : ComplexPattern<i32, 1, "SelectAddr", [store], []>;
34 def IM : ZPUIm <(outs CPURegs:$dst), (ins i32imm:$a),
36 [(set CPURegs:$dst, imm:$a)]>;
38 // First operands, in the DAG the addressing modes
39 def ZPUSTORE : ZPUIm <(outs), (ins memdst:$dst, i32imm:$a),
41 [(store imm:$a, tglobaladdr:$dst)]>;