platform/upstream/gcc.git
16 years agotypedef.cc: Rename to .../typedefs.cc.
Paolo Carlini [Thu, 28 Aug 2008 23:58:05 +0000 (23:58 +0000)]
typedef.cc: Rename to .../typedefs.cc.

2008-08-28  Paolo Carlini  <paolo.carlini@oracle.com>

* testsuite/tr1/6_containers/unordered_set/requirements/typedef.cc:
Rename to .../typedefs.cc.
* testsuite/tr1/6_containers/unordered_map/requirements/typedef.cc:
Likewise.
* testsuite/tr1/6_containers/unordered_multiset/requirements/
typedef.cc: Likewise.
* testsuite/tr1/6_containers/unordered_multimap/requirements/
typedef.cc: Likewise.
* testsuite/23_containers/unordered_set/requirements/typedef.cc:
Likewise.
* testsuite/23_containers/unordered_map/requirements/typedef.cc:
Likewise.
* testsuite/23_containers/unordered_multiset/requirements/typedef.cc:
Likewise.
* testsuite/23_containers/unordered_multimap/requirements/typedef.cc:
Likewise.

From-SVN: r139741

16 years agore PR c++/37260 (infinite loop in init)
Paolo Carlini [Thu, 28 Aug 2008 23:37:41 +0000 (23:37 +0000)]
re PR c++/37260 (infinite loop in init)

/cp
2008-08-28  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/37260
* decl.c (reshape_init_r): Check init for error_mark_node.

/testsuite
2008-08-28  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/37260
* g++.dg/parse/crash44.C: New.

From-SVN: r139740

16 years agogtrh-posix.h: Fix uses of _POSIX_TIMEOUTS per the normal Posix rule that a symbolic...
Paolo Carlini [Thu, 28 Aug 2008 22:00:46 +0000 (22:00 +0000)]
gtrh-posix.h: Fix uses of _POSIX_TIMEOUTS per the normal Posix rule that a symbolic constant...

2008-08-28  Paolo Carlini  <paolo.carlini@oracle.com>

* gtrh-posix.h: Fix uses of _POSIX_TIMEOUTS per the normal Posix
rule that a symbolic constant must be defined and >= 0 for the
corresponding facility to be present at compile-time.
* gthr-posix.c: Likewise.

From-SVN: r139739

16 years agomips.h (ISA_HAS_DMUL3): New macro.
Adam Nemet [Thu, 28 Aug 2008 21:58:02 +0000 (21:58 +0000)]
mips.h (ISA_HAS_DMUL3): New macro.

* config/mips/mips.h (ISA_HAS_DMUL3): New macro.
* config/mips/mips.md (D): New mode attribute.
(mulsi3, muldi3): Merge it into ...
(mul<mode>3): ... new template.  Use _mul3 ending for 3-op
patterns.
(muldi3_mul3): New pattern.
(mulsi3_mult3): Rename to mulsi3_mul3.

testsuite/
* gcc.target/mips/octeon-dmul-1.c: New test.
* gcc.target/mips/octeon-dmul-2.c: New test.
* gcc.target/mips/dmult-1.c: New test.

From-SVN: r139738

16 years agoexpmed.c (store_bit_field_1): Be prepared for movstrict expander to fail.
Jan Hubicka [Thu, 28 Aug 2008 20:12:57 +0000 (22:12 +0200)]
expmed.c (store_bit_field_1): Be prepared for movstrict expander to fail.

* expmed.c (store_bit_field_1): Be prepared for movstrict expander to fail.
* predict.c (always_optimize_for_size_p): Rename to ...
(optimize_function_for_size): ... this one; make extern.
(optimize_function_for_speed_p): New.
(optimize_bb_for_size_p, optimize_bb_for_size_p,
optimize_edge_for_size_p,optimize_edge_for_size_p,
optimize_insn_for_size_p, optimize_insn_for_size_p): Update.
* basic-block.h (optimize_function_for_size_p,
optimize_function_for_speed_p): Declare.
* i386.md (optimize_size checks): Replace them by appropriate predicate.
(standard_80387_constant_p, ix86_compute_frame_layout,
ix86_expand_epilogue, ix86_decompose_address,
print_operand, emit_i387_cw_initialization,
inline_memory_move_cost, ix86_pad_returns,
ix86_reorg): Replace optimize_size checks.

From-SVN: r139737

16 years agortl.h (simplify_subreg_regno): Declare.
Richard Sandiford [Thu, 28 Aug 2008 20:02:54 +0000 (20:02 +0000)]
rtl.h (simplify_subreg_regno): Declare.

gcc/
* rtl.h (simplify_subreg_regno): Declare.
* rtlanal.c (simplify_subreg_regno): New function, split out from...
* simplify-rtx.c (simplify_subreg): ...here.
* reload.c (find_reloads): Use simplify_subreg_regno instead of
subreg_offset_representable_p.

From-SVN: r139736

16 years agoAdded file forgotten in commit.
Ulrich Weigand [Thu, 28 Aug 2008 19:40:37 +0000 (19:40 +0000)]
Added file forgotten in commit.

From-SVN: r139731

16 years agovector-1b_main.c: New.
Xuepeng Guo [Thu, 28 Aug 2008 19:36:58 +0000 (19:36 +0000)]
vector-1b_main.c: New.

2008-08-28  Xuepeng Guo  <xuepeng.guo@intel.com>
    Joey Ye  <joey.ye@intel.com>
    H.J. Lu  <hongjiu.lu@intel.com>

