Lines 4956-4974
Link Here
|
4956 |
cum->nregs = ix86_regparm; |
4956 |
cum->nregs = ix86_regparm; |
4957 |
if (TARGET_64BIT) |
4957 |
if (TARGET_64BIT) |
4958 |
{ |
4958 |
{ |
4959 |
if (cum->call_abi != ix86_abi) |
4959 |
cum->nregs = (cum->call_abi == SYSV_ABI |
4960 |
cum->nregs = (ix86_abi != SYSV_ABI |
4960 |
? X86_64_REGPARM_MAX |
4961 |
? X86_64_REGPARM_MAX : X86_64_MS_REGPARM_MAX); |
4961 |
: X86_64_MS_REGPARM_MAX); |
4962 |
} |
4962 |
} |
4963 |
if (TARGET_SSE) |
4963 |
if (TARGET_SSE) |
4964 |
{ |
4964 |
{ |
4965 |
cum->sse_nregs = SSE_REGPARM_MAX; |
4965 |
cum->sse_nregs = SSE_REGPARM_MAX; |
4966 |
if (TARGET_64BIT) |
4966 |
if (TARGET_64BIT) |
4967 |
{ |
4967 |
{ |
4968 |
if (cum->call_abi != ix86_abi) |
4968 |
cum->sse_nregs = (cum->call_abi == SYSV_ABI |
4969 |
cum->sse_nregs = (ix86_abi != SYSV_ABI |
4969 |
? X86_64_SSE_REGPARM_MAX |
4970 |
? X86_64_SSE_REGPARM_MAX |
4970 |
: X86_64_MS_SSE_REGPARM_MAX); |
4971 |
: X86_64_MS_SSE_REGPARM_MAX); |
|
|
4972 |
} |
4971 |
} |
4973 |
} |
4972 |
} |
4974 |
if (TARGET_MMX) |
4973 |
if (TARGET_MMX) |
Lines 6086-6096
Link Here
|
6086 |
if (mode == VOIDmode) |
6085 |
if (mode == VOIDmode) |
6087 |
return GEN_INT (cum->maybe_vaarg |
6086 |
return GEN_INT (cum->maybe_vaarg |
6088 |
? (cum->sse_nregs < 0 |
6087 |
? (cum->sse_nregs < 0 |
6089 |
? (cum->call_abi == ix86_abi |
6088 |
? X86_64_SSE_REGPARM_MAX |
6090 |
? SSE_REGPARM_MAX |
|
|
6091 |
: (ix86_abi != SYSV_ABI |
6092 |
? X86_64_SSE_REGPARM_MAX |
6093 |
: X86_64_MS_SSE_REGPARM_MAX)) |
6094 |
: cum->sse_regno) |
6089 |
: cum->sse_regno) |
6095 |
: -1); |
6090 |
: -1); |
6096 |
|
6091 |
|
Lines 6794-6805
Link Here
|
6794 |
rtx nsse_reg; |
6789 |
rtx nsse_reg; |
6795 |
alias_set_type set; |
6790 |
alias_set_type set; |
6796 |
int i; |
6791 |
int i; |
6797 |
int regparm = ix86_regparm; |
|
|
6798 |
|
6792 |
|
6799 |
if (cum->call_abi != ix86_abi) |
|
|
6800 |
regparm = (ix86_abi != SYSV_ABI |
6801 |
? X86_64_REGPARM_MAX : X86_64_MS_REGPARM_MAX); |
6802 |
|
6803 |
/* GPR size of varargs save area. */ |
6793 |
/* GPR size of varargs save area. */ |
6804 |
if (cfun->va_list_gpr_size) |
6794 |
if (cfun->va_list_gpr_size) |
6805 |
ix86_varargs_gpr_size = X86_64_REGPARM_MAX * UNITS_PER_WORD; |
6795 |
ix86_varargs_gpr_size = X86_64_REGPARM_MAX * UNITS_PER_WORD; |
Lines 6820-6826
Link Here
|
6820 |
set = get_varargs_alias_set (); |
6810 |
set = get_varargs_alias_set (); |
6821 |
|
6811 |
|
6822 |
for (i = cum->regno; |
6812 |
for (i = cum->regno; |
6823 |
i < regparm |
6813 |
i < X86_64_REGPARM_MAX |
6824 |
&& i < cum->regno + cfun->va_list_gpr_size / UNITS_PER_WORD; |
6814 |
&& i < cum->regno + cfun->va_list_gpr_size / UNITS_PER_WORD; |
6825 |
i++) |
6815 |
i++) |
6826 |
{ |
6816 |
{ |