1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-20 03:23:01 +02:00

Allow XMM2 and XMM3 to be used for non ABI compliant code.

llvm-svn: 59720
This commit is contained in:
Mon P Wang 2008-11-20 07:48:19 +00:00
parent 939e13da58
commit 76b86c996e

View File

@ -28,10 +28,11 @@ def RetCC_X86Common : CallingConv<[
CCIfType<[i32], CCAssignToReg<[EAX, EDX]>>, CCIfType<[i32], CCAssignToReg<[EAX, EDX]>>,
CCIfType<[i64], CCAssignToReg<[RAX, RDX]>>, CCIfType<[i64], CCAssignToReg<[RAX, RDX]>>,
// Vector types are returned in XMM0 and XMM1, when they fit. If the target // Vector types are returned in XMM0 and XMM1, when they fit. XMMM2 and XMM3
// doesn't have XMM registers, it won't have vector types. // can only be used by ABI non-compliant code. If the target doesn't have XMM
// registers, it won't have vector types.
CCIfType<[v16i8, v8i16, v4i32, v2i64, v4f32, v2f64], CCIfType<[v16i8, v8i16, v4i32, v2i64, v4f32, v2f64],
CCAssignToReg<[XMM0,XMM1]>>, CCAssignToReg<[XMM0,XMM1,XMM2,XMM3]>>,
// MMX vector types are always returned in MM0. If the target doesn't have // MMX vector types are always returned in MM0. If the target doesn't have
// MM0, it doesn't support these vector types. // MM0, it doesn't support these vector types.