* gcc.dg/compat/vector-1b_main.c: New.
* gcc.dg/compat/vector-1b_x.c: Likewise.
* gcc.dg/compat/vector-1b_y.c: Likewise.
* gcc.dg/compat/vector-2b_main.c: Likewise.
* gcc.dg/compat/vector-2b_x.c: Likewise.
* gcc.dg/compat/vector-2b_y.c: Likewise.
* gcc.target/i386/aes-avx-check.h: Likewise.
* gcc.target/i386/avx-1.c: Likewise.
* gcc.target/i386/avx-2.c: Likewise.
* gcc.target/i386/avx-3.c: Likewise.
* gcc.target/i386/avx-check.h: Likewise.
* gcc.target/i386/avx-set1-epi32-1.c: Likewise.
* gcc.target/i386/avx-set1-pd-256-1.c: Likewise.
* gcc.target/i386/avx-set1-ps-256-1.c: Likewise.
* gcc.target/i386/avx-set-v16hi-1.c: Likewise.
* gcc.target/i386/avx-set-v16hi-2.c: Likewise.
* gcc.target/i386/avx-set-v16hi-3.c: Likewise.
* gcc.target/i386/avx-set-v16hi-4.c: Likewise.
* gcc.target/i386/avx-set-v16hi-5.c: Likewise.
* gcc.target/i386/avx-set-v32qi-1.c: Likewise.
* gcc.target/i386/avx-set-v32qi-2.c: Likewise.
* gcc.target/i386/avx-set-v32qi-3.c: Likewise.
* gcc.target/i386/avx-set-v32qi-4.c: Likewise.
* gcc.target/i386/avx-set-v32qi-5.c: Likewise.
* gcc.target/i386/avx-set-v4df-1.c: Likewise.
* gcc.target/i386/avx-set-v4df-2.c: Likewise.
* gcc.target/i386/avx-set-v4df-3.c: Likewise.
* gcc.target/i386/avx-set-v4df-4.c: Likewise.
* gcc.target/i386/avx-set-v4df-5.c: Likewise.
* gcc.target/i386/avx-set-v4di-1.c: Likewise.
* gcc.target/i386/avx-set-v4di-2.c: Likewise.
* gcc.target/i386/avx-set-v4di-3.c: Likewise.
* gcc.target/i386/avx-set-v4di-4.c: Likewise.
* gcc.target/i386/avx-set-v4di-5.c: Likewise.
* gcc.target/i386/avx-set-v8sf-1.c: Likewise.
* gcc.target/i386/avx-set-v8sf-2.c: Likewise.
* gcc.target/i386/avx-set-v8sf-3.c: Likewise.
* gcc.target/i386/avx-set-v8sf-4.c: Likewise.
* gcc.target/i386/avx-set-v8sf-5.c: Likewise.
* gcc.target/i386/avx-set-v8si-1.c: Likewise.
* gcc.target/i386/avx-set-v8si-2.c: Likewise.
* gcc.target/i386/avx-set-v8si-3.c: Likewise.
* gcc.target/i386/avx-set-v8si-4.c: Likewise.
* gcc.target/i386/avx-set-v8si-5.c: Likewise.
* gcc.target/i386/avx-setzero-pd-256-1.c: Likewise.
* gcc.target/i386/avx-setzero-ps-256-1.c: Likewise.
* gcc.target/i386/avx-setzero-si256-1.c: Likewise.
* gcc.target/i386/avx-vaddpd-1.c: Likewise.
* gcc.target/i386/avx-vaddpd-256-1.c: Likewise.
* gcc.target/i386/avx-vaddps-1.c: Likewise.
* gcc.target/i386/avx-vaddps-256-1.c: Likewise.
* gcc.target/i386/avx-vaddsd-1.c: Likewise.
* gcc.target/i386/avx-vaddss-1.c: Likewise.
* gcc.target/i386/avx-vaddsubpd-1.c: Likewise.
* gcc.target/i386/avx-vaddsubpd-256-1.c: Likewise.
* gcc.target/i386/avx-vaddsubps-1.c: Likewise.
* gcc.target/i386/avx-vaddsubps-256-1.c: Likewise.
* gcc.target/i386/avx-vaesdec-1.c: Likewise.
* gcc.target/i386/avx-vaesdeclast-1.c: Likewise.
* gcc.target/i386/avx-vaesenc-1.c: Likewise.
* gcc.target/i386/avx-vaesenclast-1.c: Likewise.
* gcc.target/i386/avx-vaesimc-1.c: Likewise.
* gcc.target/i386/avx-vaeskeygenassist-1.c: Likewise.
* gcc.target/i386/avx-vandnpd-1.c: Likewise.
* gcc.target/i386/avx-vandnpd-256-1.c: Likewise.
* gcc.target/i386/avx-vandnps-1.c: Likewise.
* gcc.target/i386/avx-vandnps-256-1.c: Likewise.
* gcc.target/i386/avx-vandpd-1.c: Likewise.
* gcc.target/i386/avx-vandpd-256-1.c: Likewise.
* gcc.target/i386/avx-vandps-1.c: Likewise.
* gcc.target/i386/avx-vandps-256-1.c: Likewise.
* gcc.target/i386/avx-vblendpd-1.c: Likewise.
* gcc.target/i386/avx-vblendpd-256-1.c: Likewise.
* gcc.target/i386/avx-vblendps-256-1.c: Likewise.
* gcc.target/i386/avx-vblendvpd-256-1.c: Likewise.
* gcc.target/i386/avx-vblendvps-256-1.c: Likewise.
* gcc.target/i386/avx-vbroadcastf128-256-1.c: Likewise.
* gcc.target/i386/avx-vbroadcastf128-256-2.c: Likewise.
* gcc.target/i386/avx-vbroadcastsd-1.c: Likewise.
* gcc.target/i386/avx-vbroadcastss-1.c: Likewise.
* gcc.target/i386/avx-vbroadcastss-2.c: Likewise.
* gcc.target/i386/avx-vcmppd-1.c: Likewise.
* gcc.target/i386/avx-vcmppd-256-1.c: Likewise.
* gcc.target/i386/avx-vcmpps-1.c: Likewise.
* gcc.target/i386/avx-vcmpps-256-1.c: Likewise.
* gcc.target/i386/avx-vcmpsd-1.c: Likewise.
* gcc.target/i386/avx-vcmpss-1.c: Likewise.
* gcc.target/i386/avx-vcomisd-1.c: Likewise.
* gcc.target/i386/avx-vcomisd-2.c: Likewise.
* gcc.target/i386/avx-vcomisd-3.c: Likewise.
* gcc.target/i386/avx-vcomisd-4.c: Likewise.
* gcc.target/i386/avx-vcomisd-5.c: Likewise.
* gcc.target/i386/avx-vcomisd-6.c: Likewise.
* gcc.target/i386/avx-vcomiss-1.c: Likewise.
* gcc.target/i386/avx-vcomiss-2.c: Likewise.
* gcc.target/i386/avx-vcomiss-3.c: Likewise.
* gcc.target/i386/avx-vcomiss-4.c: Likewise.
* gcc.target/i386/avx-vcomiss-5.c: Likewise.
* gcc.target/i386/avx-vcomiss-6.c: Likewise.
* gcc.target/i386/avx-vcvtdq2pd-1.c: Likewise.
* gcc.target/i386/avx-vcvtdq2pd-256-1.c: Likewise.
* gcc.target/i386/avx-vcvtdq2ps-1.c: Likewise.
* gcc.target/i386/avx-vcvtpd2dq-1.c: Likewise.
* gcc.target/i386/avx-vcvtpd2dq-256-1.c: Likewise.
* gcc.target/i386/avx-vcvtpd2ps-1.c: Likewise.
* gcc.target/i386/avx-vcvtpd2ps-256-1.c: Likewise.
* gcc.target/i386/avx-vcvtps2dq-1.c: Likewise.
* gcc.target/i386/avx-vcvtps2dq-256-1.c: Likewise.
* gcc.target/i386/avx-vcvtps2pd-1.c: Likewise.
* gcc.target/i386/avx-vcvtps2pd-256-1.c: Likewise.
* gcc.target/i386/avx-vcvtsd2si-1.c: Likewise.
* gcc.target/i386/avx-vcvtsd2si-2.c: Likewise.
* gcc.target/i386/avx-vcvtsd2ss-1.c: Likewise.
* gcc.target/i386/avx-vcvtsi2sd-1.c: Likewise.
* gcc.target/i386/avx-vcvtsi2sd-2.c: Likewise.
* gcc.target/i386/avx-vcvtsi2ss-1.c: Likewise.
* gcc.target/i386/avx-vcvtsi2ss-2.c: Likewise.
* gcc.target/i386/avx-vcvtss2sd-1.c: Likewise.
* gcc.target/i386/avx-vcvtss2si-1.c: Likewise.
* gcc.target/i386/avx-vcvtss2si-2.c: Likewise.
* gcc.target/i386/avx-vcvttpd2dq-1.c: Likewise.
* gcc.target/i386/avx-vcvttpd2dq-256-1.c: Likewise.
* gcc.target/i386/avx-vcvttps2dq-1.c: Likewise.
* gcc.target/i386/avx-vcvttps2dq-256-1.c: Likewise.
* gcc.target/i386/avx-vcvttsd2si-1.c: Likewise.
* gcc.target/i386/avx-vcvttsd2si-2.c: Likewise.
* gcc.target/i386/avx-vcvttss2si-1.c: Likewise.
* gcc.target/i386/avx-vcvttss2si-2.c: Likewise.
* gcc.target/i386/avx-vdivpd-1.c: Likewise.
* gcc.target/i386/avx-vdivpd-256-1.c: Likewise.
* gcc.target/i386/avx-vdivps-1.c: Likewise.
* gcc.target/i386/avx-vdivps-256-1.c: Likewise.
* gcc.target/i386/avx-vdivsd-1.c: Likewise.
* gcc.target/i386/avx-vdivss-1.c: Likewise.
* gcc.target/i386/avx-vdppd-1.c: Likewise.
* gcc.target/i386/avx-vdppd-2.c: Likewise.
* gcc.target/i386/avx-vdpps-1.c: Likewise.
* gcc.target/i386/avx-vdpps-2.c: Likewise.
* gcc.target/i386/avx-vextractf128-256-1.c: Likewise.
* gcc.target/i386/avx-vextractf128-256-2.c: Likewise.
* gcc.target/i386/avx-vextractps-1.c: Likewise.
* gcc.target/i386/avx-vhaddpd-1.c: Likewise.
* gcc.target/i386/avx-vhaddpd-256-1.c: Likewise.
* gcc.target/i386/avx-vhaddps-1.c: Likewise.
* gcc.target/i386/avx-vhaddps-256-1.c: Likewise.
* gcc.target/i386/avx-vhsubpd-1.c: Likewise.
* gcc.target/i386/avx-vhsubpd-256-1.c: Likewise.
* gcc.target/i386/avx-vhsubps-1.c: Likewise.
* gcc.target/i386/avx-vhsubps-256-1.c: Likewise.
* gcc.target/i386/avx-vinsertf128-256-1.c: Likewise.
* gcc.target/i386/avx-vinsertf128-256-2.c: Likewise.
* gcc.target/i386/avx-vinsertf128-256-3.c: Likewise.
* gcc.target/i386/avx-vinsertps-1.c: Likewise.
* gcc.target/i386/avx-vinsertps-2.c: Likewise.
* gcc.target/i386/avx-vlddqu-1.c: Likewise.
* gcc.target/i386/avx-vlddqu-256-1.c: Likewise.
* gcc.target/i386/avx-vmaskmovpd-256-1.c: Likewise.
* gcc.target/i386/avx-vmaskmovpd-256-2.c: Likewise.
* gcc.target/i386/avx-vmaskmovps-256-1.c: Likewise.
* gcc.target/i386/avx-vmaskmovps-256-2.c: Likewise.
* gcc.target/i386/avx-vmaxpd-1.c: Likewise.
* gcc.target/i386/avx-vmaxpd-256-1.c: Likewise.
* gcc.target/i386/avx-vmaxps-1.c: Likewise.
* gcc.target/i386/avx-vmaxps-256-1.c: Likewise.
* gcc.target/i386/avx-vmaxsd-1.c: Likewise.
* gcc.target/i386/avx-vmaxss-1.c: Likewise.
* gcc.target/i386/avx-vminpd-1.c: Likewise.
* gcc.target/i386/avx-vminpd-256-1.c: Likewise.
* gcc.target/i386/avx-vminps-1.c: Likewise.
* gcc.target/i386/avx-vminps-256-1.c: Likewise.
* gcc.target/i386/avx-vminsd-1.c: Likewise.
* gcc.target/i386/avx-vminss-1.c: Likewise.
* gcc.target/i386/avx-vmovapd-1.c: Likewise.
* gcc.target/i386/avx-vmovapd-256-1.c: Likewise.
* gcc.target/i386/avx-vmovapd-256-2.c: Likewise.
* gcc.target/i386/avx-vmovapd-2.c: Likewise.
* gcc.target/i386/avx-vmovaps-1.c: Likewise.
* gcc.target/i386/avx-vmovaps-256-1.c: Likewise.
* gcc.target/i386/avx-vmovaps-256-2.c: Likewise.
* gcc.target/i386/avx-vmovaps-2.c: Likewise.
* gcc.target/i386/avx-vmovd-1.c: Likewise.
* gcc.target/i386/avx-vmovd-2.c: Likewise.
* gcc.target/i386/avx-vmovddup-1.c: Likewise.
* gcc.target/i386/avx-vmovddup-256-1.c: Likewise.
* gcc.target/i386/avx-vmovdqa-1.c: Likewise.
* gcc.target/i386/avx-vmovdqa-256-1.c: Likewise.
* gcc.target/i386/avx-vmovdqa-256-2.c: Likewise.
* gcc.target/i386/avx-vmovdqa-2.c: Likewise.
* gcc.target/i386/avx-vmovdqu-1.c: Likewise.
* gcc.target/i386/avx-vmovdqu-256-1.c: Likewise.
* gcc.target/i386/avx-vmovdqu-256-2.c: Likewise.
* gcc.target/i386/avx-vmovdqu-2.c: Likewise.
* gcc.target/i386/avx-vmovhlps-1.c: Likewise.
* gcc.target/i386/avx-vmovhpd-1.c: Likewise.
* gcc.target/i386/avx-vmovhpd-2.c: Likewise.
* gcc.target/i386/avx-vmovhps-1.c: Likewise.
* gcc.target/i386/avx-vmovhps-2.c: Likewise.
* gcc.target/i386/avx-vmovlhps-1.c: Likewise.
* gcc.target/i386/avx-vmovlpd-1.c: Likewise.
* gcc.target/i386/avx-vmovlpd-2.c: Likewise.
* gcc.target/i386/avx-vmovmskpd-1.c: Likewise.
* gcc.target/i386/avx-vmovmskpd-256-1.c: Likewise.
* gcc.target/i386/avx-vmovmskps-1.c: Likewise.
* gcc.target/i386/avx-vmovmskps-256-1.c: Likewise.
* gcc.target/i386/avx-vmovntdq-1.c: Likewise.
* gcc.target/i386/avx-vmovntdqa-1.c: Likewise.
* gcc.target/i386/avx-vmovntpd-1.c: Likewise.
* gcc.target/i386/avx-vmovntps-1.c: Likewise.
* gcc.target/i386/avx-vmovq-1.c: Likewise.
* gcc.target/i386/avx-vmovq-2.c: Likewise.
* gcc.target/i386/avx-vmovq-3.c: Likewise.
* gcc.target/i386/avx-vmovsd-1.c: Likewise.
* gcc.target/i386/avx-vmovsd-2.c: Likewise.
* gcc.target/i386/avx-vmovshdup-1.c: Likewise.
* gcc.target/i386/avx-vmovshdup-256-1.c: Likewise.
* gcc.target/i386/avx-vmovsldup-1.c: Likewise.
* gcc.target/i386/avx-vmovsldup-256-1.c: Likewise.
* gcc.target/i386/avx-vmovss-1.c: Likewise.
* gcc.target/i386/avx-vmovss-2.c: Likewise.
* gcc.target/i386/avx-vmovss-3.c: Likewise.
* gcc.target/i386/avx-vmovupd-1.c: Likewise.
* gcc.target/i386/avx-vmovupd-256-1.c: Likewise.
* gcc.target/i386/avx-vmovupd-256-2.c: Likewise.
* gcc.target/i386/avx-vmovupd-2.c: Likewise.
* gcc.target/i386/avx-vmovups-1.c: Likewise.
* gcc.target/i386/avx-vmovups-256-1.c: Likewise.
* gcc.target/i386/avx-vmovups-256-2.c: Likewise.
* gcc.target/i386/avx-vmovups-2.c: Likewise.
* gcc.target/i386/avx-vmpsadbw-1.c: Likewise.
* gcc.target/i386/avx-vmulpd-1.c: Likewise.
* gcc.target/i386/avx-vmulpd-256-1.c: Likewise.
* gcc.target/i386/avx-vmulps-1.c: Likewise.
* gcc.target/i386/avx-vmulps-256-1.c: Likewise.
* gcc.target/i386/avx-vmulsd-1.c: Likewise.
* gcc.target/i386/avx-vmulss-1.c: Likewise.
* gcc.target/i386/avx-vorpd-1.c: Likewise.
* gcc.target/i386/avx-vorpd-256-1.c: Likewise.
* gcc.target/i386/avx-vorps-1.c: Likewise.
* gcc.target/i386/avx-vorps-256-1.c: Likewise.
* gcc.target/i386/avx-vpabsb-1.c: Likewise.
* gcc.target/i386/avx-vpabsd-1.c: Likewise.
* gcc.target/i386/avx-vpabsw-1.c: Likewise.
* gcc.target/i386/avx-vpackssdw-1.c: Likewise.
* gcc.target/i386/avx-vpacksswb-1.c: Likewise.
* gcc.target/i386/avx-vpackusdw-1.c: Likewise.
* gcc.target/i386/avx-vpackuswb-1.c: Likewise.
* gcc.target/i386/avx-vpaddb-1.c: Likewise.
* gcc.target/i386/avx-vpaddd-1.c: Likewise.
* gcc.target/i386/avx-vpaddq-1.c: Likewise.
* gcc.target/i386/avx-vpaddsb-1.c: Likewise.
* gcc.target/i386/avx-vpaddsw-1.c: Likewise.
* gcc.target/i386/avx-vpaddusb-1.c: Likewise.
* gcc.target/i386/avx-vpaddusw-1.c: Likewise.
* gcc.target/i386/avx-vpaddw-1.c: Likewise.
* gcc.target/i386/avx-vpalignr-1.c: Likewise.
* gcc.target/i386/avx-vpand-1.c: Likewise.
* gcc.target/i386/avx-vpandn-1.c: Likewise.
* gcc.target/i386/avx-vpavgb-1.c: Likewise.
* gcc.target/i386/avx-vpavgw-1.c: Likewise.
* gcc.target/i386/avx-vpblendvb-1.c: Likewise.
* gcc.target/i386/avx-vpblendw-1.c: Likewise.
* gcc.target/i386/avx-vpcmpeqb-1.c: Likewise.
* gcc.target/i386/avx-vpcmpeqd-1.c: Likewise.
* gcc.target/i386/avx-vpcmpeqq-1.c: Likewise.
* gcc.target/i386/avx-vpcmpeqw-1.c: Likewise.
* gcc.target/i386/avx-vpcmpestri-1.c: Likewise.
* gcc.target/i386/avx-vpcmpestri-2.c: Likewise.
* gcc.target/i386/avx-vpcmpestrm-1.c: Likewise.
* gcc.target/i386/avx-vpcmpestrm-2.c: Likewise.
* gcc.target/i386/avx-vpcmpgtb-1.c: Likewise.
* gcc.target/i386/avx-vpcmpgtd-1.c: Likewise.
* gcc.target/i386/avx-vpcmpgtq-1.c: Likewise.
* gcc.target/i386/avx-vpcmpgtw-1.c: Likewise.
* gcc.target/i386/avx-vpcmpistri-1.c: Likewise.
* gcc.target/i386/avx-vpcmpistri-2.c: Likewise.
* gcc.target/i386/avx-vpcmpistrm-1.c: Likewise.
* gcc.target/i386/avx-vpcmpistrm-2.c: Likewise.
* gcc.target/i386/avx-vperm2f128-256-1.c: Likewise.
* gcc.target/i386/avx-vperm2f128-256-2.c: Likewise.
* gcc.target/i386/avx-vperm2f128-256-3.c: Likewise.
* gcc.target/i386/avx-vpermil2pd-1.c: Likewise.
* gcc.target/i386/avx-vpermil2pd-256-1.c: Likewise.
* gcc.target/i386/avx-vpermil2ps-1.c: Likewise.
* gcc.target/i386/avx-vpermil2ps-256-1.c: Likewise.
* gcc.target/i386/avx-vpermilpd-1.c: Likewise.
* gcc.target/i386/avx-vpermilpd-256-1.c: Likewise.
* gcc.target/i386/avx-vpermilpd-256-2.c: Likewise.
* gcc.target/i386/avx-vpermilpd-2.c: Likewise.
* gcc.target/i386/avx-vpermilps-1.c: Likewise.
* gcc.target/i386/avx-vpermilps-256-1.c: Likewise.
* gcc.target/i386/avx-vpermilps-256-2.c: Likewise.
* gcc.target/i386/avx-vpermilps-2.c: Likewise.
* gcc.target/i386/avx-vpextrb-1.c: Likewise.
* gcc.target/i386/avx-vpextrd-1.c: Likewise.
* gcc.target/i386/avx-vpextrq-1.c: Likewise.
* gcc.target/i386/avx-vpextrw-1.c: Likewise.
* gcc.target/i386/avx-vphaddd-1.c: Likewise.
* gcc.target/i386/avx-vphaddsw-1.c: Likewise.
* gcc.target/i386/avx-vphaddw-1.c: Likewise.
* gcc.target/i386/avx-vphminposuw-1.c: Likewise.
* gcc.target/i386/avx-vphsubd-1.c: Likewise.
* gcc.target/i386/avx-vphsubsw-1.c: Likewise.
* gcc.target/i386/avx-vphsubw-1.c: Likewise.
* gcc.target/i386/avx-vpinsrb-1.c: Likewise.
* gcc.target/i386/avx-vpinsrd-1.c: Likewise.
* gcc.target/i386/avx-vpinsrq-1.c: Likewise.
* gcc.target/i386/avx-vpmaddubsw-1.c: Likewise.
* gcc.target/i386/avx-vpmaxsb-1.c: Likewise.
* gcc.target/i386/avx-vpmaxsd-1.c: Likewise.
* gcc.target/i386/avx-vpmaxsw-1.c: Likewise.
* gcc.target/i386/avx-vpmaxub-1.c: Likewise.
* gcc.target/i386/avx-vpmaxud-1.c: Likewise.
* gcc.target/i386/avx-vpmaxuw-1.c: Likewise.
* gcc.target/i386/avx-vpminsb-1.c: Likewise.
* gcc.target/i386/avx-vpminsd-1.c: Likewise.
* gcc.target/i386/avx-vpminsw-1.c: Likewise.
* gcc.target/i386/avx-vpminub-1.c: Likewise.
* gcc.target/i386/avx-vpminud-1.c: Likewise.
* gcc.target/i386/avx-vpminuw-1.c: Likewise.
* gcc.target/i386/avx-vpmovmskb-1.c: Likewise.
* gcc.target/i386/avx-vpmovsxbd-1.c: Likewise.
* gcc.target/i386/avx-vpmovsxbq-1.c: Likewise.
* gcc.target/i386/avx-vpmovsxbw-1.c: Likewise.
* gcc.target/i386/avx-vpmovsxdq-1.c: Likewise.
* gcc.target/i386/avx-vpmovsxwd-1.c: Likewise.
* gcc.target/i386/avx-vpmovsxwq-1.c: Likewise.
* gcc.target/i386/avx-vpmovzxbd-1.c: Likewise.
* gcc.target/i386/avx-vpmovzxbq-1.c: Likewise.
* gcc.target/i386/avx-vpmovzxbw-1.c: Likewise.
* gcc.target/i386/avx-vpmovzxdq-1.c: Likewise.
* gcc.target/i386/avx-vpmovzxwd-1.c: Likewise.
* gcc.target/i386/avx-vpmovzxwq-1.c: Likewise.
* gcc.target/i386/avx-vpmuldq-1.c: Likewise.
* gcc.target/i386/avx-vpmulhrsw-1.c: Likewise.
* gcc.target/i386/avx-vpmulhuw-1.c: Likewise.
* gcc.target/i386/avx-vpmulhw-1.c: Likewise.
* gcc.target/i386/avx-vpmulld-1.c: Likewise.
* gcc.target/i386/avx-vpmullw-1.c: Likewise.
* gcc.target/i386/avx-vpmuludq-1.c: Likewise.
* gcc.target/i386/avx-vpor-1.c: Likewise.
* gcc.target/i386/avx-vpsadbw-1.c: Likewise.
* gcc.target/i386/avx-vpshufb-1.c: Likewise.
* gcc.target/i386/avx-vpshufd-1.c: Likewise.
* gcc.target/i386/avx-vpshufhw-1.c: Likewise.
* gcc.target/i386/avx-vpshuflw-1.c: Likewise.
* gcc.target/i386/avx-vpsignb-1.c: Likewise.
* gcc.target/i386/avx-vpsignd-1.c: Likewise.
* gcc.target/i386/avx-vpsignw-1.c: Likewise.
* gcc.target/i386/avx-vpslld-1.c: Likewise.
* gcc.target/i386/avx-vpslld-2.c: Likewise.
* gcc.target/i386/avx-vpslldq-1.c: Likewise.
* gcc.target/i386/avx-vpsllq-1.c: Likewise.
* gcc.target/i386/avx-vpsllq-2.c: Likewise.
* gcc.target/i386/avx-vpsllw-1.c: Likewise.
* gcc.target/i386/avx-vpsllw-2.c: Likewise.
* gcc.target/i386/avx-vpsrad-1.c: Likewise.
* gcc.target/i386/avx-vpsrad-2.c: Likewise.
* gcc.target/i386/avx-vpsraw-1.c: Likewise.
* gcc.target/i386/avx-vpsraw-2.c: Likewise.
* gcc.target/i386/avx-vpsrld-1.c: Likewise.
* gcc.target/i386/avx-vpsrld-2.c: Likewise.
* gcc.target/i386/avx-vpsrldq-1.c: Likewise.
* gcc.target/i386/avx-vpsrlq-1.c: Likewise.
* gcc.target/i386/avx-vpsrlq-2.c: Likewise.
* gcc.target/i386/avx-vpsrlw-1.c: Likewise.
* gcc.target/i386/avx-vpsrlw-2.c: Likewise.
* gcc.target/i386/avx-vpsubb-1.c: Likewise.
* gcc.target/i386/avx-vpsubd-1.c: Likewise.
* gcc.target/i386/avx-vpsubq-1.c: Likewise.
* gcc.target/i386/avx-vpsubsb-1.c: Likewise.
* gcc.target/i386/avx-vpsubsw-1.c: Likewise.
* gcc.target/i386/avx-vpsubw-1.c: Likewise.
* gcc.target/i386/avx-vptest-1.c: Likewise.
* gcc.target/i386/avx-vptest-256-1.c: Likewise.
* gcc.target/i386/avx-vptest-256-2.c: Likewise.
* gcc.target/i386/avx-vptest-256-3.c: Likewise.
* gcc.target/i386/avx-vptest-2.c: Likewise.
* gcc.target/i386/avx-vptest-3.c: Likewise.
* gcc.target/i386/avx-vpunpckhbw-1.c: Likewise.
* gcc.target/i386/avx-vpunpckhdq-1.c: Likewise.
* gcc.target/i386/avx-vpunpckhqdq-1.c: Likewise.
* gcc.target/i386/avx-vpunpckhwd-1.c: Likewise.
* gcc.target/i386/avx-vpunpcklbw-1.c: Likewise.
* gcc.target/i386/avx-vpunpckldq-1.c: Likewise.
* gcc.target/i386/avx-vpunpcklqdq-1.c: Likewise.
* gcc.target/i386/avx-vpunpcklwd-1.c: Likewise.
* gcc.target/i386/avx-vpxor-1.c: Likewise.
* gcc.target/i386/avx-vrcpps-1.c: Likewise.
* gcc.target/i386/avx-vrcpps-256-1.c: Likewise.
* gcc.target/i386/avx-vroundpd-1.c: Likewise.
* gcc.target/i386/avx-vroundpd-256-1.c: Likewise.
* gcc.target/i386/avx-vroundpd-256-2.c: Likewise.
* gcc.target/i386/avx-vroundpd-256-3.c: Likewise.
* gcc.target/i386/avx-vroundpd-2.c: Likewise.
* gcc.target/i386/avx-vroundpd-3.c: Likewise.
* gcc.target/i386/avx-vroundps-256-1.c: Likewise.
* gcc.target/i386/avx-vrsqrtps-1.c: Likewise.
* gcc.target/i386/avx-vrsqrtps-256-1.c: Likewise.
* gcc.target/i386/avx-vshufpd-1.c: Likewise.
* gcc.target/i386/avx-vshufpd-256-1.c: Likewise.
* gcc.target/i386/avx-vshufps-1.c: Likewise.
* gcc.target/i386/avx-vshufps-256-1.c: Likewise.
* gcc.target/i386/avx-vsqrtpd-1.c: Likewise.
* gcc.target/i386/avx-vsqrtpd-256-1.c: Likewise.
* gcc.target/i386/avx-vsqrtps-1.c: Likewise.
* gcc.target/i386/avx-vsqrtps-256-1.c: Likewise.
* gcc.target/i386/avx-vsubpd-1.c: Likewise.
* gcc.target/i386/avx-vsubpd-256-1.c: Likewise.
* gcc.target/i386/avx-vsubps-1.c: Likewise.
* gcc.target/i386/avx-vsubps-256-1.c: Likewise.
* gcc.target/i386/avx-vsubsd-1.c: Likewise.
* gcc.target/i386/avx-vsubss-1.c: Likewise.
* gcc.target/i386/avx-vtestpd-1.c: Likewise.
* gcc.target/i386/avx-vtestpd-256-1.c: Likewise.
* gcc.target/i386/avx-vtestpd-256-2.c: Likewise.
* gcc.target/i386/avx-vtestpd-256-3.c: Likewise.
* gcc.target/i386/avx-vtestpd-2.c: Likewise.
* gcc.target/i386/avx-vtestpd-3.c: Likewise.
* gcc.target/i386/avx-vtestps-1.c: Likewise.
* gcc.target/i386/avx-vtestps-256-1.c: Likewise.
* gcc.target/i386/avx-vtestps-256-2.c: Likewise.
* gcc.target/i386/avx-vtestps-256-3.c: Likewise.
* gcc.target/i386/avx-vtestps-2.c: Likewise.
* gcc.target/i386/avx-vtestps-3.c: Likewise.
* gcc.target/i386/avx-vucomisd-1.c: Likewise.
* gcc.target/i386/avx-vucomisd-2.c: Likewise.
* gcc.target/i386/avx-vucomisd-3.c: Likewise.
* gcc.target/i386/avx-vucomisd-4.c: Likewise.
* gcc.target/i386/avx-vucomisd-5.c: Likewise.
* gcc.target/i386/avx-vucomisd-6.c: Likewise.
* gcc.target/i386/avx-vucomiss-1.c: Likewise.
* gcc.target/i386/avx-vucomiss-2.c: Likewise.
* gcc.target/i386/avx-vucomiss-3.c: Likewise.
* gcc.target/i386/avx-vucomiss-4.c: Likewise.
* gcc.target/i386/avx-vucomiss-5.c: Likewise.
* gcc.target/i386/avx-vucomiss-6.c: Likewise.
* gcc.target/i386/avx-vunpckhpd-1.c: Likewise.
* gcc.target/i386/avx-vunpckhpd-256-1.c: Likewise.
* gcc.target/i386/avx-vunpckhps-1.c: Likewise.
* gcc.target/i386/avx-vunpckhps-256-1.c: Likewise.
* gcc.target/i386/avx-vunpcklpd-1.c: Likewise.
* gcc.target/i386/avx-vunpcklpd-256-1.c: Likewise.
* gcc.target/i386/avx-vunpcklps-1.c: Likewise.
* gcc.target/i386/avx-vunpcklps-256-1.c: Likewise.
* gcc.target/i386/avx-vxorpd-1.c: Likewise.
* gcc.target/i386/avx-vxorpd-256-1.c: Likewise.
* gcc.target/i386/avx-vxorps-1.c: Likewise.
* gcc.target/i386/avx-vxorps-256-1.c: Likewise.
* gcc.target/i386/avx-vzeroall-1.c: Likewise.
* gcc.target/i386/avx-vzeroall-2.c: Likewise.
* gcc.target/i386/avx-vzeroupper-1.c: Likewise.
* gcc.target/i386/avx-vzeroupper-2.c: Likewise.
* gcc.target/i386/m256-1.c: Likewise.
* gcc.target/i386/m256-2.c: Likewise.
* gcc.target/i386/m256-check.h: Likewise.
* gcc.target/i386/sse2-addpd-1.c: Likewise.
* gcc.target/i386/sse2-addsd-1.c: Likewise.
* gcc.target/i386/sse2-andnpd-1.c: Likewise.
* gcc.target/i386/sse2-andpd-1.c: Likewise.
* gcc.target/i386/sse2-comisd-1.c: Likewise.
* gcc.target/i386/sse2-comisd-2.c: Likewise.
* gcc.target/i386/sse2-comisd-3.c: Likewise.
* gcc.target/i386/sse2-comisd-4.c: Likewise.
* gcc.target/i386/sse2-comisd-5.c: Likewise.
* gcc.target/i386/sse2-comisd-6.c: Likewise.
* gcc.target/i386/sse2-cvtdq2pd-1.c: Likewise.
* gcc.target/i386/sse2-cvtdq2ps-1.c: Likewise.
* gcc.target/i386/sse2-cvtpd2dq-1.c: Likewise.
* gcc.target/i386/sse2-cvtpd2ps-1.c: Likewise.
* gcc.target/i386/sse2-cvtps2dq-1.c: Likewise.
* gcc.target/i386/sse2-cvtps2pd-1.c: Likewise.
* gcc.target/i386/sse2-cvtsd2si-1.c: Likewise.
* gcc.target/i386/sse2-cvtsd2si-2.c: Likewise.
* gcc.target/i386/sse2-cvtsd2ss-1.c: Likewise.
* gcc.target/i386/sse2-cvtsi2sd-1.c: Likewise.
* gcc.target/i386/sse2-cvtsi2sd-2.c: Likewise.
* gcc.target/i386/sse2-cvtss2sd-1.c: Likewise.
* gcc.target/i386/sse2-cvttpd2dq-1.c: Likewise.
* gcc.target/i386/sse2-cvttps2dq-1.c: Likewise.
* gcc.target/i386/sse2-cvttsd2si-1.c: Likewise.
* gcc.target/i386/sse2-cvttsd2si-2.c: Likewise.
* gcc.target/i386/sse2-divpd-1.c: Likewise.
* gcc.target/i386/sse2-divsd-1.c: Likewise.
* gcc.target/i386/sse2-maxpd-1.c: Likewise.
* gcc.target/i386/sse2-maxsd-1.c: Likewise.
* gcc.target/i386/sse2-minpd-1.c: Likewise.
* gcc.target/i386/sse2-minsd-1.c: Likewise.
* gcc.target/i386/sse2-movapd-1.c: Likewise.
* gcc.target/i386/sse2-movapd-2.c: Likewise.
* gcc.target/i386/sse2-movd-1.c: Likewise.
* gcc.target/i386/sse2-movd-2.c: Likewise.
* gcc.target/i386/sse2-movdqa-1.c: Likewise.
* gcc.target/i386/sse2-movdqa-2.c: Likewise.
* gcc.target/i386/sse2-movdqu-1.c: Likewise.
* gcc.target/i386/sse2-movdqu-2.c: Likewise.
* gcc.target/i386/sse2-movhpd-1.c: Likewise.
* gcc.target/i386/sse2-movhpd-2.c: Likewise.
* gcc.target/i386/sse2-movlpd-1.c: Likewise.
* gcc.target/i386/sse2-movlpd-2.c: Likewise.
* gcc.target/i386/sse2-movmskpd-1.c: Likewise.
* gcc.target/i386/sse2-movntdq-1.c: Likewise.
* gcc.target/i386/sse2-movntpd-1.c: Likewise.
* gcc.target/i386/sse2-movq-1.c: Likewise.
* gcc.target/i386/sse2-movq-2.c: Likewise.
* gcc.target/i386/sse2-movq-3.c: Likewise.
* gcc.target/i386/sse2-movsd-1.c: Likewise.
* gcc.target/i386/sse2-movsd-2.c: Likewise.
* gcc.target/i386/sse2-movupd-1.c: Likewise.
* gcc.target/i386/sse2-movupd-2.c: Likewise.
* gcc.target/i386/sse2-mulpd-1.c: Likewise.
* gcc.target/i386/sse2-mulsd-1.c: Likewise.
* gcc.target/i386/sse2-orpd-1.c: Likewise.
* gcc.target/i386/sse2-packssdw-1.c: Likewise.
* gcc.target/i386/sse2-packsswb-1.c: Likewise.
* gcc.target/i386/sse2-packuswb-1.c: Likewise.
* gcc.target/i386/sse2-paddb-1.c: Likewise.
* gcc.target/i386/sse2-paddd-1.c: Likewise.
* gcc.target/i386/sse2-paddq-1.c: Likewise.
* gcc.target/i386/sse2-paddsb-1.c: Likewise.
* gcc.target/i386/sse2-paddsw-1.c: Likewise.
* gcc.target/i386/sse2-paddusb-1.c: Likewise.
* gcc.target/i386/sse2-paddusw-1.c: Likewise.
* gcc.target/i386/sse2-paddw-1.c: Likewise.
* gcc.target/i386/sse2-pand-1.c: Likewise.
* gcc.target/i386/sse2-pandn-1.c: Likewise.
* gcc.target/i386/sse2-pavgb-1.c: Likewise.
* gcc.target/i386/sse2-pavgw-1.c: Likewise.
* gcc.target/i386/sse2-pcmpeqb-1.c: Likewise.
* gcc.target/i386/sse2-pcmpeqd-1.c: Likewise.
* gcc.target/i386/sse2-pcmpeqw-1.c: Likewise.
* gcc.target/i386/sse2-pcmpgtb-1.c: Likewise.
* gcc.target/i386/sse2-pcmpgtd-1.c: Likewise.
* gcc.target/i386/sse2-pcmpgtw-1.c: Likewise.
* gcc.target/i386/sse2-pmaddwd-1.c: Likewise.
* gcc.target/i386/sse2-pmaxsw-1.c: Likewise.
* gcc.target/i386/sse2-pmaxub-1.c: Likewise.
* gcc.target/i386/sse2-pminsw-1.c: Likewise.
* gcc.target/i386/sse2-pminub-1.c: Likewise.
* gcc.target/i386/sse2-pmovmskb-1.c: Likewise.
* gcc.target/i386/sse2-pmulhuw-1.c: Likewise.
* gcc.target/i386/sse2-pmulhw-1.c: Likewise.
* gcc.target/i386/sse2-pmullw-1.c: Likewise.
* gcc.target/i386/sse2-pmuludq-1.c: Likewise.
* gcc.target/i386/sse2-por-1.c: Likewise.
* gcc.target/i386/sse2-psadbw-1.c: Likewise.
* gcc.target/i386/sse2-pshufd-1.c: Likewise.
* gcc.target/i386/sse2-pshufhw-1.c: Likewise.
* gcc.target/i386/sse2-pshuflw-1.c: Likewise.
* gcc.target/i386/sse2-pslld-1.c: Likewise.
* gcc.target/i386/sse2-pslld-2.c: Likewise.
* gcc.target/i386/sse2-pslldq-1.c: Likewise.
* gcc.target/i386/sse2-psllq-1.c: Likewise.
* gcc.target/i386/sse2-psllq-2.c: Likewise.
* gcc.target/i386/sse2-psllw-1.c: Likewise.
* gcc.target/i386/sse2-psllw-2.c: Likewise.
* gcc.target/i386/sse2-psrad-1.c: Likewise.
* gcc.target/i386/sse2-psrad-2.c: Likewise.
* gcc.target/i386/sse2-psraw-1.c: Likewise.
* gcc.target/i386/sse2-psraw-2.c: Likewise.
* gcc.target/i386/sse2-psrld-1.c: Likewise.
* gcc.target/i386/sse2-psrld-2.c: Likewise.
* gcc.target/i386/sse2-psrldq-1.c: Likewise.
* gcc.target/i386/sse2-psrlq-1.c: Likewise.
* gcc.target/i386/sse2-psrlq-2.c: Likewise.
* gcc.target/i386/sse2-psrlw-1.c: Likewise.
* gcc.target/i386/sse2-psrlw-2.c: Likewise.
* gcc.target/i386/sse2-psubb-1.c: Likewise.
* gcc.target/i386/sse2-psubd-1.c: Likewise.
* gcc.target/i386/sse2-psubq-1.c: Likewise.
* gcc.target/i386/sse2-psubsb-1.c: Likewise.
* gcc.target/i386/sse2-psubsw-1.c: Likewise.
* gcc.target/i386/sse2-psubw-1.c: Likewise.
* gcc.target/i386/sse2-punpckhbw-1.c: Likewise.
* gcc.target/i386/sse2-punpckhdq-1.c: Likewise.
* gcc.target/i386/sse2-punpckhqdq-1.c: Likewise.
* gcc.target/i386/sse2-punpckhwd-1.c: Likewise.
* gcc.target/i386/sse2-punpcklbw-1.c: Likewise.
* gcc.target/i386/sse2-punpckldq-1.c: Likewise.
* gcc.target/i386/sse2-punpcklqdq-1.c: Likewise.
* gcc.target/i386/sse2-punpcklwd-1.c: Likewise.
* gcc.target/i386/sse2-pxor-1.c: Likewise.
* gcc.target/i386/sse2-shufpd-1.c: Likewise.
* gcc.target/i386/sse2-shufps-1.c: Likewise.
* gcc.target/i386/sse2-sqrtpd-1.c: Likewise.
* gcc.target/i386/sse2-subpd-1.c: Likewise.
* gcc.target/i386/sse2-subsd-1.c: Likewise.
* gcc.target/i386/sse2-ucomisd-1.c: Likewise.
* gcc.target/i386/sse2-ucomisd-2.c: Likewise.
* gcc.target/i386/sse2-ucomisd-3.c: Likewise.
* gcc.target/i386/sse2-ucomisd-4.c: Likewise.
* gcc.target/i386/sse2-ucomisd-5.c: Likewise.
* gcc.target/i386/sse2-ucomisd-6.c: Likewise.
* gcc.target/i386/sse2-unpckhpd-1.c: Likewise.
* gcc.target/i386/sse2-unpcklpd-1.c: Likewise.
* gcc.target/i386/sse2-xorpd-1.c: Likewise.
* gcc.target/i386/sse-addps-1.c: Likewise.
* gcc.target/i386/sse-addss-1.c: Likewise.
* gcc.target/i386/sse-andnps-1.c: Likewise.
* gcc.target/i386/sse-andps-1.c: Likewise.
* gcc.target/i386/sse-comiss-1.c: Likewise.
* gcc.target/i386/sse-comiss-2.c: Likewise.
* gcc.target/i386/sse-comiss-3.c: Likewise.
* gcc.target/i386/sse-comiss-4.c: Likewise.
* gcc.target/i386/sse-comiss-5.c: Likewise.
* gcc.target/i386/sse-comiss-6.c: Likewise.
* gcc.target/i386/sse-cvtsi2ss-1.c: Likewise.
* gcc.target/i386/sse-cvtsi2ss-2.c: Likewise.
* gcc.target/i386/sse-cvtss2si-1.c: Likewise.
* gcc.target/i386/sse-cvtss2si-2.c: Likewise.
* gcc.target/i386/sse-cvttss2si-1.c: Likewise.
* gcc.target/i386/sse-cvttss2si-2.c: Likewise.
* gcc.target/i386/sse-divps-1.c: Likewise.
* gcc.target/i386/sse-divss-1.c: Likewise.
* gcc.target/i386/sse-maxps-1.c: Likewise.
* gcc.target/i386/sse-maxss-1.c: Likewise.
* gcc.target/i386/sse-minps-1.c: Likewise.
* gcc.target/i386/sse-minss-1.c: Likewise.
* gcc.target/i386/sse-movaps-1.c: Likewise.
* gcc.target/i386/sse-movaps-2.c: Likewise.
* gcc.target/i386/sse-movhlps-1.c: Likewise.
* gcc.target/i386/sse-movhps-1.c: Likewise.
* gcc.target/i386/sse-movhps-2.c: Likewise.
* gcc.target/i386/sse-movlhps-1.c: Likewise.
* gcc.target/i386/sse-movmskps-1.c: Likewise.
* gcc.target/i386/sse-movntps-1.c: Likewise.
* gcc.target/i386/sse-movss-1.c: Likewise.
* gcc.target/i386/sse-movss-2.c: Likewise.
* gcc.target/i386/sse-movss-3.c: Likewise.
* gcc.target/i386/sse-movups-1.c: Likewise.
* gcc.target/i386/sse-movups-2.c: Likewise.
* gcc.target/i386/sse-mulps-1.c: Likewise.
* gcc.target/i386/sse-mulss-1.c: Likewise.
* gcc.target/i386/sse-orps-1.c: Likewise.
* gcc.target/i386/sse-rcpps-1.c: Likewise.
* gcc.target/i386/sse-rsqrtps-1.c: Likewise.
* gcc.target/i386/sse-sqrtps-1.c: Likewise.
* gcc.target/i386/sse-subps-1.c: Likewise.
* gcc.target/i386/sse-subss-1.c: Likewise.
* gcc.target/i386/sse-ucomiss-1.c: Likewise.
* gcc.target/i386/sse-ucomiss-2.c: Likewise.
* gcc.target/i386/sse-ucomiss-3.c: Likewise.
* gcc.target/i386/sse-ucomiss-4.c: Likewise.
* gcc.target/i386/sse-ucomiss-5.c: Likewise.
* gcc.target/i386/sse-ucomiss-6.c: Likewise.
* gcc.target/i386/sse-unpckhps-1.c: Likewise.
* gcc.target/i386/sse-unpcklps-1.c: Likewise.
* gcc.target/i386/sse-xorps-1.c: Likewise.
* gcc.target/i386/vararg-10.c: Likewise.
* gcc.target/i386/vararg-3.c: Likewise.
* gcc.target/i386/vararg-4.c: Likewise.
* gcc.target/i386/vararg-5.c: Likewise.
* gcc.target/i386/vararg-6.c: Likewise.
* gcc.target/i386/vararg-7.c: Likewise.
* gcc.target/i386/vararg-8.c: Likewise.
* gcc.target/i386/vararg-9.c: Likewise.
* g++.dg/other/i386-5.C: Likewise.
* g++.dg/other/i386-6.C: Likewise.

