Mercurial > hg > CbC > CbC_gcc
comparison gcc/config/i386/i386.c @ 112:ab0bcb71f44d
merge gcc 7
author | mir3636 |
---|---|
date | Fri, 10 Nov 2017 19:46:38 +0900 |
parents | 04ced10e8804 1b10fe6932e1 |
children | d34655255c78 |
comparison
equal
deleted
inserted
replaced
111:04ced10e8804 | 112:ab0bcb71f44d |
---|---|
27829 : !call_insn_operand (XEXP (fnaddr, 0), word_mode))) | 27829 : !call_insn_operand (XEXP (fnaddr, 0), word_mode))) |
27830 { | 27830 { |
27831 fnaddr = convert_to_mode (word_mode, XEXP (fnaddr, 0), 1); | 27831 fnaddr = convert_to_mode (word_mode, XEXP (fnaddr, 0), 1); |
27832 fnaddr = gen_rtx_MEM (QImode, copy_to_mode_reg (word_mode, fnaddr)); | 27832 fnaddr = gen_rtx_MEM (QImode, copy_to_mode_reg (word_mode, fnaddr)); |
27833 } | 27833 } |
27834 | |
27835 #ifndef noCbC | |
27836 if (pop | |
27837 && sibcall | |
27838 && !( GET_CODE (fnaddr) == MEM | |
27839 && GET_CODE (XEXP (fnaddr, 0)) == SYMBOL_REF) ) | |
27840 { | |
27841 rtx eax = gen_rtx_REG (Pmode, AX_REG); | |
27842 eax = copy_to_suggested_reg (XEXP (fnaddr, 0), eax, Pmode); | |
27843 fnaddr = gen_rtx_MEM (QImode, eax); | |
27844 } | |
27845 #endif | |
27834 | 27846 |
27835 call = gen_rtx_CALL (VOIDmode, fnaddr, callarg1); | 27847 call = gen_rtx_CALL (VOIDmode, fnaddr, callarg1); |
27836 | 27848 |
27837 if (retval) | 27849 if (retval) |
27838 { | 27850 { |