mirror of
https://github.com/RPCSX/llvm.git
synced 2024-11-24 20:29:53 +00:00
x86 uses 5 operands for most memory refs now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83733 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
2eff6e74be
commit
b91227dc6c
@ -1812,24 +1812,27 @@ define fastcc i32 @tailcaller(i32 %in1, i32 %in2) {
|
|||||||
|
|
||||||
<div class="doc_code">
|
<div class="doc_code">
|
||||||
<pre>
|
<pre>
|
||||||
Base + [1,2,4,8] * IndexReg + Disp32
|
SegmentReg: Base + [1,2,4,8] * IndexReg + Disp32
|
||||||
</pre>
|
</pre>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<p>In order to represent this, LLVM tracks no less than 4 operands for each
|
<p>In order to represent this, LLVM tracks no less than 5 operands for each
|
||||||
memory operand of this form. This means that the "load" form of
|
memory operand of this form. This means that the "load" form of
|
||||||
'<tt>mov</tt>' has the following <tt>MachineOperand</tt>s in this order:</p>
|
'<tt>mov</tt>' has the following <tt>MachineOperand</tt>s in this order:</p>
|
||||||
|
|
||||||
<div class="doc_code">
|
<div class="doc_code">
|
||||||
<pre>
|
<pre>
|
||||||
Index: 0 | 1 2 3 4
|
Index: 0 | 1 2 3 4 5
|
||||||
Meaning: DestReg, | BaseReg, Scale, IndexReg, Displacement
|
Meaning: DestReg, | BaseReg, Scale, IndexReg, Displacement Segment
|
||||||
OperandTy: VirtReg, | VirtReg, UnsImm, VirtReg, SignExtImm
|
OperandTy: VirtReg, | VirtReg, UnsImm, VirtReg, SignExtImm PhysReg
|
||||||
</pre>
|
</pre>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<p>Stores, and all other instructions, treat the four memory operands in the
|
<p>Stores, and all other instructions, treat the four memory operands in the
|
||||||
same way and in the same order.</p>
|
same way and in the same order. If the segment register is unspecified
|
||||||
|
(regno = 0), then no segment override is generated. "Lea" operations do not
|
||||||
|
have a segment register specified, so they only have 4 operands for their
|
||||||
|
memory reference.</p>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user