* gcc.target/i386/aesdec.c (CHECK_H): New.
(TEST): New.
Include CHECK_H instead of "XXX-check.h" and run TEST
instead of XXX_test.
* gcc.target/i386/aesdeclast.c: Likewise.
* gcc.target/i386/aesenc.c: Likewise.
* gcc.target/i386/aesenclast.c: Likewise.
* gcc.target/i386/aesimc.c: Likewise.
* gcc.target/i386/aeskeygenassist.c: Likewise.
* gcc.target/i386/sse3-addsubpd.c: Likewise.
* gcc.target/i386/sse3-addsubps.c: Likewise.
* gcc.target/i386/sse3-haddpd.c: Likewise.
* gcc.target/i386/sse3-haddps.c: Likewise.
* gcc.target/i386/sse3-hsubpd.c: Likewise.
* gcc.target/i386/sse3-hsubps.c: Likewise.
* gcc.target/i386/sse3-lddqu.c: Likewise.
* gcc.target/i386/sse3-movddup.c: Likewise.
* gcc.target/i386/sse3-movshdup.c: Likewise.
* gcc.target/i386/sse3-movsldup.c: Likewise.
* gcc.target/i386/sse4_1-blendpd.c: Likewise.
* gcc.target/i386/sse4_1-blendps.c: Likewise.
* gcc.target/i386/sse4_1-dppd-1.c: Likewise.
* gcc.target/i386/sse4_1-dppd-2.c: Likewise.
* gcc.target/i386/sse4_1-dpps-1.c: Likewise.
* gcc.target/i386/sse4_1-dpps-2.c: Likewise.
* gcc.target/i386/sse4_1-extractps.c: Likewise.
* gcc.target/i386/sse4_1-insertps-1.c: Likewise.
* gcc.target/i386/sse4_1-insertps-2.c: Likewise.
* gcc.target/i386/sse4_1-movntdqa.c: Likewise.
* gcc.target/i386/sse4_1-mpsadbw.c: Likewise.
* gcc.target/i386/sse4_1-packusdw.c: Likewise.
* gcc.target/i386/sse4_1-pblendvb.c: Likewise.
* gcc.target/i386/sse4_1-pblendw.c: Likewise.
* gcc.target/i386/sse4_1-pcmpeqq.c: Likewise.
* gcc.target/i386/sse4_1-pextrb.c: Likewise.
* gcc.target/i386/sse4_1-pextrd.c: Likewise.
* gcc.target/i386/sse4_1-pextrq.c: Likewise.
* gcc.target/i386/sse4_1-pextrw.c: Likewise.
* gcc.target/i386/sse4_1-phminposuw.c: Likewise.
* gcc.target/i386/sse4_1-pinsrb.c: Likewise.
* gcc.target/i386/sse4_1-pinsrd.c: Likewise.
* gcc.target/i386/sse4_1-pinsrq.c: Likewise.
* gcc.target/i386/sse4_1-pmaxsb.c: Likewise.
* gcc.target/i386/sse4_1-pmaxsd.c: Likewise.
* gcc.target/i386/sse4_1-pmaxud.c: Likewise.
* gcc.target/i386/sse4_1-pmaxuw.c: Likewise.
* gcc.target/i386/sse4_1-pminsb.c: Likewise.
* gcc.target/i386/sse4_1-pminsd.c: Likewise.
* gcc.target/i386/sse4_1-pminud.c: Likewise.
* gcc.target/i386/sse4_1-pminuw.c: Likewise.
* gcc.target/i386/sse4_1-pmovsxbd.c: Likewise.
* gcc.target/i386/sse4_1-pmovsxbq.c: Likewise.
* gcc.target/i386/sse4_1-pmovsxbw.c: Likewise.
* gcc.target/i386/sse4_1-pmovsxdq.c: Likewise.
* gcc.target/i386/sse4_1-pmovsxwd.c: Likewise.
* gcc.target/i386/sse4_1-pmovsxwq.c: Likewise.
* gcc.target/i386/sse4_1-pmovzxbd.c: Likewise.
* gcc.target/i386/sse4_1-pmovzxbq.c: Likewise.
* gcc.target/i386/sse4_1-pmovzxbw.c: Likewise.
* gcc.target/i386/sse4_1-pmovzxdq.c: Likewise.
* gcc.target/i386/sse4_1-pmovzxwd.c: Likewise.
* gcc.target/i386/sse4_1-pmovzxwq.c: Likewise.
* gcc.target/i386/sse4_1-pmuldq.c: Likewise.
* gcc.target/i386/sse4_1-pmulld.c: Likewise.
* gcc.target/i386/sse4_1-ptest-1.c: Likewise.
* gcc.target/i386/sse4_1-ptest-2.c: Likewise.
* gcc.target/i386/sse4_1-ptest-3.c: Likewise.
* gcc.target/i386/sse4_1-roundpd-1.c: Likewise.
* gcc.target/i386/sse4_1-roundpd-2.c: Likewise.
* gcc.target/i386/sse4_1-roundpd-3.c: Likewise.
* gcc.target/i386/sse4_2-pcmpestri-1.c: Likewise.
* gcc.target/i386/sse4_2-pcmpestri-2.c: Likewise.
* gcc.target/i386/sse4_2-pcmpestrm-1.c: Likewise.
* gcc.target/i386/sse4_2-pcmpestrm-2.c: Likewise.
* gcc.target/i386/sse4_2-pcmpgtq.c: Likewise.
* gcc.target/i386/sse4_2-pcmpistri-1.c: Likewise.
* gcc.target/i386/sse4_2-pcmpistri-2.c: Likewise.
* gcc.target/i386/sse4_2-pcmpistrm-1.c: Likewise.
* gcc.target/i386/sse4_2-pcmpistrm-2.c: Likewise.
* gcc.target/i386/ssse3-pabsb.c: Likewise.  Don't run MMX
tests for AVX.
* gcc.target/i386/ssse3-pabsd.c: Likewise.
* gcc.target/i386/ssse3-pabsw.c: Likewise.
* gcc.target/i386/ssse3-palignr.c: Likewise.
* gcc.target/i386/ssse3-phaddd.c: Likewise.
* gcc.target/i386/ssse3-phaddsw.c: Likewise.
* gcc.target/i386/ssse3-phaddw.c: Likewise.
* gcc.target/i386/ssse3-phsubd.c: Likewise.
* gcc.target/i386/ssse3-phsubsw.c: Likewise.
* gcc.target/i386/ssse3-phsubw.c: Likewise.
* gcc.target/i386/ssse3-pmaddubsw.c: Likewise.
* gcc.target/i386/ssse3-pmulhrsw.c: Likewise.
* gcc.target/i386/ssse3-pshufb.c: Likewise.
* gcc.target/i386/ssse3-psignb.c: Likewise.
* gcc.target/i386/ssse3-psignd.c: Likewise.
* gcc.target/i386/ssse3-psignw.c: Likewise.

* gcc.target/i386/i386.exp (check_effective_target_vaes): New.

* gcc.target/i386/m128-check.h: Include <xmmintrin.h>.  Include
<emmintrin.h> for SSE2.
(union128i_b): Defined only for SSE2.
(union128i_w): Likewise.
(union128i_d): Likewise.
(union128i_q): Likewise.
(union128d): Likewise.
(check_union128i_b): Likewise.
(check_union128i_w): Likewise.
(check_union128i_d): Likewise.
(check_union128i_q): Likewise.
(check_union128d): Likewise.
(union128i_ub): New.
(union128i_uw): Likewise.
(check_union128i_ub): Likewise.
(check_union128i_uw): Likewise.
(ESP_FLOAT): Likewise.
(ESP_DOUBLE): Likewise.
(CHECK_ARRAY): Likewise.
(checkVd): Likewise.
(checkVf): Likewise.
(ieee754_float): Likewise.
(ieee754_double): Likewise.

* gcc.target/i386/sse-check.h: Include "m128-check.h".

* gcc.target/x86_64/abi/abi-x86_64.exp: Replace asm-support.s
with asm-support.S.

* gcc.target/x86_64/abi/asm-support.s: Renamed to ...
* gcc.target/x86_64/abi/asm-support.S: This.  Add
".sse_check none" if __AVX__ is defined.

* lib/target-supports.exp (check_effective_target_avx): New.

Co-Authored-By: H.J. Lu <hongjiu.lu@intel.com>
Co-Authored-By: Joey Ye <joey.ye@intel.com>
From-SVN: r139730

16 years agore PR c/30949 ("incompatible pointer type" warning does not point to declaration)
Manuel López-Ibáñez [Thu, 28 Aug 2008 19:34:36 +0000 (19:34 +0000)]
re PR c/30949 ("incompatible pointer type" warning does not point to declaration)

2008-08-28  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>

PR c/30949
* c-typeck.c (convert_for_assignment): Give a note describing what
was passed and what was expected.
testsuite/
* gcc.dg/pr30949.c: New.
* gcc.dg/transparent-union-1.c: Update.
* gcc.dg/cleanup-1.c: Update.
* gcc.dg/assign-warn-2.c: Update.
* gcc.dg/conv-2.c: Update.
* gcc.dg/Wpointer-sign-pedantic.c: Update.
* gcc.dg/Wpointer-sign-Wall.c: Update.
* gcc.dg/assign-warn-1.c: Update.
* gcc.dg/dfp/composite-type.c: Update.
* gcc.dg/noncompile/20020213-1.c: Update.

From-SVN: r139729

16 years agoextend.texi: Document AVX built-in functions.
Joey Ye [Thu, 28 Aug 2008 19:20:03 +0000 (19:20 +0000)]
extend.texi: Document AVX built-in functions.

2008-08-28  Joey Ye  <joey.ye@intel.com>

* doc/extend.texi: Document AVX built-in functions.
* doc/invoke.texi: Document -mavx.

From-SVN: r139727

16 years ago[multiple changes]
H.J. Lu [Thu, 28 Aug 2008 19:18:44 +0000 (12:18 -0700)]
[multiple changes]

2008-08-28  H.J. Lu  <hongjiu.lu@intel.com>
    Joey Ye  <joey.ye@intel.com>
    Xuepeng Guo  <xuepeng.guo@intel.com>

* config.gcc (extra_headers): Add gmmintrin.h for x86 and x86-64.

* config/i386/cpuid.h (bit_FMA): New.
(bit_XSAVE): Likewise.
(bit_OSXSAVE): Likewise.
(bit_AVX): Likewise.

* config/i386/gas.h (ASM_OUTPUT_OPCODE): Undefine before
define.  Use ASM_OUTPUT_AVX_PREFIX.

* config/i386/gmmintrin.h: New.

