1. 29 Aug, 2008 10 commits
  2. 28 Aug, 2008 30 commits
    • typedef.cc: Rename to .../typedefs.cc. · 5a2f8dcf
      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
      Paolo Carlini committed
    • re PR c++/37260 (infinite loop in init) · ffe79825
      /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
      Paolo Carlini committed
    • gtrh-posix.h: Fix uses of _POSIX_TIMEOUTS per the normal Posix rule that a symbolic constant... · 1cd8b853
      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
      Paolo Carlini committed
    • mips.h (ISA_HAS_DMUL3): New macro. · d6d3e623
      	* 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
      Adam Nemet committed
    • expmed.c (store_bit_field_1): Be prepared for movstrict expander to fail. · 3debdc1e
      
      	* 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
      Jan Hubicka committed
    • rtl.h (simplify_subreg_regno): Declare. · eef302d2
      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
      Richard Sandiford committed
    • Added file forgotten in commit. · 9b3f31f2
      From-SVN: r139731
      Ulrich Weigand committed
    • vector-1b_main.c: New. · d6beb90e
      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
      Xuepeng Guo committed
    • re PR c/30949 ("incompatible pointer type" warning does not point to declaration) · 1e053dfe
      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
      Manuel López-Ibáñez committed
    • extend.texi: Document AVX built-in functions. · 31cb596a
      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
      Joey Ye committed
    • [multiple changes] · 95879c72
      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
      H.J. Lu committed
    • arm.c (TARGET_MAX_ANCHOR_OFFSET): New. · f67358da
      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
      Paul Brook committed
    • gfortran.h (enum expr_t): New value `EXPR_COMPCALL'. · 8e1f752a
      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
      Daniel Kraft committed
    • stormy16.h (IRA_COVER_CLASSES): Define. · cf7442bb
              * config/stormy16/stormy16.h (IRA_COVER_CLASSES): Define.
              * config/stormy16/stormy16.md (zero_extendqihi2): Fix length
              attribute.
      
      From-SVN: r139723
      Nick Clifton committed
    • v850.h (IRA_COVER_CLASSES): Define. · 724df8d2
              * config/v850/v850.h (IRA_COVER_CLASSES): Define.
              * config/v850/v850.md (return): Remove frame size restriction.
      
      From-SVN: r139722
      Nick Clifton committed
    • * config/mcore/mcore.h (IRA_COVER_CLASSES): Define. · d43b42f9
      From-SVN: r139721
      Nick Clifton committed
    • * config/iq2000/iq2000.h (IRA_COVER_CLASSES): Define. · 888142a6
      From-SVN: r139720
      Nick Clifton committed
    • * config/fr30/fr30.h (IRA_COVER_CLASSES): Define. · b34126ed
      From-SVN: r139719
      Nick Clifton committed
    • * config/m32r/m32r.h (IRA_COVER_CLASSES): Define. · 728a0142
      From-SVN: r139718
      Nick Clifton committed
    • vfp11.md: Update license notice. · 874101ec
      2008-08-28  Paul Brook  <paul@codesourcery.com>
      
      	* config/arm/vfp11.md: Update license notice.
      	* config/arm/cortex-r4.md: Ditto.
      
      From-SVN: r139717
      Paul Brook committed
    • configure: Regenerate. · 307c39da
      2008-08-28  Laurent Guerby  <laurent@guerby.net>
      
      	* configure: Regenerate.
      
      From-SVN: r139716
      Laurent GUERBY committed
    • configure.ac (powerpc-*-darwin*, [...]): Enable bfd, binutils and opcodes. · e1514c3f
              * configure.ac (powerpc-*-darwin*, i?86-*-darwin*,x86_64-*-darwin9):
              Enable bfd, binutils and opcodes.
              * configure: Regenerate.
      
      From-SVN: r139715
      Tristan Gingold committed
    • re PR tree-optimization/37207 (ice at tree-ssa-ifcombine.c:222 for -Os) · 99781d25
      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
      Richard Guenther committed
    • re PR fortran/37253 (Segmentation fault with procedure pointer) · b7fdeec9
      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
      Janus Weil committed
    • re PR c++/36741 (Bogus "large integer implicitly truncated" passing size_t constant to new) · 5bdc1946
      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
      Dodji Seketeli committed
    • target.h (struct vectorize): Add new target builtin. · 0fca40f5
      	* 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
      Ira Rosen committed
    • acinclude.m4 ([GLIBCXX_CHECK_GTHREADS]): New. · b8c41c8e
      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
      Chris Fairles committed
    • gthr-posix.h (__gthread_create, [...]): New functions. · a75150ae
      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
      Chris Fairles committed
    • re PR tree-optimization/37005 (GNAT Bug Box for cd2a24e.adb:37 at tree-vrp.c:392) · 0b45fd7a
      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
      Richard Guenther committed
    • MAINTAINERS: Update my hppa and hpux entries. · 4717882f
      	* MAINTAINERS: Update my hppa and hpux entries.  Remove my vax entry.
      
      From-SVN: r139691
      John David Anglin committed