llvm/test/Object/ar-error.test: Don't check the message "No such file or directory".
[oota-llvm.git] / lib / Target / AArch64 / AArch64Schedule.td
1 //===- AArch64Schedule.td - AArch64 Scheduling Definitions -*- tablegen -*-===//
2 //
3 //                     The LLVM Compiler Infrastructure
4 //
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
7 //
8 //===----------------------------------------------------------------------===//
9
10 //===----------------------------------------------------------------------===//
11 // Generic processor itineraries for legacy compatibility.
12
13 def GenericItineraries : ProcessorItineraries<[], [], []>;
14
15
16 //===----------------------------------------------------------------------===//
17 // Base SchedReadWrite types
18
19 // Basic ALU
20 def WriteALU : SchedWrite;  // Generic: may contain shift and/or ALU operation
21 def WriteALUs : SchedWrite; // Shift only with no ALU operation
22 def ReadALU : SchedRead;    // Operand not needed for shifting
23 def ReadALUs : SchedRead;   // Operand needed for shifting
24
25 // Multiply with optional accumulate
26 def WriteMAC : SchedWrite;
27 def ReadMAC : SchedRead;
28
29 // Compares
30 def WriteCMP : SchedWrite;
31 def ReadCMP : SchedRead;
32
33 // Division
34 def WriteDiv : SchedWrite;
35 def ReadDiv : SchedRead;
36
37 // Loads
38 def WriteLd : SchedWrite;
39 def WritePreLd : SchedWrite;
40 def WriteVecLd : SchedWrite;
41 def ReadLd : SchedRead;
42 def ReadPreLd : SchedRead;
43 def ReadVecLd : SchedRead;
44
45 // Stores
46 def WriteSt : SchedWrite;
47 def WriteVecSt : SchedWrite;
48 def ReadSt : SchedRead;
49 def ReadVecSt : SchedRead;
50
51 // Branches
52 def WriteBr : SchedWrite;
53 def WriteBrL : SchedWrite;
54 def ReadBr : SchedRead;
55
56 // Floating Point ALU
57 def WriteFPALU : SchedWrite;
58 def ReadFPALU : SchedRead;
59
60 // Floating Point MAC, Mul, Div, Sqrt
61 //   Most processors will simply send all of these down a dedicated pipe, but
62 //   they're explicitly separated here for flexibility of modeling later. May
63 //   consider consolidating them into a single WriteFPXXXX type in the future.
64 def WriteFPMAC : SchedWrite;
65 def WriteFPMul : SchedWrite;
66 def WriteFPDiv : SchedWrite;
67 def WriteFPSqrt : SchedWrite;
68 def ReadFPMAC : SchedRead;
69 def ReadFPMul : SchedRead;
70 def ReadFPDiv : SchedRead;
71 def ReadFPSqrt : SchedRead;
72
73 // Noop
74 def WriteNoop : SchedWrite;
75
76
77 //===----------------------------------------------------------------------===//
78 // Subtarget specific Machine Models.
79
80 include "AArch64ScheduleA53.td"