* config/i386/i386.c (x86_64_reg_class): Add X86_64_AVX_CLASS.
(OPTION_MASK_ISA_AVX_SET): New.
(OPTION_MASK_ISA_FMA_SET): Likewise.
(OPTION_MASK_ISA_AVX_UNSET): Likewise.
(OPTION_MASK_ISA_FMA_SET): Likewise.
(OPTION_MASK_ISA_SSE4_2_UNSET): Updated.
(ix86_handle_option): Handle OPT_mavx and OPT_mfma.
(pta_flags): Add PTA_AVX and PTA_FMA.
(override_options): Handle PTA_AVX and PTA_FMA.
(init_cumulative_args): Handle warn_avx.
(classify_argument): Return 0 for COImode and OImode.  Return
1 and X86_64_AVX_CLASS for 256bit vector types.
(examine_argument): Handle X86_64_AVX_CLASS.
(construct_container): Likewise.
(function_arg_advance_32): Pass OImode and 256bit vector types
in AVX register.
(function_arg_advance_64): Take a new argument to indicate if a
parameter is named.  Handle 256bit vector types.  Return
immediately for unnamed 256bit vector mode parameters.
(function_arg_advance): Updated.
(function_arg_32): Add comments for TImode.  Handle OImode
and 256bit vector types.
(function_arg_64): Take a new argument to indicate if a
parameter is named.  Handle 256bit vector types.  Return NULL
for unnamed 256bit vector mode parameters.
(function_arg): Updated.
(setup_incoming_varargs_64): Support
AVX encoding for *sse_prologue_save_insn.
(ix86_gimplify_va_arg): Handle 256bit vector mode parameters.
(standard_sse_constant_p): Return -2 for all 1s if SSE2 isn't
enabled.  For all 1s in 256bit vector modes, return 3 if AVX is
enabled, otherwise return -3.
(standard_sse_constant_opcode): Handle AVX and 256bit vector
modes.
(print_reg): Support AVX registers.  Handle 'x' and 't'.
Handle 'd' to duplicate the operand.
(print_operand): Likewise.  Also support AVX vector compare
instructions.
(output_387_binary_op): Support AVX.
(output_fp_compare): Likewise.
(ix86_expand_vector_move_misalign): Likewise.
(ix86_attr_length_vex_default): New.
(ix86_builtins): Add IX86_BUILTIN_ADDPD256,
IX86_BUILTIN_ADDPS256, IX86_BUILTIN_ADDSUBPD256,
IX86_BUILTIN_ADDSUBPS256, IX86_BUILTIN_ANDPD256,
IX86_BUILTIN_ANDPS256, IX86_BUILTIN_ANDNPD256,
IX86_BUILTIN_ANDNPS256, IX86_BUILTIN_BLENDPD256,
IX86_BUILTIN_BLENDPS256, IX86_BUILTIN_BLENDVPD256,
IX86_BUILTIN_BLENDVPS256, IX86_BUILTIN_DIVPD256,
IX86_BUILTIN_DIVPS256, IX86_BUILTIN_DPPS256,
IX86_BUILTIN_HADDPD256, IX86_BUILTIN_HADDPS256,
IX86_BUILTIN_HSUBPD256, IX86_BUILTIN_HSUBPS256,
IX86_BUILTIN_MAXPD256, IX86_BUILTIN_MAXPS256,
IX86_BUILTIN_MINPD256, IX86_BUILTIN_MINPS256,
IX86_BUILTIN_MULPD256, IX86_BUILTIN_MULPS256,
IX86_BUILTIN_ORPD256, IX86_BUILTIN_ORPS256,
IX86_BUILTIN_SHUFPD256, IX86_BUILTIN_SHUFPS256,
IX86_BUILTIN_SUBPD256, IX86_BUILTIN_SUBPS256,
IX86_BUILTIN_XORPD256, IX86_BUILTIN_XORPS256,
IX86_BUILTIN_CMPSD, IX86_BUILTIN_CMPSS, IX86_BUILTIN_CMPPD,
IX86_BUILTIN_CMPPS, IX86_BUILTIN_CMPPD256,
IX86_BUILTIN_CMPPS256, IX86_BUILTIN_CVTDQ2PD256,
IX86_BUILTIN_CVTDQ2PS256, IX86_BUILTIN_CVTPD2PS256,
IX86_BUILTIN_CVTPS2DQ256, IX86_BUILTIN_CVTPS2PD256,
IX86_BUILTIN_CVTTPD2DQ256, IX86_BUILTIN_CVTPD2DQ256,
IX86_BUILTIN_CVTTPS2DQ256, IX86_BUILTIN_EXTRACTF128PD256,
IX86_BUILTIN_EXTRACTF128PS256, IX86_BUILTIN_EXTRACTF128SI256,
IX86_BUILTIN_VZEROALL, IX86_BUILTIN_VZEROUPPER,
IX86_BUILTIN_VZEROUPPER_REX64, IX86_BUILTIN_VPERMILVARPD,
IX86_BUILTIN_VPERMILVARPS, IX86_BUILTIN_VPERMILVARPD256,
IX86_BUILTIN_VPERMILVARPS256, IX86_BUILTIN_VPERMILPD,
IX86_BUILTIN_VPERMILPS, IX86_BUILTIN_VPERMILPD256,
IX86_BUILTIN_VPERMILPS256, IX86_BUILTIN_VPERMIL2PD,
IX86_BUILTIN_VPERMIL2PS, IX86_BUILTIN_VPERMIL2PD256,
IX86_BUILTIN_VPERMIL2PS256, IX86_BUILTIN_VPERM2F128PD256,
IX86_BUILTIN_VPERM2F128PS256, IX86_BUILTIN_VPERM2F128SI256,
IX86_BUILTIN_VBROADCASTSS, IX86_BUILTIN_VBROADCASTSD256,
IX86_BUILTIN_VBROADCASTSS256, IX86_BUILTIN_VBROADCASTPD256,
IX86_BUILTIN_VBROADCASTPS256, IX86_BUILTIN_VINSERTF128PD256,
IX86_BUILTIN_VINSERTF128PS256, IX86_BUILTIN_VINSERTF128SI256,
IX86_BUILTIN_LOADUPD256, IX86_BUILTIN_LOADUPS256,
IX86_BUILTIN_STOREUPD256, IX86_BUILTIN_STOREUPS256,
IX86_BUILTIN_LDDQU256, IX86_BUILTIN_LOADDQU256,
IX86_BUILTIN_STOREDQU256, IX86_BUILTIN_MASKLOADPD,
IX86_BUILTIN_MASKLOADPS, IX86_BUILTIN_MASKSTOREPD,
IX86_BUILTIN_MASKSTOREPS, IX86_BUILTIN_MASKLOADPD256,
IX86_BUILTIN_MASKLOADPS256, IX86_BUILTIN_MASKSTOREPD256,
IX86_BUILTIN_MASKSTOREPS256, IX86_BUILTIN_MOVSHDUP256,
IX86_BUILTIN_MOVSLDUP256, IX86_BUILTIN_MOVDDUP256,
IX86_BUILTIN_SQRTPD256, IX86_BUILTIN_SQRTPS256,
IX86_BUILTIN_SQRTPS_NR256, IX86_BUILTIN_RSQRTPS256,
IX86_BUILTIN_RSQRTPS_NR256, IX86_BUILTIN_RCPPS256,
IX86_BUILTIN_ROUNDPD256, IX86_BUILTIN_ROUNDPS256,
IX86_BUILTIN_UNPCKHPD256, IX86_BUILTIN_UNPCKLPD256,
IX86_BUILTIN_UNPCKHPS256, IX86_BUILTIN_UNPCKLPS256,
IX86_BUILTIN_SI256_SI, IX86_BUILTIN_PS256_PS,
IX86_BUILTIN_PD256_PD, IX86_BUILTIN_SI_SI256,
IX86_BUILTIN_PS_PS256, IX86_BUILTIN_PD_PD256,
IX86_BUILTIN_VTESTZPD, IX86_BUILTIN_VTESTCPD,
IX86_BUILTIN_VTESTNZCPD, IX86_BUILTIN_VTESTZPS,
IX86_BUILTIN_VTESTCPS, IX86_BUILTIN_VTESTNZCPS,
IX86_BUILTIN_VTESTZPD256, IX86_BUILTIN_VTESTCPD256,
IX86_BUILTIN_VTESTNZCPD256, IX86_BUILTIN_VTESTZPS256,
IX86_BUILTIN_VTESTCPS256, IX86_BUILTIN_VTESTNZCPS256,
IX86_BUILTIN_PTESTZ256, IX86_BUILTIN_PTESTC256,
IX86_BUILTIN_PTESTNZC256, IX86_BUILTIN_MOVMSKPD256
and IX86_BUILTIN_MOVMSKPS256,
(ix86_special_builtin_type): Add V32QI_FTYPE_PCCHAR,
V8SF_FTYPE_PCV4SF, V8SF_FTYPE_PCFLOAT, V4DF_FTYPE_PCV2DF,
V4DF_FTYPE_PCDOUBLE, V8SF_FTYPE_PCV8SF_V8SF,
V4DF_FTYPE_PCV4DF_V4DF, V4SF_FTYPE_PCV4SF_V4SF,
V2DF_FTYPE_PCV2DF_V2DF, VOID_FTYPE_PCHAR_V32QI,
VOID_FTYPE_PFLOAT_V8SF, VOID_FTYPE_PDOUBLE_V4DF,
VOID_FTYPE_PV8SF_V8SF_V8SF, VOID_FTYPE_PV4DF_V4DF_V4DF,
VOID_FTYPE_PV4SF_V4SF_V4SF and VOID_FTYPE_PV2DF_V2DF_V2DF,
(ix86_builtin_type): Add INT_FTYPE_V8SF_V8SF_PTEST,
INT_FTYPE_V4DI_V4DI_PTEST, INT_FTYPE_V4DF_V4DF_PTEST,
INT_FTYPE_V4SF_V4SF_PTEST, INT_FTYPE_V2DF_V2DF_PTEST,
INT_FTYPE_V8SF, INT_FTYPE_V4DF, V8SI_FTYPE_V8SF, V8SI_FTYPE_V4SI,
V8SF_FTYPE_V8SF, V8SF_FTYPE_V8SI, V8SF_FTYPE_V4SF,
V4SI_FTYPE_V8SI, V4SI_FTYPE_V4DF, V4DF_FTYPE_V4DF,
V4DF_FTYPE_V4SI, V4DF_FTYPE_V4SF, V4DF_FTYPE_V2DF,
V4SF_FTYPE_V4DF, V4SF_FTYPE_V8SF, V2DF_FTYPE_V4DF,
V8SF_FTYPE_V8SF_V8SF, V8SF_FTYPE_V8SF_V8SI,
V4DF_FTYPE_V4DF_V4DF, V4DF_FTYPE_V4DF_V4DI,
V4SF_FTYPE_V4SF_V4SI, V2DF_FTYPE_V2DF_V2DI,
V8SF_FTYPE_V8SF_INT, V4SI_FTYPE_V8SI_INT, V4SF_FTYPE_V8SF_INT,
V2DF_FTYPE_V4DF_INT, V4DF_FTYPE_V4DF_INT,
V8SF_FTYPE_V8SF_V8SF_V8SF, V4DF_FTYPE_V4DF_V4DF_V4DF,
V8SI_FTYPE_V8SI_V8SI_INT, V8SF_FTYPE_V8SF_V8SF_INT,
V4DF_FTYPE_V4DF_V4DF_INT, V4DF_FTYPE_V4DF_V2DF_INT,
V8SF_FTYPE_V8SF_V8SF_V8SI_INT, V4DF_FTYPE_V4DF_V4DF_V4DI_INT,
V4SF_FTYPE_V4SF_V4SF_V4SI_INT and V2DF_FTYPE_V2DF_V2DF_V2DI_INT.
(bdesc_special_args): Add IX86_BUILTIN_VZEROALL,
IX86_BUILTIN_VZEROUPPER. IX86_BUILTIN_VZEROUPPER_REX64,
IX86_BUILTIN_VBROADCASTSS, IX86_BUILTIN_VBROADCASTSD256,
IX86_BUILTIN_VBROADCASTSS256, IX86_BUILTIN_VBROADCASTPD256,
IX86_BUILTIN_VBROADCASTPS256, IX86_BUILTIN_LOADUPD256,
IX86_BUILTIN_LOADUPS256, IX86_BUILTIN_STOREUPD256,
IX86_BUILTIN_STOREUPS256, IX86_BUILTIN_LOADDQU256,
IX86_BUILTIN_STOREDQU256, IX86_BUILTIN_LDDQU256,
IX86_BUILTIN_MASKLOADPD, IX86_BUILTIN_MASKLOADPS,
IX86_BUILTIN_MASKLOADPD256, IX86_BUILTIN_MASKLOADPS256,
IX86_BUILTIN_MASKSTOREPD, IX86_BUILTIN_MASKSTOREPS,
IX86_BUILTIN_MASKSTOREPD256 and IX86_BUILTIN_MASKSTOREPS256.
(ix86_builtins): Add IX86_BUILTIN_ADDPD256,
IX86_BUILTIN_ADDPS256, IX86_BUILTIN_ADDSUBPD256,
IX86_BUILTIN_ADDSUBPS256, IX86_BUILTIN_ANDPD256,
IX86_BUILTIN_ANDPS256, IX86_BUILTIN_ANDNPD256,
IX86_BUILTIN_ANDNPS256, IX86_BUILTIN_DIVPD256,
IX86_BUILTIN_DIVPS256, IX86_BUILTIN_HADDPD256,
IX86_BUILTIN_HSUBPS256, IX86_BUILTIN_HSUBPD256,
IX86_BUILTIN_HADDPS256, IX86_BUILTIN_MAXPD256,
IX86_BUILTIN_MAXPS256, IX86_BUILTIN_MINPD256,
IX86_BUILTIN_MINPS256, IX86_BUILTIN_MULPD256,
IX86_BUILTIN_MULPS256, IX86_BUILTIN_ORPD256,
IX86_BUILTIN_ORPS256, IX86_BUILTIN_SUBPD256,
IX86_BUILTIN_SUBPS256, IX86_BUILTIN_XORPD256,
IX86_BUILTIN_XORPS256, IX86_BUILTIN_VPERMILVARPD,
IX86_BUILTIN_VPERMILVARPS, IX86_BUILTIN_VPERMILVARPD256,
IX86_BUILTIN_VPERMILVARPS256, IX86_BUILTIN_BLENDPD256,
IX86_BUILTIN_BLENDPS256, IX86_BUILTIN_BLENDVPD256,
IX86_BUILTIN_BLENDVPS256, IX86_BUILTIN_DPPS256,
IX86_BUILTIN_SHUFPD256, IX86_BUILTIN_SHUFPS256,
IX86_BUILTIN_CMPSD, IX86_BUILTIN_CMPSS, IX86_BUILTIN_CMPPD,
IX86_BUILTIN_CMPPS,
IX86_BUILTIN_CMPPD256,IX86_BUILTIN_CMPPS256,
IX86_BUILTIN_EXTRACTF128PD256, IX86_BUILTIN_EXTRACTF128PS256,
IX86_BUILTIN_EXTRACTF128SI256, IX86_BUILTIN_CVTDQ2PD256,
IX86_BUILTIN_CVTDQ2PS256, IX86_BUILTIN_CVTPD2PS256,
IX86_BUILTIN_CVTPS2DQ256, IX86_BUILTIN_CVTPS2PD256,
IX86_BUILTIN_CVTTPD2DQ256, IX86_BUILTIN_CVTPD2DQ256,
IX86_BUILTIN_CVTTPS2DQ256, IX86_BUILTIN_VPERM2F128PD256,
IX86_BUILTIN_VPERM2F128PS256, IX86_BUILTIN_VPERM2F128SI256,
IX86_BUILTIN_VPERMILPD, IX86_BUILTIN_VPERMILPS,
IX86_BUILTIN_VPERMILPD256, IX86_BUILTIN_VPERMILPS256,
IX86_BUILTIN_VPERMIL2PD, IX86_BUILTIN_VPERMILPS,
IX86_BUILTIN_VPERMILPD256, IX86_BUILTIN_VPERMILPS256,
IX86_BUILTIN_VPERMIL2PD, IX86_BUILTIN_VPERMIL2PS,
IX86_BUILTIN_VPERMIL2PD256, IX86_BUILTIN_VPERMIL2PS256,
IX86_BUILTIN_VINSERTF128PD256, IX86_BUILTIN_VINSERTF128PS256,
IX86_BUILTIN_VINSERTF128SI256, IX86_BUILTIN_MOVSHDUP256,
IX86_BUILTIN_MOVSLDUP256, IX86_BUILTIN_MOVDDUP256,
IX86_BUILTIN_SQRTPD256, IX86_BUILTIN_SQRTPS256,
IX86_BUILTIN_SQRTPS_NR256, IX86_BUILTIN_RSQRTPS256,
IX86_BUILTIN_RSQRTPS_NR256, IX86_BUILTIN_RCPPS256,
IX86_BUILTIN_ROUNDPD256, IX86_BUILTIN_ROUNDPS256,
IX86_BUILTIN_UNPCKHPD256, IX86_BUILTIN_UNPCKLPD256,
IX86_BUILTIN_UNPCKHPS256, IX86_BUILTIN_UNPCKLPS256,
IX86_BUILTIN_SI256_SI, IX86_BUILTIN_PS256_PS,
IX86_BUILTIN_PD256_PD, IX86_BUILTIN_SI_SI256,
IX86_BUILTIN_PS_PS256, IX86_BUILTIN_PD_PD256,
IX86_BUILTIN_VTESTZPD, IX86_BUILTIN_VTESTCPD,
IX86_BUILTIN_VTESTNZCPD, IX86_BUILTIN_VTESTZPS,
IX86_BUILTIN_VTESTCPS, IX86_BUILTIN_VTESTNZCPS,
IX86_BUILTIN_VTESTZPD256, IX86_BUILTIN_VTESTCPD256,
IX86_BUILTIN_VTESTNZCPD256, IX86_BUILTIN_VTESTZPS256,
IX86_BUILTIN_VTESTCPS256, IX86_BUILTIN_VTESTNZCPS256,
IX86_BUILTIN_PTESTZ256, IX86_BUILTIN_PTESTC256,
IX86_BUILTIN_PTESTNZC256, IX86_BUILTIN_MOVMSKPD256 and
IX86_BUILTIN_MOVMSKPS256.
(ix86_init_mmx_sse_builtins): Support AVX builtins.
(ix86_expand_args_builtin): Likewise.
(ix86_expand_special_args_builtin): Likewise.
(ix86_hard_regno_mode_ok): Handle AVX modes.
(ix86_expand_vector_init_duplicate): Likewise.
(ix86_expand_vector_init_one_nonzero): Likewise.
(ix86_expand_vector_init_one_var): Likewise.
(ix86_expand_vector_init_concat): Likewise.
(ix86_expand_vector_init_general): Likewise.
(ix86_expand_vector_set): Likewise.
(ix86_vector_mode_supported_p): Likewise.
(x86_extended_reg_mentioned_p): Check INSN_P before using
PATTERN.

* config/i386/i386-c.c (ix86_target_macros_internal): Handle
OPTION_MASK_ISA_AVX and OPTION_MASK_ISA_FMA.

* config/i386/i386.h (TARGET_AVX): New.
(TARGET_FMA): Likewise.
(TARGET_CPU_CPP_BUILTINS): Handle TARGET_AVX and TARGET_FMA.
(BIGGEST_ALIGNMENT): Set to 256 for TARGET_AVX.
(VALID_AVX256_REG_MODE): New.
(AVX256_VEC_FLOAT_MODE_P): Likewise.
(AVX_FLOAT_MODE_P): Likewise.
(AVX128_VEC_FLOAT_MODE_P): Likewise.
(AVX256_VEC_FLOAT_MODE_P): Likewise.
(AVX_VEC_FLOAT_MODE_P): Likewise.
(ASM_OUTPUT_AVX_PREFIX): Likewise.
(ASM_OUTPUT_OPCODE): Likewise.
(UNITS_PER_SIMD_WORD): Add a FIXME for 32byte vectorizer
support.
(SSE_REG_MODE_P): Allow 256bit vector modes.
(ix86_args): Add a warn_avx field.

* config/i386/i386.md (UNSPEC_PCMP): New.
(UNSPEC_VPERMIL): Likewise.
(UNSPEC_VPERMIL2): Likewise.
(UNSPEC_VPERMIL2F128): Likewise.
(UNSPEC_MASKLOAD): Likewise.
(UNSPEC_MASKSTORE): Likewise.
(UNSPEC_CAST): Likewise.
(UNSPEC_VTESTP): Likewise.
(UNSPECV_VZEROALL): Likewise.
(UNSPECV_VZEROUPPER): Likewise.
(XMM0_REG): Likewise.
(XMM1_REG): Likewise.
(XMM2_REG): Likewise.
(XMM3_REG): Likewise.
(XMM4_REG): Likewise.
(XMM5_REG): Likewise.
(XMM6_REG): Likewise.
(XMM8_REG): Likewise.
(XMM9_REG): Likewise.
(XMM10_REG): Likewise.
(XMM11_REG): Likewise.
(XMM12_REG): Likewise.
(XMM13_REG): Likewise.
(XMM14_REG): Likewise.
(XMM15_REG): Likewise.
(prefix): Likewise.
(prefix_vex_imm8): Likewise.
(prefix_vex_w): Likewise.
(length_vex): Likewise.
(maxmin): Likewise.
(movoi): Likewise.
(*avx_ashlti3): Likewise.
(*avx_lshrti3): Likewise.
(*avx_setcc<mode>): Likewise.
(*fop_<mode>_comm_mixed_avx): Likewise.
(*fop_<mode>_comm_avx): Likewise.
(*fop_<mode>_1_mixed_avx): Likewise.
(*fop_<mode>_1_avx): Likewise.
(*avx_<code><mode>3): Likewise.
(*avx_ieee_smin<mode>3): Likewise.
(*avx_ieee_smax<mode>3): Likewise.
(mode): Add OI, V8SF and V4DF.
(length): Support VEX prefix.
(*cmpfp_i_mixed): Set prefix attribute.
(*cmpfp_i_sse): Likewise.
(*cmpfp_iu_mixed): Likewise.
(*cmpfp_iu_sse): Likewise.
(*movsi_1): Support AVX.
(*movdi_2): Likewise.
(*movdi_1_rex64): Likewise.
(*movti_internal): Likewise.
(*movti_rex64): Likewise.
(*movsf_1): Likewise.
(*movdf_nointeger): Likewise.
(*movdf_integer_rex64): Likewise.
(*movtf_internal): Likewise.
(zero_extendsidi2_32): Likewise.
(zero_extendsidi2_rex64): Likewise.
(*extendsfdf2_mixed): Likewise.
(*extendsfdf2_sse): Likewise.
(*truncdfsf_fast_mixed): Likewise.
(*truncdfsf_fast_sse): Likewise.
(*truncdfsf_mixed): Likewise.
(fix_trunc<mode>di_sse): Likewise.
(fix_trunc<mode>si_sse): Likewise.
(*float<SSEMODEI24:mode><MODEF:mode>2_mixed_interunit): Likewise.
(*float<SSEMODEI24:mode><MODEF:mode>2_mixed_nointerunit): Likewise.
(*float<SSEMODEI24:mode><MODEF:mode>2_sse_interunit): Likewise.
(*float<SSEMODEI24:mode><MODEF:mode>2_sse_nointerunit): Likewise.
(*rcpsf2_sse): Likewise.
(*rsqrtsf2_sse): Likewise.
(*sqrt<mode>2_sse): Likewise.
(sse4_1_round<mode>2): Likewise.
(*sse_prologue_save_insn): Disallow REX prefix for AVX.
Support AVX.  Set length attribute properly for AVX.

* config/i386/i386-modes.def (VECTOR_MODES (INT, 32)): New.
(VECTOR_MODES (FLOAT, 32)): Likewise.
(VECTOR_MODE (INT, DI, 8)): Likewise.
(VECTOR_MODE (INT, HI, 32)): Likewise.
(VECTOR_MODE (INT, QI, 64)): Likewise.
(VECTOR_MODE (FLOAT, DF, 8)): Likewise.
(VECTOR_MODE (FLOAT, SF, 16)): Likewise.
(VECTOR_MODE (INT, DI, 4)): Removed.
(VECTOR_MODE (INT, SI, 8)): Likewise.
(VECTOR_MODE (INT, HI, 16)): Likewise.
(VECTOR_MODE (INT, QI, 32)): Likewise.
(VECTOR_MODE (FLOAT, SF, 8)): Likewise.
(INT_MODE (OI, 32)): Likewise.

* config/i386/i386.opt (mavx): New.
(mfma): Likewise.

* config/i386/i386-protos.h (ix86_attr_length_vex_default): New.

* config/i386/mmx.md (*mov<mode>_internal_rex64): Support AVX.
(*mov<mode>_internal_avx): New.
(*movv2sf_internal_rex64_avx): Likewise.
(*movv2sf_internal_avx): Likewise.

* config/i386/predicates.md (const_4_to_5_operand): New.
(const_6_to_7_operand): Likewise.
(const_8_to_11_operand): Likewise.
(const_12_to_15_operand): Likewise.
(avx_comparison_float_operator): Likewise.

