Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(93)

Side by Side Diff: lib/Target/X86/X86InstrInfo.td

Issue 3661004: x86-64 va_arg (Closed) Base URL: http://llvm.org/svn/llvm-project/llvm/trunk/
Patch Set: long double doesn't work how I thought Created 10 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « lib/Target/X86/X86InstrCompiler.td ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 //===- X86InstrInfo.td - Main X86 Instruction Definition ---*- tablegen -*-===// 1 //===- X86InstrInfo.td - Main X86 Instruction Definition ---*- tablegen -*-===//
2 // 2 //
3 // The LLVM Compiler Infrastructure 3 // The LLVM Compiler Infrastructure
4 // 4 //
5 // This file is distributed under the University of Illinois Open Source 5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details. 6 // License. See LICENSE.TXT for details.
7 // 7 //
8 //===----------------------------------------------------------------------===// 8 //===----------------------------------------------------------------------===//
9 // 9 //
10 // This file describes the X86 instruction set, defining the instructions, and 10 // This file describes the X86 instruction set, defining the instructions, and
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
57 def SDT_X86CallSeqStart : SDCallSeqStart<[SDTCisVT<0, i32>]>; 57 def SDT_X86CallSeqStart : SDCallSeqStart<[SDTCisVT<0, i32>]>;
58 def SDT_X86CallSeqEnd : SDCallSeqEnd<[SDTCisVT<0, i32>, 58 def SDT_X86CallSeqEnd : SDCallSeqEnd<[SDTCisVT<0, i32>,
59 SDTCisVT<1, i32>]>; 59 SDTCisVT<1, i32>]>;
60 60
61 def SDT_X86Call : SDTypeProfile<0, -1, [SDTCisVT<0, iPTR>]>; 61 def SDT_X86Call : SDTypeProfile<0, -1, [SDTCisVT<0, iPTR>]>;
62 62
63 def SDT_X86VASTART_SAVE_XMM_REGS : SDTypeProfile<0, -1, [SDTCisVT<0, i8>, 63 def SDT_X86VASTART_SAVE_XMM_REGS : SDTypeProfile<0, -1, [SDTCisVT<0, i8>,
64 SDTCisVT<1, iPTR>, 64 SDTCisVT<1, iPTR>,
65 SDTCisVT<2, iPTR>]>; 65 SDTCisVT<2, iPTR>]>;
66 66
67 def SDT_X86VAARG_64 : SDTypeProfile<1, -1, [SDTCisPtrTy<0>,
68 SDTCisPtrTy<1>,
69 SDTCisVT<2, i32>,
70 SDTCisVT<3, i8>,
71 SDTCisVT<4, i32>]>;
72
67 def SDTX86RepStr : SDTypeProfile<0, 1, [SDTCisVT<0, OtherVT>]>; 73 def SDTX86RepStr : SDTypeProfile<0, 1, [SDTCisVT<0, OtherVT>]>;
68 74
69 def SDTX86Void : SDTypeProfile<0, 0, []>; 75 def SDTX86Void : SDTypeProfile<0, 0, []>;
70 76
71 def SDTX86Wrapper : SDTypeProfile<1, 1, [SDTCisSameAs<0, 1>, SDTCisPtrTy<0>]>; 77 def SDTX86Wrapper : SDTypeProfile<1, 1, [SDTCisSameAs<0, 1>, SDTCisPtrTy<0>]>;
72 78
73 def SDT_X86TLSADDR : SDTypeProfile<0, 1, [SDTCisInt<0>]>; 79 def SDT_X86TLSADDR : SDTypeProfile<0, 1, [SDTCisInt<0>]>;
74 80
75 def SDT_X86TLSCALL : SDTypeProfile<0, 1, [SDTCisPtrTy<0>]>; 81 def SDT_X86TLSCALL : SDTypeProfile<0, 1, [SDTCisPtrTy<0>]>;
76 82
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
134 def X86AtomSwap64 : SDNode<"X86ISD::ATOMSWAP64_DAG", SDTX86atomicBinary, 140 def X86AtomSwap64 : SDNode<"X86ISD::ATOMSWAP64_DAG", SDTX86atomicBinary,
135 [SDNPHasChain, SDNPMayStore, 141 [SDNPHasChain, SDNPMayStore,
136 SDNPMayLoad, SDNPMemOperand]>; 142 SDNPMayLoad, SDNPMemOperand]>;
137 def X86retflag : SDNode<"X86ISD::RET_FLAG", SDTX86Ret, 143 def X86retflag : SDNode<"X86ISD::RET_FLAG", SDTX86Ret,
138 [SDNPHasChain, SDNPOptInFlag, SDNPVariadic]>; 144 [SDNPHasChain, SDNPOptInFlag, SDNPVariadic]>;
139 145
140 def X86vastart_save_xmm_regs : 146 def X86vastart_save_xmm_regs :
141 SDNode<"X86ISD::VASTART_SAVE_XMM_REGS", 147 SDNode<"X86ISD::VASTART_SAVE_XMM_REGS",
142 SDT_X86VASTART_SAVE_XMM_REGS, 148 SDT_X86VASTART_SAVE_XMM_REGS,
143 [SDNPHasChain, SDNPVariadic]>; 149 [SDNPHasChain, SDNPVariadic]>;
144 150 def X86vaarg64 :
151 SDNode<"X86ISD::VAARG_64", SDT_X86VAARG_64,
152 [SDNPHasChain, SDNPMayLoad, SDNPMayStore,
153 SDNPMemOperand]>;
145 def X86callseq_start : 154 def X86callseq_start :
146 SDNode<"ISD::CALLSEQ_START", SDT_X86CallSeqStart, 155 SDNode<"ISD::CALLSEQ_START", SDT_X86CallSeqStart,
147 [SDNPHasChain, SDNPOutFlag]>; 156 [SDNPHasChain, SDNPOutFlag]>;
148 def X86callseq_end : 157 def X86callseq_end :
149 SDNode<"ISD::CALLSEQ_END", SDT_X86CallSeqEnd, 158 SDNode<"ISD::CALLSEQ_END", SDT_X86CallSeqEnd,
150 [SDNPHasChain, SDNPOptInFlag, SDNPOutFlag]>; 159 [SDNPHasChain, SDNPOptInFlag, SDNPOutFlag]>;
151 160
152 def X86call : SDNode<"X86ISD::CALL", SDT_X86Call, 161 def X86call : SDNode<"X86ISD::CALL", SDT_X86Call,
153 [SDNPHasChain, SDNPOutFlag, SDNPOptInFlag, 162 [SDNPHasChain, SDNPOutFlag, SDNPOptInFlag,
154 SDNPVariadic]>; 163 SDNPVariadic]>;
(...skipping 1068 matching lines...) Expand 10 before | Expand all | Expand 10 after
1223 include "X86Instr3DNow.td" 1232 include "X86Instr3DNow.td"
1224 1233
1225 include "X86InstrVMX.td" 1234 include "X86InstrVMX.td"
1226 1235
1227 // System instructions. 1236 // System instructions.
1228 include "X86InstrSystem.td" 1237 include "X86InstrSystem.td"
1229 1238
1230 // Compiler Pseudo Instructions and Pat Patterns 1239 // Compiler Pseudo Instructions and Pat Patterns
1231 include "X86InstrCompiler.td" 1240 include "X86InstrCompiler.td"
1232 1241
OLDNEW
« no previous file with comments | « lib/Target/X86/X86InstrCompiler.td ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698