|
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 |
{ |