* config/i386/sse.md (AVX256MODEI): New.
(AVX256MODE): Likewise.
(AVXMODEQI): Likewise.
(AVXMODE): Likewise.
(AVX256MODEF2P): Likewise.
(AVX256MODE2P): Likewise.
(AVX256MODE4P): Likewise.
(AVX256MODE8P): Likewise.
(AVXMODEF2P): Likewise.
(AVXMODEF4P): Likewise.
(AVXMODEDCVTDQ2PS): Likewise.
(AVXMODEDCVTPS2DQ): Likewise.
(avxvecmode): Likewise.
(avxvecpsmode): Likewise.
(avxhalfvecmode): Likewise.
(avxscalarmode): Likewise.
(avxcvtvecmode): Likewise.
(avxpermvecmode): Likewise.
(avxmodesuffixf2c): Likewise.
(avxmodesuffixp): Likewise.
(avxmodesuffixs): Likewise.
(avxmodesuffix): Likewise.
(vpermilbits): Likewise.
(pinsrbits): Likewise.
(mov<mode>): Likewise.
(*mov<mode>_internal): Likewise.
(push<mode>1): Likewise.
(movmisalign<mode>): Likewise.
(avx_movup<avxmodesuffixf2c><avxmodesuffix>): Likewise.
(avx_movdqu<avxmodesuffix>): Likewise.
(avx_lddqu<avxmodesuffix>): Likewise.
(<plusminus_insn><mode>3): Likewise.
(*avx_<plusminus_insn><mode>3): Likewise.
(*avx_vm<plusminus_insn><mode>3): Likewise.
(mul<mode>3): Likewise.
(*avx_mul<mode>3): Likewise.
(*avx_vmmul<mode>3): Likewise.
(divv8sf3): Likewise.
(divv4df3): Likewise.
(avx_div<mode>3): Likewise.
(*avx_div<mode>3): Likewise.
(*avx_vmdiv<mode>3): Likewise.
(avx_rcpv8sf2): Likewise.
(*avx_vmrcpv4sf2): Likewise.
(sqrtv8sf2): Likewise.
(avx_sqrtv8sf2): Likewise.
(*avx_vmsqrt<mode>2): Likewise.
(rsqrtv8sf2): Likewise.
(avx_rsqrtv8sf2): Likewise.
(*avx_vmrsqrtv4sf2): Likewise.
(<code><mode>3): Likewise.
(*avx_<code><mode>3_finite): Likewise.
(*avx_<code><mode>3): Likewise.
(*avx_vm<code><mode>3): Likewise.
(*avx_ieee_smin<mode>3): Likewise.
(*avx_ieee_smax<mode>3): Likewise.
(avx_addsubv8sf3): Likewise.
(avx_addsubv4df3): Likewise.
(*avx_addsubv4sf3): Likewise.
(*avx_addsubv2df3): Likewise.
(avx_h<plusminus_insn>v4df3): Likewise.
(avx_h<plusminus_insn>v8sf3): Likewise.
(*avx_h<plusminus_insn>v4sf3): Likewise.
(*avx_h<plusminus_insn>v2df3): Likewise.
(avx_cmpp<avxmodesuffixf2c><mode>3): Likewise.
(avx_cmps<ssemodesuffixf2c><mode>3): Likewise.
(*avx_maskcmp<mode>3): Likewise.
(avx_nand<mode>3): Likewise.
(*avx_<code><mode>3): Likewise.
(*avx_nand<mode>3): Likewise.
(*avx_<code><mode>3): Likewise.
(*avx_cvtsi2ss): Likewise.
(*avx_cvtsi2ssq): Likewise.
(*avx_cvtsi2sd): Likewise.
(*avx_cvtsi2sdq): Likewise.
(*avx_cvtsd2ss): Likewise.
(avx_cvtss2sd): Likewise.
(avx_cvtdq2ps<avxmodesuffix>): Likewise.
(avx_cvtps2dq<avxmodesuffix>): Likewise.
(avx_cvttps2dq<avxmodesuffix>): Likewise.
(*avx_cvtsi2sd): Likewise.
(*avx_cvtsi2sdq): Likewise.
(avx_cvtdq2pd256): Likewise.
(avx_cvtpd2dq256): Likewise.
(avx_cvttpd2dq256): Likewise.
(*avx_cvtsd2ss): Likewise.
(*avx_cvtss2sd): Likewise.
(avx_cvtpd2ps256): Likewise.
(avx_cvtps2pd256): Likewise.
(*avx_movhlps): Likewise.
(*avx_movlhps): Likewise.
(avx_unpckhps256): Likewise.
(*avx_unpckhps): Likewise.
(avx_unpcklps256): Likewise.
(*avx_unpcklps): Likewise.
(avx_movshdup256): Likewise.
(avx_movsldup256): Likewise.
(avx_shufps256): Likewise.
(avx_shufps256_1): Likewise.
(*avx_shufps_<mode>): Likewise.
(*avx_loadhps): Likewise.
(*avx_storelps): Likewise.
(*avx_loadlps): Likewise.
(*avx_movss): Likewise.
(*vec_dupv4sf_avx): Likewise.
(*vec_concatv2sf_avx): Likewise.
(*vec_concatv4sf_avx): Likewise.
(*vec_setv4sf_0_avx): Likewise.
(*vec_setv4sf_avx): Likewise.
(*avx_insertps): Likewise.
(avx_vextractf128<mode>): Likewise.
(vec_extract_lo_<mode>): Likewise.
(vec_extract_hi_<mode>): Likewise.
(vec_extract_lo_<mode>): Likewise.
(vec_extract_hi_<mode>): Likewise.
(vec_extract_lo_v16hi): Likewise.
(vec_extract_hi_v16hi): Likewise.
(vec_extract_lo_v32qi): Likewise.
(vec_extract_hi_v32qi): Likewise.
(avx_unpckhpd256): Likewise.
(*avx_unpckhpd): Likewise.
(avx_movddup256): Likewise.
(*avx_movddup): Likewise.
(avx_unpcklpd256): Likewise.
(*avx_unpcklpd): Likewise.
(avx_shufpd256): Likewise.
(avx_shufpd256_1): Likewise.
(*avx_punpckhqdq): Likewise.
(*avx_punpcklqdq): Likewise.
(*avx_shufpd_<mode>): Likewise.
(*avx_storehpd): Likewise.
(*avx_loadhpd): Likewise.
(*avx_loadlpd): Likewise.
(*avx_movsd): Likewise.
(*vec_concatv2df_avx): Likewise.
(*avx_<plusminus_insn><mode>3): Likewise.
(*avx_<plusminus_insn><mode>3): Likewise.
(*avx_mulv8hi3): Likewise.
(*avxv8hi3_highpart): Likewise.
(*avx_umulv8hi3_highpart): Likewise.
(*avx_umulv2siv2di3): Likewise.
(*avx_mulv2siv2di3): Likewise.
(*avx_pmaddwd): Likewise.
(*avx_mulv4si3): Likewise.
(*avx_ashr<mode>3): Likewise.
(*avx_lshr<mode>3): Likewise.
(*avx_ashl<mode>3): Likewise.
(*avx_<code><mode>3): Likewise.
(*avx_eq<mode>3): Likewise.
(*avx_gt<mode>3): Likewise.
(*avx_nand<mode>3): Likewise.
(*avx_nand<mode>3): Likewise.
(*avx_<code><mode>3): Likewise.
(*avx_<code><mode>3): Likewise.
(*avx_packsswb): Likewise.
(*avx_packssdw): Likewise.
(*avx_packuswb): Likewise.
(*avx_punpckhbw): Likewise.
(*avx_punpcklbw): Likewise.
(*avx_punpckhwd): Likewise.
(*avx_punpcklwd): Likewise.
(*avx_punpckhdq): Likewise.
(*avx_punpckldq): Likewise.
(*avx_pinsr<avxmodesuffixs>): Likewise.
(*avx_pinsrq): Likewise.
(*avx_loadld): Likewise.
(*vec_extractv2di_1_rex64_avx): Likewise.
(*vec_extractv2di_1_avx): Likewise.
(*vec_dupv2di_avx): Likewise.
(*vec_concatv2si_avx): Likewise.
(*vec_concatv4si_1_avx): Likewise.
(*vec_concatv2di_avx): Likewise.
(*vec_concatv2di_rex64_avx): Likewise.
(*avx_uavgv16qi3): Likewise.
(*avx_uavgv8hi3): Likewise.
(*avx_psadbw): Likewise.
(avx_movmskp<avxmodesuffixf2c>256): Likewise.
(*avx_phaddwv8hi3): Likewise.
(*avx_phadddv4si3): Likewise.
(*avx_phaddswv8hi3): Likewise.
(*avx_phsubwv8hi3): Likewise.
(*avx_phsubdv4si3): Likewise.
(*avx_phsubswv8hi3): Likewise.
(*avx_pmaddubsw128): Likewise.
(*avx_pmulhrswv8hi3): Likewise.
(*avx_pshufbv16qi3): Likewise.
(*avx_psign<mode>3): Likewise.
(*avx_palignrti): Likewise.
(avx_blendp<avxmodesuffixf2c><avxmodesuffix>): Likewise.
(avx_blendvp<avxmodesuffixf2c><avxmodesuffix>): Likewise.
(avx_dpp<avxmodesuffixf2c><avxmodesuffix>): Likewise.
(*avx_mpsadbw): Likewise.
(*avx_packusdw): Likewise.
(*avx_pblendvb): Likewise.
(*avx_pblendw): Likewise.
(avx_vtestp<avxmodesuffixf2c><avxmodesuffix>): Likewise.
(avx_ptest256): Likewise.
(avx_roundp<avxmodesuffixf2c>256): Likewise.
(*avx_rounds<ssemodesuffixf2c>): Likewise.
(*avx_aesenc): Likewise.
(*avx_aesenclast): Likewise.
(*avx_aesdec): Likewise.
(*avx_aesdeclast): Likewise.
(avx_vzeroupper): Likewise.
(avx_vzeroupper_rex64): Likewise.
(avx_vpermil<mode>): Likewise.
(avx_vpermilvar<mode>3): Likewise.
(avx_vpermil2<mode>3): Likewise.
(avx_vperm2f128<mode>3): Likewise.
(avx_vbroadcasts<avxmodesuffixf2c><avxmodesuffix>): Likewise.
(avx_vbroadcastss256): Likewise.
(avx_vbroadcastf128_p<avxmodesuffixf2c>256): Likewise.
(avx_vinsertf128<mode>): Likewise.
(vec_set_lo_<mode>): Likewise.
(vec_set_hi_<mode>): Likewise.
(vec_set_lo_<mode>): Likewise.
(vec_set_hi_<mode>): Likewise.
(vec_set_lo_v16hi): Likewise.
(vec_set_hi_v16hi): Likewise.
(vec_set_lo_v32qi): Likewise.
(vec_set_hi_v32qi): Likewise.
(avx_maskloadp<avxmodesuffixf2c><avxmodesuffix>): Likewise.
(avx_maskstorep<avxmodesuffixf2c><avxmodesuffix>): Likewise.
(avx_<avxmodesuffixp><avxmodesuffix>_<avxmodesuffixp>): Likewise.
(avx_<avxmodesuffixp>_<avxmodesuffixp><avxmodesuffix>): Likewise.
(vec_init<mode>): Likewise.
(*vec_concat<mode>_avx): Likewise.
(blendbits): Support V8SF and V4DF.
(sse2_movq128): Support AVX.
(<sse>_movnt<mode>): Likewise.
(sse2_movntv2di): Likewise.
(sse_rcpv4sf2): Likewise.
(sse_sqrtv4sf2): Likewise.
(sse_rsqrtv4sf2): Likewise.
(<sse>_comi): Likewise.
(<sse>_ucomi): Likewise.
(sse_cvtss2si): Likewise.
(sse_cvtss2si_2): Likewise.
(sse_cvtss2siq): Likewise.
(sse_cvtss2siq_2): Likewise.
(sse_cvttss2si): Likewise.
(sse_cvttss2siq): Likewise.
(sse2_cvtsd2si): Likewise.
(sse2_cvtsd2si_2): Likewise.
(sse2_cvtsd2siq): Likewise.
(sse2_cvtsd2siq_2): Likewise.
(sse2_cvttsd2si): Likewise.
(sse2_cvttsd2siq): Likewise.
(sse2_cvtdq2pd): Likewise.
(*sse2_cvtpd2dq): Likewise.
(*sse2_cvttpd2dq): Likewise.
(*sse2_cvtpd2ps): Likewise.
(sse2_cvtps2pd): Likewise.
(sse3_movshdup): Likewise.
(sse3_movsldup): Likewise.
(sse_storehps): Likewise.
(*sse4_1_extractps): Likewise.
(sse2_storelpd): Likewise.
(vec_dupv2df_sse3): Likewise.
(*vec_concatv2df_sse3): Likewise.
(*sse4_1_pextrb): Likewise.
(*sse4_1_pextrb_memory): Likewise.
(*sse2_pextrw): Likewise.
(*sse4_1_pextrw_memory): Likewise.
(*sse4_1_pextrd): Likewise.
(*sse4_1_pextrq): Likewise.
(sse2_pshufd_1): Likewise.
(sse2_pshuflw_1): Likewise.
(sse2_pshufhw_1): Likewise.
(*sse2_storeq_rex64): Likewise.
(*vec_dupv4si): Likewise.
(<sse>_movmskp<ssemodesuffixf2c>): Likewise.
(sse2_pmovmskb): Likewise.
(*sse2_maskmovdqu): Likewise.
(*sse2_maskmovdqu_rex64): Likewise.
(sse_ldmxcsr): Likewise.
(sse_stmxcsr): Likewise.
(abs<mode>2): Likewise.
(sse4_1_movntdqa): Likewise.
(sse4_1_phminposuw): Likewise.
(sse4_1_extendv8qiv8hi2): Likewise.
(*sse4_1_extendv8qiv8hi2): Likewise.
(sse4_1_extendv4qiv4si2): Likewise.
(*sse4_1_extendv4qiv4si2): Likewise.
(sse4_1_extendv2qiv2di2): Likewise.
(*sse4_1_extendv2qiv2di2): Likewise.
(sse4_1_extendv4hiv4si2): Likewise.
(*sse4_1_extendv4hiv4si2): Likewise.
(sse4_1_extendv2hiv2di2): Likewise.
(*sse4_1_extendv2hiv2di2): Likewise.
(sse4_1_extendv2siv2di2): Likewise.
(*sse4_1_extendv2siv2di2): Likewise.
(sse4_1_zero_extendv8qiv8hi2): Likewise.
(*sse4_1_zero_extendv8qiv8hi2): Likewise.
(sse4_1_zero_extendv4qiv4si2): Likewise.
(*sse4_1_zero_extendv4qiv4si2): Likewise.
(sse4_1_zero_extendv2qiv2di2): Likewise.
(*sse4_1_zero_extendv2qiv2di2): Likewise.
(sse4_1_zero_extendv4hiv4si2): Likewise.
(*sse4_1_zero_extendv4hiv4si2): Likewise.
(sse4_1_zero_extendv2hiv2di2): Likewise.
(*sse4_1_zero_extendv2hiv2di2): Likewise.
(sse4_1_zero_extendv2siv2di2): Likewise.
(*sse4_1_zero_extendv2siv2di2): Likewise.
(sse4_1_ptest): Likewise.
(sse4_1_roundp<ssemodesuffixf2c>): Likewise.
(sse4_2_pcmpestri): Likewise.
(sse4_2_pcmpestrm): Likewise.
(sse4_2_pcmpistri): Likewise.
(sse4_2_pcmpistrm): Likewise.
(aesimc): Likewise.
(aeskeygenassist): Likewise.

2008-08-28  Uros Bizjak  <ubizjak@gmail.com>

* config/i386/predicates.md (vzeroall_operation): New.

* config/i386/sse.md (avx_vzeroall): New.
(*avx_vzeroall): Likewise.

From-SVN: r139726

16 years agoarm.c (TARGET_MAX_ANCHOR_OFFSET): New.
Paul Brook [Thu, 28 Aug 2008 18:03:51 +0000 (18:03 +0000)]
arm.c (TARGET_MAX_ANCHOR_OFFSET): New.

2008-08-28  Paul Brook  <paul@codesourcery.com>
Mark Shinwell  <shinwell@codesourcery.com>
Richard Earnshaw  <richard.earnshaw@arm.com>

gcc/
* config/arm/arm.c (TARGET_MAX_ANCHOR_OFFSET): New.
(TARGET_MIN_ANCHOR_OFFSET): New.
(arm_override_options): Set correct anchor ranges for Thumb-1
and Thumb-2 if required.
(legitimize_pic_address): Handle case involving a TLS symbol
reference with an addend.
(arm_optimization_options): Enable section anchors at -O1 and
above.
* config/arm/arm.h (OPTIMIZATION_OPTIONS): New.
* config/arm/arm-protos.h (arm_optimization_options): New.

Co-Authored-By: Mark Shinwell <shinwell@codesourcery.com>
Co-Authored-By: Richard Earnshaw <rearnsha@arm.com>
From-SVN: r139725

16 years agogfortran.h (enum expr_t): New value `EXPR_COMPCALL'.
Daniel Kraft [Thu, 28 Aug 2008 18:03:02 +0000 (20:03 +0200)]
gfortran.h (enum expr_t): New value `EXPR_COMPCALL'.

2008-08-28  Daniel Kraft  <d@domob.eu>

