blob: e1ab251191893763770d7704f6a8c46a2fdc8077 [file] [log] [blame]
Misha Brukman5dfe3a92004-06-21 16:55:25 +00001//===- PowerPCInstrInfo.h - PowerPC Instruction Information -----*- C++ -*-===//
Misha Brukmanb5f662f2005-04-21 23:30:14 +00002//
Misha Brukman5dfe3a92004-06-21 16:55:25 +00003// The LLVM Compiler Infrastructure
4//
5// This file was developed by the LLVM research group and is distributed under
6// the University of Illinois Open Source License. See LICENSE.TXT for details.
Misha Brukmanb5f662f2005-04-21 23:30:14 +00007//
Misha Brukman5dfe3a92004-06-21 16:55:25 +00008//===----------------------------------------------------------------------===//
9//
10// This file contains the PowerPC implementation of the TargetInstrInfo class.
11//
12//===----------------------------------------------------------------------===//
13
Misha Brukman01458812004-08-11 00:11:25 +000014#ifndef POWERPC_INSTRUCTIONINFO_H
15#define POWERPC_INSTRUCTIONINFO_H
Misha Brukman5dfe3a92004-06-21 16:55:25 +000016
Misha Brukman8aebe9f2004-07-27 18:34:11 +000017#include "PowerPC.h"
Misha Brukman8aebe9f2004-07-27 18:34:11 +000018#include "llvm/Target/TargetInstrInfo.h"
Misha Brukman5dfe3a92004-06-21 16:55:25 +000019
20namespace llvm {
Chris Lattner583e32b2004-11-23 20:37:41 +000021 namespace PPCII {
22 enum {
23 VMX = 1 << 0,
24 PPC64 = 1 << 1,
25 };
Misha Brukmanb5f662f2005-04-21 23:30:14 +000026
Chris Lattner583e32b2004-11-23 20:37:41 +000027 enum {
28 None = 0,
29 Gpr = 1,
30 Gpr0 = 2,
31 Simm16 = 3,
32 Zimm16 = 4,
33 PCRelimm24 = 5,
34 Imm24 = 6,
35 Imm5 = 7,
36 PCRelimm14 = 8,
37 Imm14 = 9,
38 Imm2 = 10,
39 Crf = 11,
40 Imm3 = 12,
41 Imm1 = 13,
42 Fpr = 14,
43 Imm4 = 15,
44 Imm8 = 16,
45 Disimm16 = 17,
46 Disimm14 = 18,
47 Spr = 19,
48 Sgr = 20,
49 Imm15 = 21,
50 Vpr = 22
51 };
52 }
Misha Brukman5dfe3a92004-06-21 16:55:25 +000053}
54
55#endif