diff options
author | Bill Wendling <isanbard@gmail.com> | 2007-03-31 01:03:53 +0000 |
---|---|---|
committer | Bill Wendling <isanbard@gmail.com> | 2007-03-31 01:03:53 +0000 |
commit | db5c99312152b501203c042af1b6b80851f25fe7 (patch) | |
tree | 7d7e31e33018e97a1df02835617012e6676fa17b | |
parent | 31442f9dc5512b6a29cdb332b12ae09a1c9e8176 (diff) |
Match GCC's MMX calling convention.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35523 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/Target/X86/X86CallingConv.td | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/Target/X86/X86CallingConv.td b/lib/Target/X86/X86CallingConv.td index d9a63c4ecd..ea01d1ead1 100644 --- a/lib/Target/X86/X86CallingConv.td +++ b/lib/Target/X86/X86CallingConv.td @@ -101,6 +101,10 @@ def CC_X86_64_C : CallingConv<[ CCIfType<[f32, f64, v16i8, v8i16, v4i32, v2i64, v4f32, v2f64], CCAssignToReg<[XMM0, XMM1, XMM2, XMM3, XMM4, XMM5, XMM6, XMM7]>>, + // The first 8 MMX vector arguments are passed in MMX registers. + CCIfType<[v8i8, v4i16, v2i32, v1i64], + CCAssignToReg<[RDI, RSI, RDX, RCX, R8 , R9 ]>>, + // Integer/FP values get stored in stack slots that are 8 bytes in size and // 8-byte aligned if there are no more registers to hold them. CCIfType<[i32, i64, f32, f64], CCAssignToStack<8, 8>>, |