* gfortran.h (enum expr_t): New value `EXPR_COMPCALL'.
(gfc_get_typebound_proc): New macro.
(struct gfc_expr): New union-member `compcall' for EXPR_COMPCALL.
(enum gfc_exec_op): New value `EXEC_COMPCALL'.
(gfc_find_typebound_proc): New argument.
(gfc_copy_ref), (gfc_match_varspec): Made public.
* decl.c (match_procedure_in_type): Use gfc_get_typebound_proc.
* expr.c (free_expr0), (gfc_copy_expr): Handle EXPR_COMPCALL.
(gfc_copy_ref): Made public and use new name.
(simplify_const_ref): Use new name of gfc_copy_ref.
(simplify_parameter_variable): Ditto.
(gfc_simplify_expr): gcc_unreachable for EXPR_COMPCALL.
* match.c (match_typebound_call): New method.
(gfc_match_call): Allow for CALL's to typebound procedures.
* module.c (binding_passing), (binding_overriding): New variables.
(expr_types): Add EXPR_COMPCALL.
(mio_expr): gcc_unreachable for EXPR_COMPCALL.
(mio_typebound_proc), (mio_typebound_symtree): New methods.
(mio_f2k_derived): Handle type-bound procedures.
* primary.c (gfc_match_varspec): Made public and parse trailing
references to type-bound procedures; new argument `sub_flag'.
(gfc_match_rvalue): New name and argument of gfc_match_varspec.
(match_variable): Ditto.
* resolve.c (update_arglist_pass): New method.
(update_compcall_arglist), (resolve_typebound_static): New methods.
(resolve_typebound_call), (resolve_compcall): New methods.
(gfc_resolve_expr): Handle EXPR_COMPCALL.
(resolve_code): Handle EXEC_COMPCALL.
(resolve_fl_derived): New argument to gfc_find_typebound_proc.
(resolve_typebound_procedure): Ditto and removed not-implemented error.
* st.c (gfc_free_statement): Handle EXEC_COMPCALL.
* symbol.c (gfc_find_typebound_proc): New argument `noaccess' and
implement access-checking.
* trans-expr.c (gfc_apply_interface_mapping_to_expr): gcc_unreachable
on EXPR_COMPCALL.
* trans-intrinsic.c (gfc_conv_intrinsic_bound): Add missing break.
* trans-openmp.c (gfc_trans_omp_array_reduction): Add missing
intialization of ref->type.

2008-08-28  Daniel Kraft  <d@domob.eu>

* gfortran.dg/typebound_call_1.f03: New test.
* gfortran.dg/typebound_call_2.f03: New test.
* gfortran.dg/typebound_call_3.f03: New test.
* gfortran.dg/typebound_call_4.f03: New test.
* gfortran.dg/typebound_call_5.f03: New test.
* gfortran.dg/typebound_call_6.f03: New test.
* gfortran.dg/typebound_proc_1.f08: Don't expect not-implemented error.
* gfortran.dg/typebound_proc_2.f90: Ditto.
* gfortran.dg/typebound_proc_5.f03: Ditto.
* gfortran.dg/typebound_proc_6.f03: Ditto.
* gfortran.dg/typebound_proc_7.f03: Ditto.
* gfortran.dg/typebound_proc_8.f03: Ditto.

From-SVN: r139724

16 years agostormy16.h (IRA_COVER_CLASSES): Define.
Nick Clifton [Thu, 28 Aug 2008 17:02:28 +0000 (17:02 +0000)]
stormy16.h (IRA_COVER_CLASSES): Define.

        * config/stormy16/stormy16.h (IRA_COVER_CLASSES): Define.
        * config/stormy16/stormy16.md (zero_extendqihi2): Fix length
        attribute.

From-SVN: r139723

16 years agov850.h (IRA_COVER_CLASSES): Define.
Nick Clifton [Thu, 28 Aug 2008 16:57:34 +0000 (16:57 +0000)]
v850.h (IRA_COVER_CLASSES): Define.

        * config/v850/v850.h (IRA_COVER_CLASSES): Define.
        * config/v850/v850.md (return): Remove frame size restriction.

From-SVN: r139722

16 years ago* config/mcore/mcore.h (IRA_COVER_CLASSES): Define.
Nick Clifton [Thu, 28 Aug 2008 16:54:08 +0000 (16:54 +0000)]
* config/mcore/mcore.h (IRA_COVER_CLASSES): Define.

From-SVN: r139721

16 years ago* config/iq2000/iq2000.h (IRA_COVER_CLASSES): Define.
Nick Clifton [Thu, 28 Aug 2008 16:52:16 +0000 (16:52 +0000)]
* config/iq2000/iq2000.h (IRA_COVER_CLASSES): Define.

From-SVN: r139720

16 years ago* config/fr30/fr30.h (IRA_COVER_CLASSES): Define.
Nick Clifton [Thu, 28 Aug 2008 16:49:56 +0000 (16:49 +0000)]
* config/fr30/fr30.h (IRA_COVER_CLASSES): Define.

From-SVN: r139719

16 years ago* config/m32r/m32r.h (IRA_COVER_CLASSES): Define.
Nick Clifton [Thu, 28 Aug 2008 16:47:18 +0000 (16:47 +0000)]
* config/m32r/m32r.h (IRA_COVER_CLASSES): Define.

From-SVN: r139718

16 years agovfp11.md: Update license notice.
Paul Brook [Thu, 28 Aug 2008 16:17:11 +0000 (16:17 +0000)]
vfp11.md: Update license notice.

2008-08-28  Paul Brook  <paul@codesourcery.com>

* config/arm/vfp11.md: Update license notice.
* config/arm/cortex-r4.md: Ditto.

From-SVN: r139717

16 years agoconfigure: Regenerate.
Laurent GUERBY [Thu, 28 Aug 2008 15:58:31 +0000 (15:58 +0000)]
configure: Regenerate.

2008-08-28  Laurent Guerby  <laurent@guerby.net>

* configure: Regenerate.

From-SVN: r139716

16 years agoconfigure.ac (powerpc-*-darwin*, [...]): Enable bfd, binutils and opcodes.
Tristan Gingold [Thu, 28 Aug 2008 15:35:34 +0000 (15:35 +0000)]
configure.ac (powerpc-*-darwin*, [...]): Enable bfd, binutils and opcodes.

        * configure.ac (powerpc-*-darwin*, i?86-*-darwin*,x86_64-*-darwin9):
        Enable bfd, binutils and opcodes.
        * configure: Regenerate.

From-SVN: r139715

16 years agore PR tree-optimization/37207 (ice at tree-ssa-ifcombine.c:222 for -Os)
Richard Guenther [Thu, 28 Aug 2008 15:26:13 +0000 (15:26 +0000)]
re PR tree-optimization/37207 (ice at tree-ssa-ifcombine.c:222 for -Os)

2008-08-28  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/37207
* tree-ssa-ifcombine.c (recognize_single_bit_test): Fix
tuplification bug.

* gcc.c-torture/compile/pr37207.c: New testcase.

From-SVN: r139714

16 years agore PR fortran/37253 (Segmentation fault with procedure pointer)
Janus Weil [Thu, 28 Aug 2008 15:10:50 +0000 (17:10 +0200)]
re PR fortran/37253 (Segmentation fault with procedure pointer)

2008-08-28  Janus Weil  <janus@gcc.gnu.org>

PR fortran/37253
* module.c (ab_attribute,attr_bits,mio_symbol_attribute): Take care of
saving attr.procedure and attr.proc_ptr to the module file.

2008-08-28  Janus Weil  <janus@gcc.gnu.org>

PR fortran/37253
* gfortran.dg/proc_ptr_10.f90: New.

From-SVN: r139713

16 years agore PR c++/36741 (Bogus "large integer implicitly truncated" passing size_t constant...
Dodji Seketeli [Thu, 28 Aug 2008 14:49:48 +0000 (14:49 +0000)]
re PR c++/36741 (Bogus "large integer implicitly truncated" passing size_t constant to new)

2008-08-28  Dodji Seketeli  <dodji@redhat.com>

PR c++/36741
* tree.c (int_fits_type_p): Don't forget unsigned integers
  of type sizetype which higher end word equals -1.

From-SVN: r139712

16 years agotarget.h (struct vectorize): Add new target builtin.
Ira Rosen [Thu, 28 Aug 2008 11:11:14 +0000 (11:11 +0000)]
target.h (struct vectorize): Add new target builtin.

* target.h (struct vectorize): Add new target builtin.
* tree-vectorizer.c (destroy_loop_vec_info): Call
vect_free_slp_instance instead of vect_free_slp_node.
* tree-vectorizer.h (enum slp_load_perm_type): New.
(struct _slp_instance): Add new fields.
(SLP_INSTANCE_LOAD_PERMUTATION): New.
(SLP_INSTANCE_LOADS): New.
(vect_free_slp_tree): Remove.
(vect_free_slp_instance): Declare.
(SLP_TREE_LOADS_PERM_TYPE, TARG_VEC_PERMUTE_COST): New.
(vectorizable_load): Add argument.
(vect_transform_slp_perm_load): New.
* tree-vect-analyze.c (vect_analyze_operations): Add an argument to
vectorizable_load.
(vect_get_place_in_interleaving_chain): New function.
(vect_free_slp_tree): Make static.
(vect_free_slp_instance): New function.
(vect_build_slp_tree): Add new arguments. Allow load permutations and
collect the load location in the interleaving chain.
(vect_supported_slp_permutation_p): New function.
(vect_supported_load_permutation_p): Likewise.
(vect_analyze_slp_instance): In case of loads permutation, call
vect_supported_load_permutation_p to check that the permutation is
supported.
* target-def.h (TARGET_VECTORIZE_BUILTIN_VEC_PERM): New.
* tree-vect-transform.c (vect_transform_stmt): Add new argument.
(vect_create_mask_and_perm): New function.
(vect_get_mask_element, vect_transform_slp_perm_load): Likewise.
(vectorizable_load): Add an argument. Don't keep the created vectors
statements in the node if permutation is required. Call
vect_transform_slp_perm_load to generate the permutation.
(vect_transform_stmt): Add new argument. Call vectorizable_load with
additional argument.
(vect_schedule_slp_instance): In case of loads permutation, allocate
vectorized statements structure for all the related SLP nodes. Call
vect_transform_stmt with addditional argument.
(vect_transform_loop): Call vect_transform_stmt with correct arguments.
* config/spu/spu.c (spu_builtin_vec_perm): New.
(TARGET_VECTORIZE_BUILTIN_VEC_PERM): Redefine.
* config/spu/spu.h (TARG_VEC_PERMUTE_COS): Define.
* config/rs6000/rs6000.c (rs6000_builtin_vec_perm): New.
(TARGET_VECTORIZE_BUILTIN_VEC_PERM): Redefine.

From-SVN: r139706

16 years agoacinclude.m4 ([GLIBCXX_CHECK_GTHREADS]): New.
Chris Fairles [Thu, 28 Aug 2008 10:22:19 +0000 (10:22 +0000)]
acinclude.m4 ([GLIBCXX_CHECK_GTHREADS]): New.

2008-08-28  Chris Fairles  <chris.fairles@gmail.com>

        * acinclude.m4 ([GLIBCXX_CHECK_GTHREADS]): New. Checks for gthread
support used by c++0x thread library.
* configure.ac: Test unconditionally.
* configure: Regenerate.
* config.h.in: Regenerate.

From-SVN: r139705

16 years agogthr-posix.h (__gthread_create, [...]): New functions.
Chris Fairles [Thu, 28 Aug 2008 09:20:57 +0000 (09:20 +0000)]
gthr-posix.h (__gthread_create, [...]): New functions.

2008-08-28  Chris Fairles  <chris.fairles@gmail.com>

        * gthr-posix.h (__gthread_create,  __gthread_join, __gthread_detach,
__gthread_mutex_timed_lock, __gthread_recursive_mutex_timed_lock,
__gthread_cond_signal, __gthread_cond_timedwait,
__gthread_cond_timedwait_recursive): New functions.
* gthr-posix.c (pthread_mutex_timedlock, pthread_cond_timedwait):
Likewise.
* gthr.h: Comment on defining __GTHREADS_CXX0X macro in conforming
thread interfaces.

From-SVN: r139704

16 years agore PR tree-optimization/37005 (GNAT Bug Box for cd2a24e.adb:37 at tree-vrp.c:392)
Richard Guenther [Thu, 28 Aug 2008 08:31:37 +0000 (08:31 +0000)]
re PR tree-optimization/37005 (GNAT Bug Box for cd2a24e.adb:37 at tree-vrp.c:392)

2008-08-28  Richard Guenther  <rguenther@suse.de>

PR middle-end/37005
* fold-const.c (maybe_canonicalize_comparison_1): Require
undefined overflow only for canonicalizing A +- CST cmp CST.
Make sure to not generate new constants that are not inside
their TYPE_MIN/MAX_VALUE range.
(maybe_canonicalize_comparison): Remove undefined overflow
checking from here.
(fold_binary): Remove now duplicate folding.

From-SVN: r139702

16 years agoMAINTAINERS: Update my hppa and hpux entries.
John David Anglin [Thu, 28 Aug 2008 01:56:47 +0000 (01:56 +0000)]
MAINTAINERS: Update my hppa and hpux entries.

* MAINTAINERS: Update my hppa and hpux entries.  Remove my vax entry.

From-SVN: r139691

16 years agoMakefile.am: Edit xml file list.
Benjamin Kosnik [Thu, 28 Aug 2008 00:44:45 +0000 (00:44 +0000)]
Makefile.am: Edit xml file list.

2008-08-27  Benjamin Kosnik  <bkoz@redhat.com>

* doc/Makefile.am: Edit xml file list.
* doc/Makefile.in: Regenerate.
* configure: Regenerate.
* doc/xml/manual/intro.xml: Edit, correct links, structure.
* doc/xml/manual/configure.xml: Same.
* doc/xml/manual/debug.xml: Same.
* doc/xml/manual/test.xml: Same.
* doc/xml/manual/build.xml: Remove.
* doc/xml/manual/prerequisites.xml: Add.
* doc/html/*: Regenerate.

From-SVN: r139690

16 years agoc-typeck.c (convert_for_assignment): Adjust WARN_FOR_ASSIGNMENT use not updated in...
Paolo Carlini [Thu, 28 Aug 2008 00:40:11 +0000 (00:40 +0000)]
c-typeck.c (convert_for_assignment): Adjust WARN_FOR_ASSIGNMENT use not updated in the last change.

2008-08-27  Paolo Carlini  <paolo.carlini@oracle.com>

* c-typeck.c (convert_for_assignment): Adjust WARN_FOR_ASSIGNMENT
use not updated in the last change.

From-SVN: r139689

16 years agosh.h (REG_CLASS_CONTENTS): Drop fr32 from FPUL_REGS.
Kaz Kojima [Thu, 28 Aug 2008 00:37:56 +0000 (00:37 +0000)]
sh.h (REG_CLASS_CONTENTS): Drop fr32 from FPUL_REGS.

* config/sh/sh.h (REG_CLASS_CONTENTS): Drop fr32 from FPUL_REGS.
(IRA_COVER_CLASSES): Add FPUL_REGS.

From-SVN: r139688

16 years agoDaily bump.
GCC Administrator [Thu, 28 Aug 2008 00:16:44 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r139686

16 years agoChangeLog: Fix spelling mistake.
Manuel López-Ibáñez [Thu, 28 Aug 2008 00:08:51 +0000 (00:08 +0000)]
ChangeLog: Fix spelling mistake.

2008-08-28  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>

* ChangeLog: Fix spelling mistake.

From-SVN: r139683

16 years agore PR c++/37217 (-Wconversion causes ICE with __builtin_strcmp with one char compare)
Manuel López-Ibáñez [Thu, 28 Aug 2008 00:00:49 +0000 (00:00 +0000)]
re PR c++/37217 (-Wconversion causes ICE with __builtin_strcmp with one char compare)

2008-08-27  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>

PR 37217
* c-common.c (conversion_warning): Check for null operands.
testsuite/
* gcc.dg/pr37217.c: New.

From-SVN: r139682

16 years agore PR c/31673 ("`for' loop initial declaration used outside C99 mode" is confusing)
Manuel López-Ibáñez [Wed, 27 Aug 2008 23:54:36 +0000 (23:54 +0000)]
re PR c/31673 ("`for' loop initial declaration used outside C99 mode" is confusing)

2008-08-27  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>

PR c/31673
* c-decl.c (check_for_loop_decls): Improve error message. Give
hint.
testsuite/
* gcc.dg/c90-fordecl-1.c: Update.

From-SVN: r139681

16 years agore PR c/37186 (-Wno-error=pointer-sign does not work)
Manuel López-Ibáñez [Wed, 27 Aug 2008 23:51:13 +0000 (23:51 +0000)]
re PR c/37186 (-Wno-error=pointer-sign does not work)

2008-08-27  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>

PR c/37186
* c-typeck.c (WARN_FOR_ASSIGNMENT): Add OPT parameter.
(convert_for_assignment): Pass corrent OPT_W* parameter to
WARN_FOR_ASSIGNMENT.
testsuite/
* gcc.dg/pr37186.c: New.

From-SVN: r139680

16 years agotype-generic-1.c: Revert previous change.
Janis Johnson [Wed, 27 Aug 2008 23:43:05 +0000 (23:43 +0000)]
type-generic-1.c: Revert previous change.

* gcc.dg/torture/type-generic-1.c: Revert previous change.
* g++.dg/torture/type-generic-1.C: Ditto.

From-SVN: r139679

16 years agoipacost-1.c: Remove template matching only x86-64
Jan Hubicka [Wed, 27 Aug 2008 21:55:04 +0000 (23:55 +0200)]
ipacost-1.c: Remove template matching only x86-64

* gcc.dg/ipa/ipacost-1.c: Remove template matching only x86-64
* gcc.dg/ipa/ipacost-2.c: Add -fipa-cp-clone; remove template matching
only x86-64
* gcc.dg/ipa/ipa-1.c: Add -fipa-cp-clone
* gcc.dg/ipa/ipa-2.c: Add -fipa-cp-clone
* gcc.dg/ipa/ipa-3.c: Add -fipa-cp-clone
* gcc.dg/ipa/ipa-4.c: Add -fipa-cp-clone
* gcc.dg/ipa/ipa-5.c: Add -fipa-cp-clone
* gcc.dg/ipa/ipa-7.c: Add -fipa-cp-clone

From-SVN: r139677

16 years agohashtable (_Hashtable<>): Add missing pointer and const_pointer typedefs.
Paolo Carlini [Wed, 27 Aug 2008 19:27:11 +0000 (19:27 +0000)]
hashtable (_Hashtable<>): Add missing pointer and const_pointer typedefs.

2008-08-27  Paolo Carlini  <paolo.carlini@oracle.com>

* include/tr1_impl/hashtable (_Hashtable<>): Add missing pointer and
const_pointer typedefs.
* testsuite/tr1/6_containers/unordered_set/requirements/typedef.cc:
Add.
* testsuite/tr1/6_containers/unordered_map/requirements/typedef.cc:
Likewise.
* testsuite/tr1/6_containers/unordered_multiset/requirements/
typedef.cc: Likewise.
* testsuite/tr1/6_containers/unordered_multimap/requirements/
typedef.cc: Likewise.
* testsuite/23_containers/unordered_set/requirements/typedef.cc:
Likewise.
* testsuite/23_containers/unordered_map/requirements/typedef.cc:
Likewise.
* testsuite/23_containers/unordered_multiset/requirements/typedef.cc:
Likewise.
* testsuite/23_containers/unordered_multimap/requirements/typedef.cc:
Likewise.

From-SVN: r139674

16 years agogcc.pot: Regenerate.
Joseph Myers [Wed, 27 Aug 2008 17:44:43 +0000 (18:44 +0100)]
gcc.pot: Regenerate.

gcc/po:
* gcc.pot: Regenerate.

libcpp/po:
* cpplib.pot: Regenerate.

From-SVN: r139630

16 years agore PR c++/35321 (ICE with invalid use of __builtin_offsetof)
Paolo Carlini [Wed, 27 Aug 2008 17:08:40 +0000 (17:08 +0000)]
re PR c++/35321 (ICE with invalid use of __builtin_offsetof)

2008-08-27  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/35321
* c-common.c (fold_offsetof_1): Handle TARGET_EXPR like CALL_EXPR.

/testsuite
2008-08-27  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/35321
* g++.dg/parse/offsetof8.C: New.

From-SVN: r139628

16 years agoconfig.gcc: Loosen checks for arm uclinux eabi targets.
Paul Brook [Wed, 27 Aug 2008 16:22:06 +0000 (16:22 +0000)]
config.gcc: Loosen checks for arm uclinux eabi targets.

2008-08-27  Paul Brook  <paul@codesourcery.com>

* config.gcc: Loosen checks for arm uclinux eabi targets.

From-SVN: r139627

16 years agoeh_call.cc (__cxa_call_unexpected): Fix name of __get_object_from_ambiguous_exception.
Paul Brook [Wed, 27 Aug 2008 16:10:19 +0000 (16:10 +0000)]
eh_call.cc (__cxa_call_unexpected): Fix name of __get_object_from_ambiguous_exception.

2008-08-27  Paul Brook  <paul@codesourcery.com>

* libsupc++/eh_call.cc (__cxa_call_unexpected): Fix name of
__get_object_from_ambiguous_exception.

From-SVN: r139626

