i386.h
94.2 KB
-
i386.c (X86_64_VARARGS_SIZE): Removed. · 4aab97f9
* config/i386/i386.c (X86_64_VARARGS_SIZE): Removed. (setup_incoming_varargs_64): Assume cum != NULL. Set/check ix86_varargs_gpr_size and ix86_varargs_fpr_size. Use ix86_varargs_gpr_size instead of X86_64_REGPARM_MAX. Don't set ix86_save_varrargs_registers. (ix86_setup_incoming_varargs): Assume cum != NULL. (ix86_va_start): Check ix86_varargs_gpr_size and ix86_varargs_fpr_size instead of cfun->va_list_gpr_size and cfun->va_list_fpr_size, respectively. Subtract 8*X86_64_REGPARM_MAX from frame pointer if ix86_varargs_gpr_size == 0. (ix86_compute_frame_layout): Updated. * config/i386/i386.h (ix86_save_varrargs_registers): Removed. (ix86_varargs_gpr_size): Define. (ix86_varargs_fpr_size): Likewise. (machine_function): Remove save_varrargs_registers. Add varargs_gpr_size and varargs_fpr_size. * gcc.target/i386/amd64-abi-3.c: New test. * gcc.target/i386/amd64-abi-4.c: Likewise. * gcc.target/i386/amd64-abi-5.c: Likewise. * gcc.target/i386/amd64-abi-6.c: Likewise. Co-Authored-By: Jakub Jelinek <jakub@redhat.com> From-SVN: r139910
H.J. Lu committed