i386.c (146908) | i386.c (161660) |
---|---|
1/* Subroutines used for code generation on IA-32. 2 Copyright (C) 1988, 1992, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 3 2002, 2003, 2004 Free Software Foundation, Inc. 4 5This file is part of GCC. 6 7GCC is free software; you can redistribute it and/or modify 8it under the terms of the GNU General Public License as published by --- 6 unchanged lines hidden (view full) --- 15GNU General Public License for more details. 16 17You should have received a copy of the GNU General Public License 18along with GCC; see the file COPYING. If not, write to 19the Free Software Foundation, 59 Temple Place - Suite 330, 20Boston, MA 02111-1307, USA. */ 21 22 | 1/* Subroutines used for code generation on IA-32. 2 Copyright (C) 1988, 1992, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 3 2002, 2003, 2004 Free Software Foundation, Inc. 4 5This file is part of GCC. 6 7GCC is free software; you can redistribute it and/or modify 8it under the terms of the GNU General Public License as published by --- 6 unchanged lines hidden (view full) --- 15GNU General Public License for more details. 16 17You should have received a copy of the GNU General Public License 18along with GCC; see the file COPYING. If not, write to 19the Free Software Foundation, 59 Temple Place - Suite 330, 20Boston, MA 02111-1307, USA. */ 21 22 |
23/* $FreeBSD: head/contrib/gcc/config/i386/i386.c 146908 2005-06-03 04:02:20Z kan $ */ | 23/* $FreeBSD: head/contrib/gcc/config/i386/i386.c 161660 2006-08-26 21:37:21Z kan $ */ |
24 25 26#include "config.h" 27#include "system.h" 28#include "coretypes.h" 29#include "tm.h" 30#include "rtl.h" 31#include "tree.h" --- 4866 unchanged lines hidden (view full) --- 4898 xops[2] = gen_rtx_SYMBOL_REF (Pmode, ggc_strdup (name)); 4899 xops[2] = gen_rtx_MEM (QImode, xops[2]); 4900 output_asm_insn ("call\t%X2", xops); 4901 } 4902 4903 if (!flag_pic || TARGET_DEEP_BRANCH_PREDICTION) 4904 output_asm_insn ("add{l}\t{%1, %0|%0, %1}", xops); 4905 else if (!TARGET_MACHO) | 24 25 26#include "config.h" 27#include "system.h" 28#include "coretypes.h" 29#include "tm.h" 30#include "rtl.h" 31#include "tree.h" --- 4866 unchanged lines hidden (view full) --- 4898 xops[2] = gen_rtx_SYMBOL_REF (Pmode, ggc_strdup (name)); 4899 xops[2] = gen_rtx_MEM (QImode, xops[2]); 4900 output_asm_insn ("call\t%X2", xops); 4901 } 4902 4903 if (!flag_pic || TARGET_DEEP_BRANCH_PREDICTION) 4904 output_asm_insn ("add{l}\t{%1, %0|%0, %1}", xops); 4905 else if (!TARGET_MACHO) |
4906 output_asm_insn ("add{l}\t{%1+[.-%a2], %0|%0, %a1+(.-%a2)}", xops); | 4906 output_asm_insn ("add{l}\t{%1+[.-%a2], %0|%0, %1+(.-%a2)}", xops); |
4907 4908 return ""; 4909} 4910 4911/* Generate an "push" pattern for input ARG. */ 4912 4913static rtx 4914gen_push (rtx arg) --- 9041 unchanged lines hidden (view full) --- 13956 rtx pat; 13957 tree arg0 = TREE_VALUE (arglist); 13958 rtx op0 = expand_expr (arg0, NULL_RTX, VOIDmode, 0); 13959 enum machine_mode tmode = insn_data[icode].operand[0].mode; 13960 enum machine_mode mode0 = insn_data[icode].operand[1].mode; 13961 13962 if (! target 13963 || GET_MODE (target) != tmode | 4907 4908 return ""; 4909} 4910 4911/* Generate an "push" pattern for input ARG. */ 4912 4913static rtx 4914gen_push (rtx arg) --- 9041 unchanged lines hidden (view full) --- 13956 rtx pat; 13957 tree arg0 = TREE_VALUE (arglist); 13958 rtx op0 = expand_expr (arg0, NULL_RTX, VOIDmode, 0); 13959 enum machine_mode tmode = insn_data[icode].operand[0].mode; 13960 enum machine_mode mode0 = insn_data[icode].operand[1].mode; 13961 13962 if (! target 13963 || GET_MODE (target) != tmode |
13964 || (do_load && GET_CODE (target) == MEM) |
|
13964 || ! (*insn_data[icode].operand[0].predicate) (target, tmode)) 13965 target = gen_reg_rtx (tmode); 13966 if (do_load) 13967 op0 = gen_rtx_MEM (mode0, copy_to_mode_reg (Pmode, op0)); 13968 else 13969 { 13970 if (VECTOR_MODE_P (mode0)) 13971 op0 = safe_vector_operand (op0, mode0); --- 2127 unchanged lines hidden --- | 13965 || ! (*insn_data[icode].operand[0].predicate) (target, tmode)) 13966 target = gen_reg_rtx (tmode); 13967 if (do_load) 13968 op0 = gen_rtx_MEM (mode0, copy_to_mode_reg (Pmode, op0)); 13969 else 13970 { 13971 if (VECTOR_MODE_P (mode0)) 13972 op0 = safe_vector_operand (op0, mode0); --- 2127 unchanged lines hidden --- |