16 years agore PR c++/17880 (-Wsequence-point doesn't warn inside if, while, do conditions, for...
Manuel López-Ibáñez [Wed, 27 Aug 2008 16:06:00 +0000 (16:06 +0000)]
re PR c++/17880 (-Wsequence-point doesn't warn inside if, while, do conditions, for beg/cond/end expressions etc.)

2008-08-27  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>

PR c++/17880
cp/
* semantics.c (maybe_convert_cond): Call verify_sequence_points.
(finish_return_stmt): Likewise.
(finish_switch_condition): Likewise.
testsuite/
* g++.dg/warn/sequence-pt-1.C: New.
* g++.dg/warn/sequence-pt-pr17880.C: New.

From-SVN: r139625

16 years agot-arm-coff (LIB1ASMFUNCS): Add missing undescrore on _clzsi2.
Paul Brook [Wed, 27 Aug 2008 12:51:29 +0000 (12:51 +0000)]
t-arm-coff (LIB1ASMFUNCS): Add missing undescrore on _clzsi2.

2008-08-27  Paul Brook  <paul@codesourcery.com>

* config/arm/t-arm-coff (LIB1ASMFUNCS): Add missing undescrore on
_clzsi2.
* config/arm/t-linux (LIB1ASMFUNCS): Ditto.

From-SVN: r139624

16 years agocp-tree.h: Fix #error directive.
Manuel López-Ibáñez [Wed, 27 Aug 2008 08:18:44 +0000 (08:18 +0000)]
cp-tree.h: Fix #error directive.

2008-08-26  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>

* cp-tree.h: Fix #error directive.

From-SVN: r139623

16 years ago* src/mt_allocator.cc (__pool): Fix error in comment.
Ben Elliston [Wed, 27 Aug 2008 00:42:39 +0000 (00:42 +0000)]
* src/mt_allocator.cc (__pool): Fix error in comment.

From-SVN: r139617

16 years agoDaily bump.
GCC Administrator [Wed, 27 Aug 2008 00:16:40 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r139615

16 years agoNeglected to commit two ChangeLogs
Doug Gregor [Tue, 26 Aug 2008 22:33:39 +0000 (22:33 +0000)]
Neglected to commit two ChangeLogs

From-SVN: r139612

16 years agoc-common.c (do_switch_warnings): Look through the CONST_DECLs in the enumerators...
Douglas Gregor [Tue, 26 Aug 2008 22:33:10 +0000 (22:33 +0000)]
c-common.c (do_switch_warnings): Look through the CONST_DECLs in the enumerators of an ENUMERAL_TYPE.

2008-08-26  Douglas Gregor  <doug.gregor@gmail.com>

* c-common.c (do_switch_warnings): Look through the CONST_DECLs in
the enumerators of an ENUMERAL_TYPE.
* dbxout.c (dbxout_type): Ditto.

2008-08-26  Douglas Gregor  <doug.gregor@gmail.com>

* typeck.c (type_after_usual_arithmetic_conversions): Don't do the
usual arithmetic conversions on scoped enumeration types.
(common_type): Ditto.
(default_conversion): Don't perform integral promotions on scoped
enumeration types.
(build_array_ref): Scoped enumeration types can't be used as
subscripts.
* decl.c (start_enum): If building a C++0x scoped enumeration,
enter its scope. If provided with an underlying type, check that
underlying type and set up the enumeration type accordingly.
(finish_enum): Only compute an underlying type if the underlying
type isn't already fixed, and only convert the enumerator values
now if we've just computed the underlying type. Finish the scope
of C++0x scoped enumerations.
(build_enumerator): For enumerations with a fixed underlying type,
check the enumerator values when the enumerator is defined.
(lookup_enumerator): New.
* call.c (standard_conversion): Don't allow assignment from
integers to scoped enumeration types, even with -fpermissive.
Don't convert from scoped enumerations to bool or any arithmetic
types.
(build_conditional_expr): Don't per the usual arithmetic
conversions for scoped enumeration types.
(convert_like_real): Check complain to see if we should
produce warnings.
* error.c (class_key_or_enum_as_string): Print scoped enums.
* cp-tree.h (MAYBE_CLASS_TYPE_P): Check CLASS_TYPE_P, not
TYPE_LANG_FLAG_5.
(INTEGRAL_OR_UNSCOPED_ENUMERATION_TYPE_P): New.
(SCOPED_ENUM_P): New.
(UNSCOPED_ENUM_P): New.
(SET_SCOPED_ENUM_P): New.
(ENUM_UNDERLYING_TYPE): New.
* pt.c (lookup_template_class): Update the instantiation of enum
types to deal with C++0x scoped enumerations and underlying
types.
* name-lookup.c (begin_scope): Deal with scoped enumeration
scopes.
(lookup_qualified_name): Deal with lookup into enumeration types.
* name-lookup.h (enum scope_kind): Add sk_scoped_enum.
* parser.c (cp_parser_class_or_namespace_name): Rename to...
(cp_parser_qualifying_entity): ... this. Also, in C++0x mode,
parse a type-name that can be an enumeration type.
(cp_parser_nested_name_specifier_opt): Update with C++0x grammar.
(cp_parser_elaborated_type_specifier): Parse the
optional `struct' or `class' following enum (in C++0x).
(cp_parser_enum_specifier): Parse C++0x scoped enumerations and
enum-base clauses.

2008-08-26  Douglas Gregor  <doug.gregor@gmail.com>

* g++.dg/cpp0x/scoped_enum_examples.C: New.
* g++.dg/cpp0x/scoped_enum.C: New.
* g++.dg/cpp0x/scoped_enum_98.C: New.
* g++.dg/cpp0x/enum_base_warn.C: New.
* g++.dg/cpp0x/enum_base.C: New.

From-SVN: r139611

16 years agoaltivec-macros.c: Fix dg-message directives.
Janis Johnson [Tue, 26 Aug 2008 21:39:49 +0000 (21:39 +0000)]
altivec-macros.c: Fix dg-message directives.

* gcc.target/powerpc/altivec-macros.c: Fix dg-message directives.
* gcc.target/powerpc/ppu-intrinsics.c: Ignore some warnings.
* gcc.target/powerpc/darwin-save-world-1.c: Require AltiVec hardware.
* gcc.target/powerpc/altivec-types-1.c: Expect some notes.
* gcc.dg/Wstrict-aliasing-bogus-ref-all-2.c: Ignore a warning.
* g++.dg/ext/altivec-2.C: Initialize a local variable.
* g++.dg/ext/altivec-3.C: Move AltiVec code out of main.

From-SVN: r139610

16 years agogcc.dg/torture/type-generic-1.c: Don't use IBM 128-bit long double.
Janis Johnson [Tue, 26 Aug 2008 21:38:01 +0000 (21:38 +0000)]
gcc.dg/torture/type-generic-1.c: Don't use IBM 128-bit long double.

g++.dg/torture/type-generic-1.C: Ditto.

From-SVN: r139609

16 years agore PR rtl-optimization/37219 (fwprop1 is broken for addresses)
Andrew Pinski [Tue, 26 Aug 2008 19:02:05 +0000 (12:02 -0700)]
re PR rtl-optimization/37219 (fwprop1 is broken for addresses)

2008-08-26  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        PR rtl-opt/37219
        * fwprop.c (fwprop): Check that the loop_father is the outer loop.
        (fwprop_addr): Check that the loop_father is not the outer loop.

From-SVN: r139605

16 years agovfp.md: Document fmul{s,d} and fmac{s,d} types.
Paul Brook [Tue, 26 Aug 2008 17:16:53 +0000 (17:16 +0000)]
vfp.md: Document fmul{s,d} and fmac{s,d} types.

2008-08-28  Paul Brook  <paul@codesourcery.com>

* config/arm/vfp.md: Document fmul{s,d} and fmac{s,d} types.
Remove documentation entry for fmul type.
Use fmuls to annotate single-precision multiplication patterns,
fmuld to annotate double-precision multiplication patterns,
fmacs to annotate single-precision multiply-accumulate patterns
and fmacd to annotate double-precision multiply-accumulate patterns.
* config/arm/vfp11.md: Update reservations accordingly.
* config/arm/arm.md: Note that certain values of the "type"
attribute are documented in vfp.md.
* config/arm/arm1020e.md: Remove out of date duplicate comment.
(v10_cvt): Use new fmul types.

From-SVN: r139604

16 years agovfp.md: Move pipeline description for VFP11 to...
Paul Brook [Tue, 26 Aug 2008 17:16:00 +0000 (17:16 +0000)]
vfp.md: Move pipeline description for VFP11 to...

2008-08-26  Paul Brook   <paul@codesourcery.com>

* config/arm/vfp.md: Move pipeline description for VFP11 to...
* config/arm/vfp11.md: ...here.  New.
* config/arm/arm.md: Include vfp11.md.

From-SVN: r139603

16 years agoopts.c (decode_options): Add missing parameter to inform call.
Hans-Peter Nilsson [Tue, 26 Aug 2008 16:36:34 +0000 (16:36 +0000)]
opts.c (decode_options): Add missing parameter to inform call.

* opts.c (decode_options) [!IRA_COVER_CLASSES]: Add missing
parameter to inform call.

From-SVN: r139601

16 years agomn10300.md (movqi, movhi): Split i->d*a case into two cases to avoid the possibility...
Jeff Law [Tue, 26 Aug 2008 16:12:20 +0000 (10:12 -0600)]
mn10300.md (movqi, movhi): Split i->d*a case into two cases to avoid the possibility of getting...

* mn10300.md (movqi, movhi): Split i->d*a case into two cases to
avoid the possibility of getting DATA_OR_ADDRESS_REGS as the
preferred class when copying a constant into a partial word register.

From-SVN: r139600

16 years agovfp.md: Move pipeline description for VFP11 to...
Paul Brook [Tue, 26 Aug 2008 15:41:54 +0000 (15:41 +0000)]
vfp.md: Move pipeline description for VFP11 to...

2008-08-26  Paul Brook   <paul@codesourcery.com>

* config/arm/vfp.md: Move pipeline description for VFP11 to...
* config/arm/vfp11.md: ...here.  New.
* config/arm/arm.md: Include vfp11.md.

From-SVN: r139599

16 years agortlanal.c: Fix uses of "it's" with "its" where appropriate.
Ben Elliston [Tue, 26 Aug 2008 13:27:31 +0000 (13:27 +0000)]
rtlanal.c: Fix uses of "it's" with "its" where appropriate.

* rtlanal.c: Fix uses of "it's" with "its" where appropriate.
* cp/typeck.c: Likewise.
* cp/tree.c: Likewise.
* gimple-low.c: Likewise.
* jump.c: Likewise.

From-SVN: r139591

16 years ago[multiple changes]
Vladimir Makarov [Tue, 26 Aug 2008 12:39:58 +0000 (12:39 +0000)]
[multiple changes]

2008-08-26  Vladimir Makarov  <vmakarov@redhat.com>

* ira-build.c, ira-color.c, ira-costs.c, ira.h, ira-lives.c,
ira.c, ira-conflicts.c, ira-emit.c, ira-int.h: New files.

* doc/passes.texi: Describe IRA.

* doc/tm.texi (IRA_COVER_CLASSES,
IRA_HARD_REGNO_ADD_COST_MULTIPLIER): Describe the new macros.

* doc/invoke.texi (ira-max-loops-num): Describe the new parameter.
(-fira, -fira-algorithm, -fira-coalesce, -fno-ira-move-spills,
-fira-propagate-cost, -fno-ira-share-save-slots,
-fno-ira-share-spill-slots, -fira-verbose): Describe new options.

* flags.h (ira_algorithm): New enumeration.
(flag_ira_algorithm, flag_ira_verbose): New external variable
declarations.

* postreload.c (gate_handle_postreload): Don't do post reload
optimizations unless the reload is completed.

* reload.c (push_reload, find_dummy_reload): Use DF_LR_OUT for
IRA.

* tree-pass.h (pass_ira): New external variable declaration.

* reload.h: Add 2008 to the Copyright.

* cfgloopanal.c: Include params.h.
(estimate_reg_pressure_cost): Decrease cost for IRA optimization
mode.

* params.h (IRA_MAX_LOOPS_NUM): New macro.

* toplev.c (ira.h): New include.
(flag_ira_algorithm, flag_ira_verbose): New external variables.
(backend_init_target): Call ira_init.
(backend_init): Call ira_init_once.
(finalize): Call finish_ira_once.

* toplev.h (flag_ira, flag_ira_coalesce, flag_ira_move_spills,
flag_ira_share_save_slots, flag_ira_share_spill_slots): New
external variables.

* regs.h (contains_reg_of_mode, move_cost, may_move_in_cost,
may_move_out_cost): New external variable declarations.
(move_table): New typedef.

* caller-save.c: Include headers output.h and ira.h.
(no_caller_save_reg_set): New global variable.
(save_slots_num, save_slots): New variables.
(reg_save_code, reg_restore_code, add_stored_regs): Add
prototypes.
(init_caller_save): Set up no_caller_save_reg_set.
(init_save_areas): Reset save_slots_num.
(saved_hard_reg): New structure.
(hard_reg_map, saved_regs_num, all_saved_regs): New variables.
(initiate_saved_hard_regs, new_saved_hard_reg,
finish_saved_hard_regs, saved_hard_reg_compare_func): New
functions.
(setup_save_areas): Add code for sharing stack slots.
(all_blocks): New variable.
(save_call_clobbered_regs): Process pseudo-register too.
(mark_set_regs): Process pseudo-register too.
(insert_one_insn): Put the insn after bb note in a empty basic
block.  Add insn check.

* global.c (eliminable_regset): Make it external.
(mark_elimination): Use DF_LR_IN for IRA.
(pseudo_for_reload_consideration_p): New.
(build_insn_chain): Make it external.  Don't ignore spilled
pseudos for IRA.  Use pseudo_for_reload_consideration_p.
(gate_handle_global_alloc): New function.
(pass_global_alloc): Add the gate function.

* opts.c (decode_options): Set up flag_ira.  Print the warning for
-fira.
(common_handle_option): Process -fira-algorithm and -fira-verbose.

* timevar.def (TV_IRA, TV_RELOAD): New passes.

* regmove.c (regmove_optimize): Don't do replacement of output for
IRA.

* hard-reg-set.h (no_caller_save_reg_set, reg_class_subclasses):
New external variable declarations.

* local-alloc.c (update_equiv_regs): Make it external.  Return
true if jump label rebuilding should be done.  Rescan new_insn for
notes.
(gate_handle_local_alloc): New function.
(pass_local_alloc): Add the gate function.

* alias.c (value_addr_p, stack_addr_p): New functions.
(nonoverlapping_memrefs_p): Use them for IRA.

* common.opt (fira, fira-algorithm, fira-coalesce,
fira-move-spills, fira-share-save-slots, fira-share-spill-slots,
fira-verbose): New options.

* regclass.c (reg_class_subclasses, contains_reg_of_mode,
move_cost, may_move_in_cost, may_move_out_cost): Make the
variables external.
(move_table): Remove typedef.
(init_move_cost): Make it external.
(allocate_reg_info, resize_reg_info, setup_reg_classes): New
functions.

* rtl.h (init_move_cost, allocate_reg_info, resize_reg_info,
setup_reg_classes): New function prototypes.
(eliminable_regset): New external variable declaration.
(build_insn_chain, update_equiv_regs): New function prototypes.

* Makefile.in (IRA_INT_H): New definition.
(OBJS-common): Add ira.o, ira-build.o, ira-costs.o,
ira-conflicts.o, ira-color.o, ira-emit.o, and ira-lives.o.
(reload1.o, toplev.o): Add dependence on ira.h.
(cfgloopanal.o): Add PARAMS_H.
(caller-save.o): Add dependence on output.h and ira.h.
(ira.o, ira-build.o, ira-costs.o, ira-conflicts.o, ira-color.o,
ira-emit.o, ira-lives.o): New entries.

* passes.c (pass_ira): New pass.

* params.def (PARAM_IRA_MAX_LOOPS_NUM): New parameter.

* reload1.c (ira.h): Include the header.
(changed_allocation_pseudos): New bitmap.
(init_reload): Initiate the bitmap.
(compute_use_by_pseudos): Permits spilled registers in FROM.
(temp_pseudo_reg_arr): New variable.
(reload): Allocate and free temp_pseudo_reg_arr.  Sort pseudos for
IRA.  Call alter_reg with the additional parameter.  Don't clear
spilled_pseudos for IRA.  Restore original insn chain for IRA.
Clear changed_allocation_pseudos at the end of reload.
(calculate_needs_all_insns): Call IRA's mark_memory_move_deletion.
(hard_regno_to_pseudo_regno): New variable.
(count_pseudo): Check spilled pseudos.  Set up
hard_regno_to_pseudo_regno.
(count_spilled_pseudo): Check spilled pseudos. Update
hard_regno_to_pseudo_regno.
(find_reg): Use better_spill_reload_regno_p.  Check
hard_regno_to_pseudo_regno.
(alter_reg): Set up spilled_pseudos.  Add a new parameter.  Add
code for IRA.
(eliminate_regs_1): Use additional parameter for alter_reg.
(finish_spills): Set up pseudo_previous_regs only for spilled
pseudos.  Call reassign_pseudos once for all spilled pseudos, pass
more arguments.  Don't clear live_throughout and dead_or_set for
spilled pseudos.  Use additional parameter for alter_reg.  Call
mark_allocation_change.  Set up changed_allocation_pseudos.
Remove sanity check.
(emit_input_reload_insns, delete_output_reload): Use additional
parameter for alter_reg.  Call mark_allocation_change.
(substitute, gen_reload_chain_without_interm_reg_p): New
functions.
(reloads_conflict): Use gen_reload_chain_without_interm_reg_p.

* testsuite/gcc.dg/20080410-1.c: New file.

* config/s390/s390.h (IRA_COVER_CLASSES,
IRA_HARD_REGNO_ADD_COST_MULTIPLIER): Define.

* config/sparc/sparc.h (IRA_COVER_CLASSES): New macro.

* config/i386/i386.h (IRA_COVER_CLASSES): Ditto.

* config/ia64/ia64.h (IRA_COVER_CLASSES): Ditto.

* config/rs6000/rs6000.h (IRA_COVER_CLASSES): Ditto.

* config/arm/arm.h (IRA_COVER_CLASSES): Ditto.

* config/alpha/alpha.h (IRA_COVER_CLASSES): Ditto.

2008-08-24  Jeff Law  <law@redhat.com>
* ira.c (setup_reg_class_intersect_union): Prefer smallest class
when ignoring unavailable registers.

2008-08-24  Jeff Law  <law@redhat.com>
* ira-color.c (coalesced_pseudo_reg_slot_compare): Check
FRAME_GROWS_DOWNWARD and STACK_GROWS_DOWNWARD.
* ira.c (setup_eliminable_regset): Check stack_realign_needed.
* config/mn10300/mn10300.h (IRA_COVER_CLASSES): New macro.

2008-06-03 Steve Chamberlain <steve.chamberlain@gmail.com>
* ira-build.c (allocno_range_compare_func): Stabilize sort.

2008-05-29 Andy Hutchinson <hutchinsonandy@aim.com>
* config/avr/avr.h (IRA_COVER_CLASSES): New macro.
* reload1.c (find_reg): Process registers in register allocation order.

2008-05-10 Richard Sandiford <rsandifo@nildram.co.uk>
* toplev.c (backend_init_target): Move ira_init call from
here...
(lang_dependent_init_target): ...to here.

2008-05-10 Richard Sandiford <rsandifo@nildram.co.uk>
* ira.c (setup_class_subset_and_memory_move_costs): Don't
calculate memory move costs for NO_REGS.

2008-05-05 Kaz Kojima <kkojima@gcc.gnu.org>
* ira-color.c (ira_fast_allocation): Use no_stack_reg_p only if
STACK_REGS is defined.

2008-04-08 Andrew Pinski <andrew_pinski@playstation.sony.com>
* config/spu/spu.h (IRA_COVER_CLASSES): New macro.

2008-04-04 Bernd Schmidt <bernd.schmidt@analog.com>
* config/bfin/bfin.h (IRA_COVER_CLASSES): New macro.

2008-04-04 Kaz Kojima <kkojima@gcc.gnu.org>
* config/sh/sh.h (IRA_COVER_CLASSES): Define.
* config/sh/sh.md (movsicc_true+3): Check if emit returns a
barrier.

From-SVN: r139590

16 years agospu.md (vec_extract_evenv4si, [...]): Implement.S
Victor Kaplansky [Tue, 26 Aug 2008 09:14:37 +0000 (09:14 +0000)]
spu.md (vec_extract_evenv4si, [...]): Implement.S

2008-08-26  Victor Kaplansky  <victork@il.ibm.com>
            Dorit Nuzman  <dorit@il.ibm.com>

        * gcc/config/spu/spu.md (vec_extract_evenv4si,
        vec_extract_evenv4sf, vec_extract_evenv8hi,
        vec_extract_evenv16qi, vec_extract_oddv4si,
        vec_extract_oddv4sf, vec_extract_oddv8hi, vec_extract_oddv16qi,
        vec_interleave_highv4sf, vec_interleave_lowv4sf,
        vec_interleave_highv4si, vec_interleave_lowv4si,
        vec_interleave_highv8hi, vec_interleave_lowv8hi,
        vec_interleave_highv16qi, vec_interleave_lowv16qi,
        vec_pack_trunc_v8hi, vec_pack_trunc_v4si): Implement.S

Testsuite

* gcc.dg/vect/slp-18.c: Require vect_intfloat_cvt.
* gcc.dg/vect/slp-11.c: Likewise.
* gcc.dg/vect/fast-math-pr35982.c: Likewise.
* lib/target-supports.exp:
(check_effective_target_vect_pack_trunc): Add SPU to the list.
(check_effective_target_vect_extract_even_odd): Likewise.
(check_effective_target_vect_extract_even_odd_wide): Likewise.
(check_effective_target_vect_interleave): Likewise.

Co-Authored-By: Dorit Nuzman <dorit@il.ibm.com>
From-SVN: r139589

16 years agoDaily bump.
GCC Administrator [Tue, 26 Aug 2008 00:16:41 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r139580

16 years agoacinclude.m4 ([GLIBCXX_CHECK_GETTIMEOFDAY]): Change to use GCC_TRY_COMPILE_OR_LINK.
Paolo Carlini [Mon, 25 Aug 2008 22:52:47 +0000 (22:52 +0000)]
acinclude.m4 ([GLIBCXX_CHECK_GETTIMEOFDAY]): Change to use GCC_TRY_COMPILE_OR_LINK.

2008-08-23  Paolo Carlini  <paolo.carlini@oracle.com>

* acinclude.m4 ([GLIBCXX_CHECK_GETTIMEOFDAY]): Change to use
GCC_TRY_COMPILE_OR_LINK.
([GLIBCXX_CHECK_CLOCK_GETTIME]): Rename to
[GLIBCXX_ENABLE_CLOCK_GETTIME], a versatile configure-time option,
[no] by default, since it includes TRY_LINK checks.  librt is also
searched, if requested.
* doc/xml/manual/configure.xml: Document the latter.
* configure.ac: Move the above checks outside native-only.
* configure: Regenerate.

From-SVN: r139576

16 years agore PR target/36756 (g++.dg/tls-3.C ICE with section-anchors, unit-at-a-time, no-tople...
Janis Johnson [Mon, 25 Aug 2008 20:18:08 +0000 (20:18 +0000)]
re PR target/36756 (g++.dg/tls-3.C ICE with section-anchors, unit-at-a-time, no-toplevel-reorder)

PR target/36756
* config/rs6000/rs6000.c (optimization_options): Don't default to
section anchors without toplevel reorder.

From-SVN: r139572

16 years agospu_mfcio.h (mfc_begin_critical_section): New function.
Ulrich Weigand [Mon, 25 Aug 2008 18:54:38 +0000 (18:54 +0000)]
spu_mfcio.h (mfc_begin_critical_section): New function.

* config/spu/spu_mfcio.h (mfc_begin_critical_section): New function.
(mfc_end_critical_section): Likewise.

From-SVN: r139570

16 years agors6000.c (rs6000_handle_altivec_attribute): Propagate all type qualifiers from elemen...
Ulrich Weigand [Mon, 25 Aug 2008 18:51:24 +0000 (18:51 +0000)]
rs6000.c (rs6000_handle_altivec_attribute): Propagate all type qualifiers from element type to vector type.

ChangeLog:

* config/rs6000/rs6000.c (rs6000_handle_altivec_attribute): Propagate
all type qualifiers from element type to vector type.

testsuite/ChangeLog:

* gcc.target/powerpc/altivec-volatile.c: New test.

Co-Authored-By: Andrew Pinski <andrew_pinski@playstation.sony.com>
From-SVN: r139569

16 years agomips.md (immediate_insn): Move up in file, fix comment typo, reformat.
David Daney [Mon, 25 Aug 2008 18:39:39 +0000 (18:39 +0000)]
mips.md (immediate_insn): Move up in file, fix comment typo, reformat.

2008-08-25  David Daney  <ddaney@avtrex.com>

* config/mips/mips.md (immediate_insn): Move up in file, fix
comment typo, reformat.
(fetchop_bit, atomic_hiqi_op memory_barrier,
sync_compare_and_swap<mode>, compare_and_swap_12, sync_add<mode>,
sync_<optab><mode>, sync_<optab>_12, sync_old_<optab><mode>,
sync_old_<optab>_12, sync_new_<optab><mode>, sync_new_<optab>_12,
sync_nand<mode>, sync_nand_12, sync_old_nand<mode>,
sync_old_nand_12, sync_new_nand<mode>, sync_new_nand_12,
sync_sub<mode>, sync_old_add<mode>, sync_old_sub<mode>,
sync_new_add<mode>, sync_new_sub<mode>, sync_<optab><mode>,
sync_old_<optab><mode>, sync_new_<optab><mode>, sync_nand<mode>,
sync_old_nand<mode>, sync_new_nand<mode>,
sync_lock_test_and_set<mode>, sync_lock_test_and_set<mode>,
test_and_set_12): Moved to sync.md.
(sync.md): Include.
* config/mips/sync.md: New file.

From-SVN: r139568

16 years agoffitarget.h (ffi_abi): Add FFI_LINUX and FFI_LINUX_SOFT_FLOAT to the POWERPC_FREEBSD...
Andreas Tobler [Mon, 25 Aug 2008 18:35:20 +0000 (18:35 +0000)]
ffitarget.h (ffi_abi): Add FFI_LINUX and FFI_LINUX_SOFT_FLOAT to the POWERPC_FREEBSD enum.

2008-08-25  Andreas Tobler  <a.tobler@schweiz.org>

* src/powerpc/ffitarget.h (ffi_abi): Add FFI_LINUX and
FFI_LINUX_SOFT_FLOAT to the POWERPC_FREEBSD enum.
Add note about flag bits used for FFI_SYSV_TYPE_SMALL_STRUCT.
Adjust copyright notice.
* src/powerpc/ffi.c: Add two new flags to indicate if we have one
register or two register to use for FFI_SYSV structs.
(ffi_prep_cif_machdep): Pass the right register flag introduced above.
(ffi_closure_helper_SYSV): Fix the return type for
FFI_SYSV_TYPE_SMALL_STRUCT. Comment.
Adjust copyright notice.

From-SVN: r139567

16 years agogfortran.h (gfc_find_component): Add new arguments.
Daniel Kraft [Mon, 25 Aug 2008 17:58:53 +0000 (19:58 +0200)]
gfortran.h (gfc_find_component): Add new arguments.

2008-08-25  Daniel Kraft  <d@domob.eu>

* gfortran.h (gfc_find_component): Add new arguments.
* parse.c (parse_derived_contains): Check if the derived-type containing
the CONTAINS section is SEQUENCE/BIND(C).
* resolve.c (resolve_typebound_procedure): Check for name collision with
components.
(resolve_fl_derived): Check for name collision with inherited
type-bound procedures.
* symbol.c (gfc_find_component): New arguments `noaccess' and `silent'.
(gfc_add_component): Adapt for new arguments.
* primary.c (match_varspec), (gfc_match_structure_constructor): Ditto.

2008-08-25  Daniel Kraft  <d@domob.eu>

* gfortran.dg/extends_7.f03: New test.
* gfortran.dg/typebound_proc_7.f03: New test.
* gfortran.dg/typebound_proc_8.f03: New test.

From-SVN: r139566

16 years agodwarf2out.c (def_cfa_1): Don't scale by DWARF_CIE_DATA_ALIGNMENT.
Richard Henderson [Mon, 25 Aug 2008 17:02:42 +0000 (10:02 -0700)]
dwarf2out.c (def_cfa_1): Don't scale by DWARF_CIE_DATA_ALIGNMENT.

        * dwarf2out.c (def_cfa_1): Don't scale by DWARF_CIE_DATA_ALIGNMENT.
        (regsave): Likewise.
        (lookup_cfa_1): Don't rescale by DWARF_CIE_DATA_ALIGNMENT.
        (output_cfi_directive): Likewise.
        (div_data_align): New.
        (output_cfi): Use it.

From-SVN: r139565

16 years agoconfig.gcc (mips64*-*-linux*): Handle mips64octeon*-*-linux*.
Adam Nemet [Mon, 25 Aug 2008 00:57:01 +0000 (00:57 +0000)]
config.gcc (mips64*-*-linux*): Handle mips64octeon*-*-linux*.

* config.gcc (mips64*-*-linux*): Handle mips64octeon*-*-linux*.
* config/mips/mips.h (enum processor_type): Add PROCESSOR_OCTEON.
(TARGET_OCTEON): New macro.
(TARGET_CPU_CPP_BUILTINS): Define __OCTEON__ for Octeon.
(MIPS_ISA_LEVEL_SPEC, MIPS_ARCH_FLOAT_SPEC): Handle -march=octeon.
(ISA_HAS_POP): New macro.
* config/mips/driver-native.c (host_detect_local_cpu): Handle
Octeon.
* config/mips/mips.c (mips_cpu_info_table, mips_rtx_cost_data):
Handle Octeon.
* config/mips/mips.md (cpu): Add octeon.
(type): Add pop attribute value.
(popcount<mode>2): New pattern.
* doc/invoke.texi (-march=@var{arch}): Add octeon.
testsuite/
* gcc.target/mips/octeon-pop-1.c: New test.

From-SVN: r139554

16 years agoDaily bump.
GCC Administrator [Mon, 25 Aug 2008 00:16:41 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r139552

16 years agoacinclude.m4 ([GLIBCXX_CHECK_RANDOM_TR1]): Simplify, just use two test -r instead...
Paolo Carlini [Sun, 24 Aug 2008 23:47:35 +0000 (23:47 +0000)]
acinclude.m4 ([GLIBCXX_CHECK_RANDOM_TR1]): Simplify, just use two test -r instead of an AC_TRY_RUN.

2008-08-24  Paolo Carlini  <paolo.carlini@oracle.com>

* acinclude.m4 ([GLIBCXX_CHECK_RANDOM_TR1]): Simplify, just use
two test -r instead of an AC_TRY_RUN.
* configure: Regenerate.
* config.h.in: Likewise.

From-SVN: r139549

16 years agore PR fortran/37201 (ICE in in gfc_conv_string_parameter)
Tobias Burnus [Sun, 24 Aug 2008 20:31:09 +0000 (22:31 +0200)]
re PR fortran/37201 (ICE in in gfc_conv_string_parameter)

2008-08-24  Tobias Burnus  <burnus@net-b.de>

        PR fortran/37201
        * decl.c (verify_bind_c_sym): Reject array/string returning
        functions.

2008-08-24  Tobias Burnus  <burnus@net-b.de>

        PR fortran/37201
        * gfortran.dg/bind_c_18.f90: New.

From-SVN: r139545

16 years agoipacost-1.c: New testcase.
Jan Hubicka [Sun, 24 Aug 2008 20:11:22 +0000 (20:11 +0000)]
ipacost-1.c: New testcase.

* gcc.dg/ipa/ipacost-1.c: New testcase.
* gcc.dg/ipa/ipacost-2.c: New testcase.
* gcc.dg/ipa/ipa-7.c: Update template.

From-SVN: r139544

16 years agoinvoke.texi (-fipa-cp-clone): New option.
Jan Hubicka [Sun, 24 Aug 2008 20:09:32 +0000 (22:09 +0200)]
invoke.texi (-fipa-cp-clone): New option.

* doc/invoke.texi (-fipa-cp-clone): New option.
(-fipa-cp): Update docs.
(--param ipcp-unit-growth):New.
* ipa-cp.c: Include fibheap.h, params.h
(ipcp_initialize_node_lattices): When not cloning, all externally
visible functions are bottom.
(ipcp_need_redirect_p): Accept clones.
(ipcp_insert_stage): Use cost driven heuristics.
(max_count, dead_nodes): New static vars.
(ipcp_need_original_clone_p, ipcp_estimate_cloning_cost,
ipcp_const_param_count): New functions.
* common.opt (ipa-cp-clone): New command line option.
* params.def (ipcp-unit-growth): New.

* gcc.dg/ipa/ipacost-1.c: New testcase.
* gcc.dg/ipa/ipacost-2.c: New testcase.
* gcc.dg/ipa/ipa-7.c: Update template.

From-SVN: r139543

16 years agotree-inline.c (tree_function_versioning): Look harder for referenced vars.
Jan Hubicka [Sun, 24 Aug 2008 20:06:06 +0000 (22:06 +0200)]
tree-inline.c (tree_function_versioning): Look harder for referenced vars.

* tree-inline.c (tree_function_versioning): Look harder
for referenced vars.

From-SVN: r139542

16 years agore PR tree-optimization/37185 (gcc.dg/matrix/transpose-3.c:16: internal compiler...
Razya Ladelsky [Sun, 24 Aug 2008 19:39:04 +0000 (19:39 +0000)]
re PR tree-optimization/37185 (gcc.dg/matrix/transpose-3.c:16: internal compiler error: verify_stmts failed)

2008-08-24  Razya Ladelsky  <razya@il.ibm.com>

        PR tree-optimization/37185
        * matrix-reorg.c (transform_access_sites): Update changed stmt.

From-SVN: r139539

16 years agore PR fortran/37201 (ICE in in gfc_conv_string_parameter)
Tobias Burnus [Sun, 24 Aug 2008 17:16:46 +0000 (19:16 +0200)]
re PR fortran/37201 (ICE in in gfc_conv_string_parameter)

2008-08-24  Tobias Burnus  <burnus@net-b.de>

        PR fortran/37201
        * trans-expr.c (gfc_conv_function_call): Add string_length
        for character-returning bind(C) functions.

2008-08-24  Tobias Burnus  <burnus@net-b.de>

        PR fortran/37201
        * gfortran.dg/bind_c_usage_17.f90: New.
        * gfortran.dg/bind_c_usage_17_c.c: New.

From-SVN: r139537

16 years agoipa-cp.c (ipcp_analyze_node): New function.
Jan Hubicka [Sun, 24 Aug 2008 17:11:13 +0000 (19:11 +0200)]
ipa-cp.c (ipcp_analyze_node): New function.

* ipa-cp.c (ipcp_analyze_node): New function.
(ipcp_update_cloned_node): Use it.
(ipcp_init_stage): Likewise.
* ipa-inline.c (function_insertion_hook_holder): New static var.
(analyze_function): Break out from ....
(inline_generate_summary): Here; register insertion hook.
(cgraph_decide_inlining): Remove hook.
(add_new_function): New function.

From-SVN: r139536

16 years agogfortran.h (gfc_typebound_proc): New struct.
Daniel Kraft [Sun, 24 Aug 2008 16:15:27 +0000 (18:15 +0200)]
gfortran.h (gfc_typebound_proc): New struct.

2008-08-24  Daniel Kraft  <d@domob.eu>

* gfortran.h (gfc_typebound_proc):  New struct.
(gfc_symtree):  New member typebound.
(gfc_find_typebound_proc):  Prototype for new method.
(gfc_get_derived_super_type):  Prototype for new method.
* parse.h (gfc_compile_state):  New state COMP_DERIVED_CONTAINS.
* decl.c (gfc_match_procedure):  Handle PROCEDURE inside derived-type
CONTAINS section.
(gfc_match_end):  Handle new context COMP_DERIVED_CONTAINS.
(gfc_match_private):  Ditto.
(match_binding_attributes), (match_procedure_in_type):  New methods.
(gfc_match_final_decl):  Rewrote to make use of new
COMP_DERIVED_CONTAINS parser state.
* parse.c (typebound_default_access):  New global helper variable.
(set_typebound_default_access):  New callback method.
(parse_derived_contains):  New method.
(parse_derived):  Extracted handling of CONTAINS to new parser state
and parse_derived_contains.
* resolve.c (resolve_bindings_derived), (resolve_bindings_result):  New.
(check_typebound_override), (resolve_typebound_procedure):  New methods.
(resolve_typebound_procedures):  New method.
(resolve_fl_derived):  Call new resolving method for typebound procs.
* symbol.c (gfc_new_symtree):  Initialize new member typebound to NULL.
(gfc_find_typebound_proc):  New method.
(gfc_get_derived_super_type):  New method.

2008-08-24  Daniel Kraft  <d@domob.eu>

* gfortran.dg/finalize_5.f03:  Adapted expected error message to changes
to handling of CONTAINS in derived-type declarations.
* gfortran.dg/typebound_proc_1.f08:  New test.
* gfortran.dg/typebound_proc_2.f90:  New test.
* gfortran.dg/typebound_proc_3.f03:  New test.
* gfortran.dg/typebound_proc_4.f03:  New test.
* gfortran.dg/typebound_proc_5.f03:  New test.
* gfortran.dg/typebound_proc_6.f03:  New test.

From-SVN: r139534

16 years agoacinclude.m4 ([GLIBCXX_ENABLE_CLOCK_GETTIME]): Improve documentation.
Paolo Carlini [Sun, 24 Aug 2008 09:37:07 +0000 (09:37 +0000)]
acinclude.m4 ([GLIBCXX_ENABLE_CLOCK_GETTIME]): Improve documentation.

2008-08-24  Paolo Carlini  <paolo.carlini@oracle.com>

* acinclude.m4 ([GLIBCXX_ENABLE_CLOCK_GETTIME]): Improve documentation.
* doc/xml/manual/configure.xml: Likewise.

From-SVN: r139533

16 years ago* opts.c (decode_options): Revert accidental change enabling ipa-cp.
Jan Hubicka [Sun, 24 Aug 2008 09:29:57 +0000 (11:29 +0200)]
* opts.c (decode_options): Revert accidental change enabling ipa-cp.

From-SVN: r139532

16 years agoacinclude.m4 ([GLIBCXX_ENABLE_CLOCK_GETTIME]): Use [=KIND] in GLIBCXX_ENABLE.
Paolo Carlini [Sun, 24 Aug 2008 01:20:13 +0000 (01:20 +0000)]
acinclude.m4 ([GLIBCXX_ENABLE_CLOCK_GETTIME]): Use [=KIND] in GLIBCXX_ENABLE.

2008-08-23  Paolo Carlini  <paolo.carlini@oracle.com>

* acinclude.m4 ([GLIBCXX_ENABLE_CLOCK_GETTIME]): Use [=KIND] in
GLIBCXX_ENABLE.
* configure: Regenerate.

From-SVN: r139531

16 years agoacinclude.m4 ([GLIBCXX_CHECK_GETTIMEOFDAY]): Change to use GCC_TRY_COMPILE_OR_LINK.
Paolo Carlini [Sun, 24 Aug 2008 00:25:22 +0000 (00:25 +0000)]
acinclude.m4 ([GLIBCXX_CHECK_GETTIMEOFDAY]): Change to use GCC_TRY_COMPILE_OR_LINK.

2008-08-23  Paolo Carlini  <paolo.carlini@oracle.com>

* acinclude.m4 ([GLIBCXX_CHECK_GETTIMEOFDAY]): Change to use
GCC_TRY_COMPILE_OR_LINK.
([GLIBCXX_CHECK_CLOCK_GETTIME]): Rename to
[GLIBCXX_ENABLE_CLOCK_GETTIME], a versatile configure-time option,
[no] by default, since it includes TRY_LINK checks.  librt is also
searched, if requested.
* doc/xml/manual/configure.xml: Document the latter.
* configure.ac: Move the above checks outside native-only.
* configure: Regenerate.

From-SVN: r139530

16 years agoDaily bump.
GCC Administrator [Sun, 24 Aug 2008 00:16:58 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r139528

16 years agoipa-cp.c (constant_val_insert): Remove.
Jan Hubicka [Sat, 23 Aug 2008 22:25:20 +0000 (00:25 +0200)]
ipa-cp.c (constant_val_insert): Remove.

* ipa-cp.c (constant_val_insert): Remove.
(ipcp_propagate_one_const): Remove.
(ipcp_create_replace_map): Always insert replacements to the map.
(ipcp_insert_stage): Do not try to insert statements by hand.
* tree-inline.c (insert_init_stmt): Break out from ...
(setup_one_parameter): ... here; allow NULL BB pointer.
(tree_function_versioning): Use setup_one_parameter to process
replacement map.

From-SVN: r139525

16 years agogfortran.h (gfc_component): Add field "symbol_attribute attr"...
Janus Weil [Sat, 23 Aug 2008 21:04:01 +0000 (23:04 +0200)]
gfortran.h (gfc_component): Add field "symbol_attribute attr"...

2008-08-23  Janus Weil  <janus@gcc.gnu.org>

* gfortran.h (gfc_component): Add field "symbol_attribute attr", remove
fields "pointer", "allocatable", "dimension", "access".
Remove functions "gfc_set_component_attr" and "gfc_get_component_attr".
* interface.c (gfc_compare_derived_types): Ditto.
* trans-array.c (gfc_array_allocate,structure_alloc_comps): Ditto.
* trans-expr.c (gfc_conv_component_ref,gfc_trans_subcomponent_assign,
gfc_conv_structure): Ditto.
* symbol.c (gfc_find_component,free_components,gfc_set_component_attr,
gfc_get_component_attr,verify_bind_c_derived_type,
generate_isocbinding_symbol): Ditto.
* decl.c (build_struct): Ditto.
* dump-parse-tree.c (show_components): Ditto.
* trans-stmt.c (gfc_trans_deallocate): Ditto.
* expr.c (gfc_check_assign,gfc_check_pointer_assign,
gfc_default_initializer): Ditto.
* module.c (mio_component): Ditto.
* trans-types.c (copy_dt_decls_ifequal,gfc_get_derived_type): Ditto.
* resolve.c (has_default_initializer,resolve_structure_cons,
gfc_iso_c_func_interface,find_array_spec,resolve_ref,
resolve_deallocate_expr,resolve_allocate_expr,resolve_fl_derived,
resolve_equivalence_derived): Ditto.
* trans-io.c (transfer_expr): Ditto.
* parse.c (parse_derived): Ditto.
* dependency.c (gfc_check_dependency): Ditto.
* primary.c (gfc_variable_attr): Ditto.

From-SVN: r139524

16 years agotree.c (decl_address_ip_invariant_p): New function.
Jan Hubicka [Sat, 23 Aug 2008 20:28:07 +0000 (22:28 +0200)]
tree.c (decl_address_ip_invariant_p): New function.

* tree.c (decl_address_ip_invariant_p): New function.
* tree.h (decl_address_ip_invariant_p): Declare.
* gimple.c (strip_invariant_refs): Break out from ...
(is_gimple_invariant_address): ... here
(is_gimple_ip_invariant_address): New function.
(is_gimple_ip_invariant): New function.
* gimple.h (is_gimple_ip_invariant_address, is_gimple_ip_invariant):
Declare.

* ipa-cp.c (ipcp_lat_is_const): Remove handling of IPA_CONST_VALUE_REF.
(ipcp_lat_is_insertable): All constants are insertable.
(ipcp_lattice_from_jfunc, ipcp_print_all_lattices): Remove handling of
IPA_CONST_VALUE_REF.
(ipcp_initialize_node_lattices): Propagate all types of operands.
(build_const_val): Do not handle IPA_CONST_VALUE_REF.
(ipcp_create_replace_map): Reformat.
(ipcp_need_redirect_p): Simplify.
(ipcp_insert_stage): Check that argument is used before clonning.
* ipa-prop.c (ipa_print_node_jump_functions): Do not handle IPA_CONST_REF.
(compute_scalar_jump_functions): Simplify using is_gimple_ip_invariat.
(determine_cst_member_ptr): Keep wrapping ADDR_EXPR of members.
(update_call_notes_after_inlining): Expect ADDR_EXPR in operand.
* ipa-prop.h (jump_func_type): Remove IPA_CONST_REF.
(jump_func_type): Remove IPA_CONST_VALUE_REF.
* tree-inline.c (tree_function_versioning): Add variables referenced by
replacing trees.

From-SVN: r139523

16 years agore PR target/37094 (Ada build broken for i586)
Jan Hubicka [Sat, 23 Aug 2008 20:02:08 +0000 (22:02 +0200)]
re PR target/37094 (Ada build broken for i586)

PR target/37094
* i386.c (standard_80387_constant_p): Use optimize_size.

From-SVN: r139522

16 years agore PR fortran/37076 (Concatenation of KIND=4 strings with KIND=4 parameters fails)
Tobias Burnus [Sat, 23 Aug 2008 18:49:43 +0000 (20:49 +0200)]
re PR fortran/37076 (Concatenation of KIND=4 strings with KIND=4 parameters fails)

2008-08-23  Tobias Burnus  <burnus@net-b.de>

        PR fortran/37076
        * arith.c (gfc_arith_concat): Fix concat of kind=4 strings.

2008-08-23  Tobias Burnus  <burnus@net-b.de>

        PR fortran/37076
        * gfortran.dg/widechar_9.f90: New.

From-SVN: r139521

16 years agore PR fortran/37025 (ICE with TRANSFER to non-default-kind character: transfer(int...
Tobias Burnus [Sat, 23 Aug 2008 18:12:30 +0000 (20:12 +0200)]
re PR fortran/37025 (ICE with TRANSFER to non-default-kind character: transfer(int(z'bde4'),4_'a'))

2008-08-23  Tobias Burnus  <burnus@net-b.de>

        PR fortran/37025
        * target-memory.c (gfc_interpret_character): Support
        kind=4 characters.

2008-08-23  Tobias Burnus  <burnus@net-b.de>

        PR fortran/37025
        * gfortran.dg/widechar_8.f90: New.

From-SVN: r139520

16 years agore PR middle-end/37161 (Revision 139225 caused gfortran.dg/vect/pr33301.f -O)
Ira Rosen [Sat, 23 Aug 2008 17:04:12 +0000 (17:04 +0000)]
re PR middle-end/37161 (Revision 139225 caused gfortran.dg/vect/pr33301.f  -O)

PR tree-optimization/37161
* tree-vectorizer.h (vect_get_smallest_scalar_type): Declare.
* tree-vect-analyze.c (vect_get_smallest_scalar_type): New function.
(vect_determine_vectorization_factor): Move the scalar type
retrieval to vect_get_smallest_scalar_type.
(vect_build_slp_tree): Call vect_get_smallest_scalar_type to get
scalar type. Remove redundant computation.
* tree-vect-transform.c (vect_get_constant_vectors): Add argument.
(vect_get_slp_defs): Take the type of RHS into account if
necessary by calling vect_get_smallest_scalar_type. Call
vect_get_constant_vectors with additional argument.

From-SVN: r139518

16 years agore PR other/35648 (-Wall includes -Wwrite-strings)
Manuel López-Ibáñez [Sat, 23 Aug 2008 15:36:32 +0000 (15:36 +0000)]
re PR other/35648 (-Wall includes -Wwrite-strings)

2008-08-23  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>

PR 35648
* doc/invoke.texi (Wwrite-strings): Clarify description.

From-SVN: r139517

16 years agoMAINTAINERS: Use correct Umlaut for last name.
Thomas Koenig [Sat, 23 Aug 2008 13:30:18 +0000 (13:30 +0000)]
MAINTAINERS: Use correct Umlaut for last name.

2008-08-23  Thomas Koenig  <tkoenig@gcc.gnu.org>

* MAINTAINERS:  Use correct Umlaut for last name.

From-SVN: r139510

16 years ago[multiple changes]
Paolo Carlini [Sat, 23 Aug 2008 11:28:30 +0000 (11:28 +0000)]
[multiple changes]

2008-08-23  Paolo Carlini  <paolo.carlini@oracle.com>

* testsuite/lib/libstdc++.exp (check_v3_target_atomic_builtins): Add.
* testsuite/lib/dg-options.exp (dg-require-atomic-builtins): Likewise.
* testsuite/18_support/exception_ptr/current_exception.cc: Use it.
        * testsuite/18_support/exception_ptr/rethrow_exception.cc: Likewise.
        * testsuite/18_support/exception_ptr/lifespan.cc: Likewise.

2008-08-23  Sebastian Redl <sebastian.redl@getdesigned.at>

Add (again) exception propagation support as per N2179.  Feature is
available only when _GLIBCXX_ATOMIC_BUILTINS_4 is defined.
* libsupc++/exception_ptr.h (exception_ptr, current_exception,
        copy_exception, rethrow_exception): New file, implement exception
propagation.
        * libsupc++/eh_ptr.cc (exception_ptr, current_exception,
        rethrow_exception, __gxx_dependent_exception_cleanup): Likewise.
        * libsupc++/unwind-cxx.h (__cxa_exception): Add reference count.
(__cxa_dependent_exception, __cxa_allocate_dependent_exception,
        __cxa_free_dependent_exception, __get_dependent_exception_from_ue,
        __GXX_INIT_DEPENDENT_EXCEPTION_CLASS, __is_dependent_exception,
        __gxx_dependent_exception_class, __get_object_from_ue,
        __get_object_from_ambiguous_exception): Add.
        (__GXX_INIT_EXCEPTION_CLASS, __gxx_exception_class): Rename.
        (__is_gxx_exception_class): Handle dependent exceptions.
        * libsupc++/eh_arm.cc (__cxa_type_match): Likewise.
        * libsupc++/eh_call.cc (__cxa_call_unexpected): Likewise.
        * libsupc++/eh_personality.cc (__gxx_personality_*): Likewise.
        * libsupc++/eh_type.cc (__cxa_current_exception_type): Likewise.
        * libsupc++/eh_alloc.cc (__cxa_allocate_dependent_exception,
        __cxa_free_dependent_exception): Add.
        * libsupc++/eh_throw.cc (__gxx_exception_cleanup): Handle reference
        counting.
        * libsupc++/exception: Conditionally include exception_ptr.h.
        * libsupc++/Makefile.am: Register new files.
        * libsupc++/Makefile.in: Regenerate.
        * config/abi/pre/gnu.ver: Add new symbols.
        * testsuite/18_support/exception_ptr/current_exception.cc: Test the
        core functionality of current_exception().
        * testsuite/18_support/exception_ptr/rethrow_exception.cc: Test the
        core functionality of rethrow_exception().
        * testsuite/18_support/exception_ptr/lifespan.cc: Test the life span of
        exception objects during exception propagation.

From-SVN: r139509

16 years agore PR middle-end/37174 (ICE: in vinfo_for_stmt, at tree-vectorizer.h:546)
Ira Rosen [Sat, 23 Aug 2008 10:42:34 +0000 (10:42 +0000)]
re PR middle-end/37174 (ICE: in vinfo_for_stmt, at tree-vectorizer.h:546)

PR tree-optimization/37174
* tree-vect-analyze.c (vect_get_and_check_slp_defs): Check that the
def stmt is a part of the loop before accessing its stmt_vec_info.

From-SVN: r139508

16 years ago* MAINTAINERS: Move myself from Reviewers to Write after Approval.
Francois-Xavier Coudert [Sat, 23 Aug 2008 08:33:12 +0000 (08:33 +0000)]
* MAINTAINERS: Move myself from Reviewers to Write after Approval.

From-SVN: r139507