comparison gcc/config/ia64/sync.md @ 63:b7f97abdc517 gcc-4.6-20100522

update gcc from gcc-4.5.0 to gcc-4.6
author ryoma <e075725@ie.u-ryukyu.ac.jp>
date Mon, 24 May 2010 12:47:05 +0900
parents 77e2b8dfacca
children 04ced10e8804
comparison
equal deleted inserted replaced
56:3c8a44c06a95 63:b7f97abdc517
1 ;; GCC machine description for IA-64 synchronization instructions. 1 ;; GCC machine description for IA-64 synchronization instructions.
2 ;; Copyright (C) 2005, 2007, 2008, 2009 2 ;; Copyright (C) 2005, 2007, 2008, 2009, 2010
3 ;; Free Software Foundation, Inc. 3 ;; Free Software Foundation, Inc.
4 ;; 4 ;;
5 ;; This file is part of GCC. 5 ;; This file is part of GCC.
6 ;; 6 ;;
7 ;; GCC is free software; you can redistribute it and/or modify 7 ;; GCC is free software; you can redistribute it and/or modify
133 133
134 dst = operands[0]; 134 dst = operands[0];
135 if (GET_MODE (dst) != DImode) 135 if (GET_MODE (dst) != DImode)
136 dst = gen_reg_rtx (DImode); 136 dst = gen_reg_rtx (DImode);
137 137
138 emit_insn (gen_cmpxchg_rel_<mode> (dst, operands[1], ccv, operands[3]));
138 emit_insn (gen_memory_barrier ()); 139 emit_insn (gen_memory_barrier ());
139 emit_insn (gen_cmpxchg_rel_<mode> (dst, operands[1], ccv, operands[3]));
140 140
141 if (dst != operands[0]) 141 if (dst != operands[0])
142 emit_move_insn (operands[0], gen_lowpart (<MODE>mode, dst)); 142 emit_move_insn (operands[0], gen_lowpart (<MODE>mode, dst));
143 DONE; 143 DONE;
144 }) 144 })