- 24 Aug, 2011 1 commit
-
-
From-SVN: r178023
GCC Administrator committed
-
- 23 Aug, 2011 24 commits
-
-
ira.c (ira_init_register_move_cost): Check small subclasses through ira_reg_class_max_nregs and ira_available_class_regs. 2011-08-23 Vladimir Makarov <vmakarov@redhat.com> * ira.c (ira_init_register_move_cost): Check small subclasses through ira_reg_class_max_nregs and ira_available_class_regs. From-SVN: r178019
Vladimir Makarov committed -
re PR libstdc++/50153 (hppa64-hp-hpux11.11/libstdc++-v3/include/cstdlib:106:11: error: '::abs' has not been declared) 2011-08-23 Steve Ellcey <sje@cup.hp.com> PR libstdc++/50153 * inclhack.def (hpux11_abs): Extend to all hpux machines. * fixincl.x: Regenerate. From-SVN: r178018
Steve Ellcey committed -
From-SVN: r178017
Uros Bizjak committed -
* config/i386/constraints.md (Yp): New register constraint. * config/i386/i386.md (*addhi_1): Merge with *addhi_1_lea using Yp register constraint. (*addqi_1): Merge with *addqi_1_lea using Yp register constraint. (*ashlhi3_1): Merge with *ashlhi3_1_lea using Yp register constraint. (*ashlqi3_1): Merge with *ashlqi3_1_lea using Yp register constraint. From-SVN: r178011
Uros Bizjak committed -
gcc/ 2011-08-23 Kirill Yukhin <kirill.yukhin@intel.com> * config/i386/sse.md (<s>mul<mode>3_highpart): Update. gcc/testsuite/ 2011-08-23 Kirill Yukhin <kirill.yukhin@intel.com> * g++.dg/other/i386-2.C: Add -mavx2 check. * g++.dg/other/i386-3.C: Likewise. * gcc.target/i386/avx-1.c: Add AVX2. * gcc.target/i386/avx-2.c: Likewise. * gcc.target/i386/funcspec-5.c: Likewise. * gcc.target/i386/sse-12.c: Likewise. * gcc.target/i386/sse-13.c: Likewise. * gcc.target/i386/sse-14.c: Likewise. * gcc.target/i386/sse-22.c: Likewise. * gcc.target/i386/sse-23.c: Likewise. * gcc.target/i386/i386.exp (check_effective_target_avx2): Likewise. * gcc.target/i386/avx2-check.h: New. * gcc.target/i386/avx2-i32gatherd-1.c: Likewise. * gcc.target/i386/avx2-i32gatherd-2.c: Likewise. * gcc.target/i386/avx2-i32gatherd-3.c: Likewise. * gcc.target/i386/avx2-i32gatherd-4.c: Likewise. * gcc.target/i386/avx2-i32gatherd256-1.c: Likewise. * gcc.target/i386/avx2-i32gatherd256-2.c: Likewise. * gcc.target/i386/avx2-i32gatherd256-3.c: Likewise. * gcc.target/i386/avx2-i32gatherd256-4.c: Likewise. * gcc.target/i386/avx2-i32gatherpd-1.c: Likewise. * gcc.target/i386/avx2-i32gatherpd-2.c: Likewise. * gcc.target/i386/avx2-i32gatherpd-3.c: Likewise. * gcc.target/i386/avx2-i32gatherpd-4.c: Likewise. * gcc.target/i386/avx2-i32gatherpd256-1.c: Likewise. * gcc.target/i386/avx2-i32gatherpd256-2.c: Likewise. * gcc.target/i386/avx2-i32gatherpd256-3.c: Likewise. * gcc.target/i386/avx2-i32gatherpd256-4.c: Likewise. * gcc.target/i386/avx2-i32gatherps-1.c: Likewise. * gcc.target/i386/avx2-i32gatherps-2.c: Likewise. * gcc.target/i386/avx2-i32gatherps-3.c: Likewise. * gcc.target/i386/avx2-i32gatherps-4.c: Likewise. * gcc.target/i386/avx2-i32gatherps256-1.c: Likewise. * gcc.target/i386/avx2-i32gatherps256-2.c: Likewise. * gcc.target/i386/avx2-i32gatherps256-3.c: Likewise. * gcc.target/i386/avx2-i32gatherps256-4.c: Likewise. * gcc.target/i386/avx2-i32gatherq-1.c: Likewise. * gcc.target/i386/avx2-i32gatherq-2.c: Likewise. * gcc.target/i386/avx2-i32gatherq-3.c: Likewise. * gcc.target/i386/avx2-i32gatherq-4.c: Likewise. * gcc.target/i386/avx2-i32gatherq256-1.c: Likewise. * gcc.target/i386/avx2-i32gatherq256-2.c: Likewise. * gcc.target/i386/avx2-i32gatherq256-3.c: Likewise. * gcc.target/i386/avx2-i32gatherq256-4.c: Likewise. * gcc.target/i386/avx2-i64gatherd-1.c: Likewise. * gcc.target/i386/avx2-i64gatherd-2.c: Likewise. * gcc.target/i386/avx2-i64gatherd-3.c: Likewise. * gcc.target/i386/avx2-i64gatherd-4.c: Likewise. * gcc.target/i386/avx2-i64gatherd256-1.c: Likewise. * gcc.target/i386/avx2-i64gatherd256-2.c: Likewise. * gcc.target/i386/avx2-i64gatherd256-3.c: Likewise. * gcc.target/i386/avx2-i64gatherd256-4.c: Likewise. * gcc.target/i386/avx2-i64gatherpd-1.c: Likewise. * gcc.target/i386/avx2-i64gatherpd-2.c: Likewise. * gcc.target/i386/avx2-i64gatherpd-3.c: Likewise. * gcc.target/i386/avx2-i64gatherpd-4.c: Likewise. * gcc.target/i386/avx2-i64gatherpd256-1.c: Likewise. * gcc.target/i386/avx2-i64gatherpd256-2.c: Likewise. * gcc.target/i386/avx2-i64gatherpd256-3.c: Likewise. * gcc.target/i386/avx2-i64gatherpd256-4.c: Likewise. * gcc.target/i386/avx2-i64gatherps-1.c: Likewise. * gcc.target/i386/avx2-i64gatherps-2.c: Likewise. * gcc.target/i386/avx2-i64gatherps-3.c: Likewise. * gcc.target/i386/avx2-i64gatherps-4.c: Likewise. * gcc.target/i386/avx2-i64gatherps256-1.c: Likewise. * gcc.target/i386/avx2-i64gatherps256-2.c: Likewise. * gcc.target/i386/avx2-i64gatherps256-3.c: Likewise. * gcc.target/i386/avx2-i64gatherps256-4.c: Likewise. * gcc.target/i386/avx2-i64gatherq-1.c: Likewise. * gcc.target/i386/avx2-i64gatherq-2.c: Likewise. * gcc.target/i386/avx2-i64gatherq-3.c: Likewise. * gcc.target/i386/avx2-i64gatherq-4.c: Likewise. * gcc.target/i386/avx2-i64gatherq256-1.c: Likewise. * gcc.target/i386/avx2-i64gatherq256-2.c: Likewise. * gcc.target/i386/avx2-i64gatherq256-3.c: Likewise. * gcc.target/i386/avx2-i64gatherq256-4.c: Likewise. * gcc.target/i386/avx2-mpsadbw-1.c: Likewise. * gcc.target/i386/avx2-mpsadbw-2.c: Likewise. * gcc.target/i386/avx2-vbroadcastsd_pd-1.c: Likewise. * gcc.target/i386/avx2-vbroadcastsd_pd-2.c: Likewise. * gcc.target/i386/avx2-vbroadcastsi128-1.c: Likewise. * gcc.target/i386/avx2-vbroadcastsi128-2.c: Likewise. * gcc.target/i386/avx2-vbroadcastss_ps-1.c: Likewise. * gcc.target/i386/avx2-vbroadcastss_ps-2.c: Likewise. * gcc.target/i386/avx2-vbroadcastss_ps256-1.c: Likewise. * gcc.target/i386/avx2-vbroadcastss_ps256-2.c: Likewise. * gcc.target/i386/avx2-vextracti128-1.c: Likewise. * gcc.target/i386/avx2-vextracti128-2.c: Likewise. * gcc.target/i386/avx2-vinserti128-1.c: Likewise. * gcc.target/i386/avx2-vinserti128-2.c: Likewise. * gcc.target/i386/avx2-vmovmskb-2.c: Likewise. * gcc.target/i386/avx2-vmovntdqa-1.c: Likewise. * gcc.target/i386/avx2-vmovntdqa-2.c: Likewise. * gcc.target/i386/avx2-vpabsb256-1.c: Likewise. * gcc.target/i386/avx2-vpabsb256-2.c: Likewise. * gcc.target/i386/avx2-vpabsd256-1.c: Likewise. * gcc.target/i386/avx2-vpabsd256-2.c: Likewise. * gcc.target/i386/avx2-vpabsw256-1.c: Likewise. * gcc.target/i386/avx2-vpabsw256-2.c: Likewise. * gcc.target/i386/avx2-vpackssdw-1.c: Likewise. * gcc.target/i386/avx2-vpackssdw-2.c: Likewise. * gcc.target/i386/avx2-vpacksswb-1.c: Likewise. * gcc.target/i386/avx2-vpacksswb-2.c: Likewise. * gcc.target/i386/avx2-vpackusdw-1.c: Likewise. * gcc.target/i386/avx2-vpackusdw-2.c: Likewise. * gcc.target/i386/avx2-vpackuswb-1.c: Likewise. * gcc.target/i386/avx2-vpackuswb-2.c: Likewise. * gcc.target/i386/avx2-vpaddb-1.c: Likewise. * gcc.target/i386/avx2-vpaddb-2.c: Likewise. * gcc.target/i386/avx2-vpaddd-1.c: Likewise. * gcc.target/i386/avx2-vpaddd-2.c: Likewise. * gcc.target/i386/avx2-vpaddq-1.c: Likewise. * gcc.target/i386/avx2-vpaddq-2.c: Likewise. * gcc.target/i386/avx2-vpaddsb-1.c: Likewise. * gcc.target/i386/avx2-vpaddsb-2.c: Likewise. * gcc.target/i386/avx2-vpaddsw-1.c: Likewise. * gcc.target/i386/avx2-vpaddsw-2.c: Likewise. * gcc.target/i386/avx2-vpaddusb-1.c: Likewise. * gcc.target/i386/avx2-vpaddusb-2.c: Likewise. * gcc.target/i386/avx2-vpaddusw-1.c: Likewise. * gcc.target/i386/avx2-vpaddusw-2.c: Likewise. * gcc.target/i386/avx2-vpaddw-1.c: Likewise. * gcc.target/i386/avx2-vpaddw-2.c: Likewise. * gcc.target/i386/avx2-vpalignr256-1.c: Likewise. * gcc.target/i386/avx2-vpalignr256-2.c: Likewise. * gcc.target/i386/avx2-vpand-1.c: Likewise. * gcc.target/i386/avx2-vpand-2.c: Likewise. * gcc.target/i386/avx2-vpandn-1.c: Likewise. * gcc.target/i386/avx2-vpandn-2.c: Likewise. * gcc.target/i386/avx2-vpavgb-1.c: Likewise. * gcc.target/i386/avx2-vpavgb-2.c: Likewise. * gcc.target/i386/avx2-vpavgw-1.c: Likewise. * gcc.target/i386/avx2-vpavgw-2.c: Likewise. * gcc.target/i386/avx2-vpblendd128-1.c: Likewise. * gcc.target/i386/avx2-vpblendd128-2.c: Likewise. * gcc.target/i386/avx2-vpblendd256-1.c: Likewise. * gcc.target/i386/avx2-vpblendd256-2.c: Likewise. * gcc.target/i386/avx2-vpblendvb-1.c: Likewise. * gcc.target/i386/avx2-vpblendvb-2.c: Likewise. * gcc.target/i386/avx2-vpblendw-1.c: Likewise. * gcc.target/i386/avx2-vpblendw-2.c: Likewise. * gcc.target/i386/avx2-vpbroadcastb128-1.c: Likewise. * gcc.target/i386/avx2-vpbroadcastb128-2.c: Likewise. * gcc.target/i386/avx2-vpbroadcastb256-1.c: Likewise. * gcc.target/i386/avx2-vpbroadcastb256-2.c: Likewise. * gcc.target/i386/avx2-vpbroadcastd128-1.c: Likewise. * gcc.target/i386/avx2-vpbroadcastd128-2.c: Likewise. * gcc.target/i386/avx2-vpbroadcastd256-1.c: Likewise. * gcc.target/i386/avx2-vpbroadcastd256-2.c: Likewise. * gcc.target/i386/avx2-vpbroadcastq128-1.c: Likewise. * gcc.target/i386/avx2-vpbroadcastq128-2.c: Likewise. * gcc.target/i386/avx2-vpbroadcastq256-1.c: Likewise. * gcc.target/i386/avx2-vpbroadcastq256-2.c: Likewise. * gcc.target/i386/avx2-vpbroadcastw128-1.c: Likewise. * gcc.target/i386/avx2-vpbroadcastw128-2.c: Likewise. * gcc.target/i386/avx2-vpbroadcastw256-1.c: Likewise. * gcc.target/i386/avx2-vpbroadcastw256-2.c: Likewise. * gcc.target/i386/avx2-vpcmpeqb-1.c: Likewise. * gcc.target/i386/avx2-vpcmpeqb-2.c: Likewise. * gcc.target/i386/avx2-vpcmpeqd-1.c: Likewise. * gcc.target/i386/avx2-vpcmpeqd-2.c: Likewise. * gcc.target/i386/avx2-vpcmpeqq-1.c: Likewise. * gcc.target/i386/avx2-vpcmpeqq-2.c: Likewise. * gcc.target/i386/avx2-vpcmpeqw-1.c: Likewise. * gcc.target/i386/avx2-vpcmpeqw-2.c: Likewise. * gcc.target/i386/avx2-vpcmpgtb-1.c: Likewise. * gcc.target/i386/avx2-vpcmpgtb-2.c: Likewise. * gcc.target/i386/avx2-vpcmpgtd-1.c: Likewise. * gcc.target/i386/avx2-vpcmpgtd-2.c: Likewise. * gcc.target/i386/avx2-vpcmpgtq-1.c: Likewise. * gcc.target/i386/avx2-vpcmpgtq-2.c: Likewise. * gcc.target/i386/avx2-vpcmpgtw-1.c: Likewise. * gcc.target/i386/avx2-vpcmpgtw-2.c: Likewise. * gcc.target/i386/avx2-vperm2i128-1.c: Likewise. * gcc.target/i386/avx2-vperm2i128-2.c: Likewise. * gcc.target/i386/avx2-vpermd-1.c: Likewise. * gcc.target/i386/avx2-vpermd-2.c: Likewise. * gcc.target/i386/avx2-vpermpd-1.c: Likewise. * gcc.target/i386/avx2-vpermpd-2.c: Likewise. * gcc.target/i386/avx2-vpermps-1.c: Likewise. * gcc.target/i386/avx2-vpermps-2.c: Likewise. * gcc.target/i386/avx2-vpermq-1.c: Likewise. * gcc.target/i386/avx2-vpermq-2.c: Likewise. * gcc.target/i386/avx2-vphaddd-1.c: Likewise. * gcc.target/i386/avx2-vphaddd-2.c: Likewise. * gcc.target/i386/avx2-vphaddsw-1.c: Likewise. * gcc.target/i386/avx2-vphaddsw-2.c: Likewise. * gcc.target/i386/avx2-vphaddw-1.c: Likewise. * gcc.target/i386/avx2-vphaddw-2.c: Likewise. * gcc.target/i386/avx2-vphsubd-1.c: Likewise. * gcc.target/i386/avx2-vphsubd-2.c: Likewise. * gcc.target/i386/avx2-vphsubsw-1.c: Likewise. * gcc.target/i386/avx2-vphsubsw-2.c: Likewise. * gcc.target/i386/avx2-vphsubw-1.c: Likewise. * gcc.target/i386/avx2-vpmaddubsw-1.c: Likewise. * gcc.target/i386/avx2-vpmaddubsw-2.c: Likewise. * gcc.target/i386/avx2-vpmaddwd-1.c: Likewise. * gcc.target/i386/avx2-vpmaddwd-2.c: Likewise. * gcc.target/i386/avx2-vpmaskloadd-1.c: Likewise. * gcc.target/i386/avx2-vpmaskloadd-2.c: Likewise. * gcc.target/i386/avx2-vpmaskloadd256-1.c: Likewise. * gcc.target/i386/avx2-vpmaskloadd256-2.c: Likewise. * gcc.target/i386/avx2-vpmaskloadq-1.c: Likewise. * gcc.target/i386/avx2-vpmaskloadq-2.c: Likewise. * gcc.target/i386/avx2-vpmaskloadq256-1.c: Likewise. * gcc.target/i386/avx2-vpmaskloadq256-2.c: Likewise. * gcc.target/i386/avx2-vpmaskstored-1.c: Likewise. * gcc.target/i386/avx2-vpmaskstored-2.c: Likewise. * gcc.target/i386/avx2-vpmaskstored256-1.c: Likewise. * gcc.target/i386/avx2-vpmaskstored256-2.c: Likewise. * gcc.target/i386/avx2-vpmaskstoreq-1.c: Likewise. * gcc.target/i386/avx2-vpmaskstoreq-2.c: Likewise. * gcc.target/i386/avx2-vpmaskstoreq256-1.c: Likewise. * gcc.target/i386/avx2-vpmaskstoreq256-2.c: Likewise. * gcc.target/i386/avx2-vpmaxsb-1.c: Likewise. * gcc.target/i386/avx2-vpmaxsb-2.c: Likewise. * gcc.target/i386/avx2-vpmaxsd-1.c: Likewise. * gcc.target/i386/avx2-vpmaxsd-2.c: Likewise. * gcc.target/i386/avx2-vpmaxsw-1.c: Likewise. * gcc.target/i386/avx2-vpmaxsw-2.c: Likewise. * gcc.target/i386/avx2-vpmaxub-1.c: Likewise. * gcc.target/i386/avx2-vpmaxub-2.c: Likewise. * gcc.target/i386/avx2-vpmaxud-1.c: Likewise. * gcc.target/i386/avx2-vpmaxud-2.c: Likewise. * gcc.target/i386/avx2-vpmaxuw-1.c: Likewise. * gcc.target/i386/avx2-vpmaxuw-2.c: Likewise. * gcc.target/i386/avx2-vpminsb-1.c: Likewise. * gcc.target/i386/avx2-vpminsb-2.c: Likewise. * gcc.target/i386/avx2-vpminsd-1.c: Likewise. * gcc.target/i386/avx2-vpminsd-2.c: Likewise. * gcc.target/i386/avx2-vpminsw-1.c: Likewise. * gcc.target/i386/avx2-vpminsw-2.c: Likewise. * gcc.target/i386/avx2-vpminub-1.c: Likewise. * gcc.target/i386/avx2-vpminub-2.c: Likewise. * gcc.target/i386/avx2-vpminud-1.c: Likewise. * gcc.target/i386/avx2-vpminud-2.c: Likewise. * gcc.target/i386/avx2-vpminuw-1.c: Likewise. * gcc.target/i386/avx2-vpminuw-2.c: Likewise. * gcc.target/i386/avx2-vpmovmskb-1.c: Likewise. * gcc.target/i386/avx2-vpmovsxbd-1.c: Likewise. * gcc.target/i386/avx2-vpmovsxbd-2.c: Likewise. * gcc.target/i386/avx2-vpmovsxbq-1.c: Likewise. * gcc.target/i386/avx2-vpmovsxbq-2.c: Likewise. * gcc.target/i386/avx2-vpmovsxbw-1.c: Likewise. * gcc.target/i386/avx2-vpmovsxbw-2.c: Likewise. * gcc.target/i386/avx2-vpmovsxdq-1.c: Likewise. * gcc.target/i386/avx2-vpmovsxdq-2.c: Likewise. * gcc.target/i386/avx2-vpmovsxwd-1.c: Likewise. * gcc.target/i386/avx2-vpmovsxwd-2.c: Likewise. * gcc.target/i386/avx2-vpmovsxwq-1.c: Likewise. * gcc.target/i386/avx2-vpmovsxwq-2.c: Likewise. * gcc.target/i386/avx2-vpmovzxbd-1.c: Likewise. * gcc.target/i386/avx2-vpmovzxbd-2.c: Likewise. * gcc.target/i386/avx2-vpmovzxbq-1.c: Likewise. * gcc.target/i386/avx2-vpmovzxbq-2.c: Likewise. * gcc.target/i386/avx2-vpmovzxbw-1.c: Likewise. * gcc.target/i386/avx2-vpmovzxbw-2.c: Likewise. * gcc.target/i386/avx2-vpmovzxdq-1.c: Likewise. * gcc.target/i386/avx2-vpmovzxdq-2.c: Likewise. * gcc.target/i386/avx2-vpmovzxwd-1.c: Likewise. * gcc.target/i386/avx2-vpmovzxwd-2.c: Likewise. * gcc.target/i386/avx2-vpmovzxwq-1.c: Likewise. * gcc.target/i386/avx2-vpmovzxwq-2.c: Likewise. * gcc.target/i386/avx2-vpmuldq-1.c: Likewise. * gcc.target/i386/avx2-vpmuldq-2.c: Likewise. * gcc.target/i386/avx2-vpmulhrsw-1.c: Likewise. * gcc.target/i386/avx2-vpmulhrsw-2.c: Likewise. * gcc.target/i386/avx2-vpmulhuw-1.c: Likewise. * gcc.target/i386/avx2-vpmulhuw-2.c: Likewise. * gcc.target/i386/avx2-vpmulhw-1.c: Likewise. * gcc.target/i386/avx2-vpmulhw-2.c: Likewise. * gcc.target/i386/avx2-vpmulld-1.c: Likewise. * gcc.target/i386/avx2-vpmulld-2.c: Likewise. * gcc.target/i386/avx2-vpmullw-1.c: Likewise. * gcc.target/i386/avx2-vpmullw-2.c: Likewise. * gcc.target/i386/avx2-vpmuludq-1.c: Likewise. * gcc.target/i386/avx2-vpmuludq-2.c: Likewise. * gcc.target/i386/avx2-vpor-1.c: Likewise. * gcc.target/i386/avx2-vpor-2.c: Likewise. * gcc.target/i386/avx2-vpsadbw-1.c: Likewise. * gcc.target/i386/avx2-vpsadbw-2.c: Likewise. * gcc.target/i386/avx2-vpshufb-1.c: Likewise. * gcc.target/i386/avx2-vpshufb-2.c: Likewise. * gcc.target/i386/avx2-vpshufd-1.c: Likewise. * gcc.target/i386/avx2-vpshufd-2.c: Likewise. * gcc.target/i386/avx2-vpshufhw-1.c: Likewise. * gcc.target/i386/avx2-vpshufhw-2.c: Likewise. * gcc.target/i386/avx2-vpshuflw-1.c: Likewise. * gcc.target/i386/avx2-vpshuflw-2.c: Likewise. * gcc.target/i386/avx2-vpsignb-1.c: Likewise. * gcc.target/i386/avx2-vpsignb-2.c: Likewise. * gcc.target/i386/avx2-vpsignd-1.c: Likewise. * gcc.target/i386/avx2-vpsignd-2.c: Likewise. * gcc.target/i386/avx2-vpsignw-1.c: Likewise. * gcc.target/i386/avx2-vpsignw-2.c: Likewise. * gcc.target/i386/avx2-vpslld-1.c: Likewise. * gcc.target/i386/avx2-vpslld-2.c: Likewise. * gcc.target/i386/avx2-vpslldi-1.c: Likewise. * gcc.target/i386/avx2-vpslldi-2.c: Likewise. * gcc.target/i386/avx2-vpslldq-1.c: Likewise. * gcc.target/i386/avx2-vpslldq-2.c: Likewise. * gcc.target/i386/avx2-vpsllq-1.c: Likewise. * gcc.target/i386/avx2-vpsllq-2.c: Likewise. * gcc.target/i386/avx2-vpsllqi-1.c: Likewise. * gcc.target/i386/avx2-vpsllqi-2.c: Likewise. * gcc.target/i386/avx2-vpsllvd128-1.c: Likewise. * gcc.target/i386/avx2-vpsllvd128-2.c: Likewise. * gcc.target/i386/avx2-vpsllvd256-1.c: Likewise. * gcc.target/i386/avx2-vpsllvd256-2.c: Likewise. * gcc.target/i386/avx2-vpsllvq128-1.c: Likewise. * gcc.target/i386/avx2-vpsllvq128-2.c: Likewise. * gcc.target/i386/avx2-vpsllvq256-1.c: Likewise. * gcc.target/i386/avx2-vpsllvq256-2.c: Likewise. * gcc.target/i386/avx2-vpsllw-1.c: Likewise. * gcc.target/i386/avx2-vpsllw-2.c: Likewise. * gcc.target/i386/avx2-vpsllwi-1.c: Likewise. * gcc.target/i386/avx2-vpsllwi-2.c: Likewise. * gcc.target/i386/avx2-vpsrad-1.c: Likewise. * gcc.target/i386/avx2-vpsrad-2.c: Likewise. * gcc.target/i386/avx2-vpsradi-1.c: Likewise. * gcc.target/i386/avx2-vpsradi-2.c: Likewise. * gcc.target/i386/avx2-vpsravd128-1.c: Likewise. * gcc.target/i386/avx2-vpsravd128-2.c: Likewise. * gcc.target/i386/avx2-vpsravd256-1.c: Likewise. * gcc.target/i386/avx2-vpsravd256-2.c: Likewise. * gcc.target/i386/avx2-vpsraw-1.c: Likewise. * gcc.target/i386/avx2-vpsraw-2.c: Likewise. * gcc.target/i386/avx2-vpsrawi-1.c: Likewise. * gcc.target/i386/avx2-vpsrawi-2.c: Likewise. * gcc.target/i386/avx2-vpsrld-1.c: Likewise. * gcc.target/i386/avx2-vpsrld-2.c: Likewise. * gcc.target/i386/avx2-vpsrldi-1.c: Likewise. * gcc.target/i386/avx2-vpsrldi-2.c: Likewise. * gcc.target/i386/avx2-vpsrldq-1.c: Likewise. * gcc.target/i386/avx2-vpsrldq-2.c: Likewise. * gcc.target/i386/avx2-vpsrlq-1.c: Likewise. * gcc.target/i386/avx2-vpsrlq-2.c: Likewise. * gcc.target/i386/avx2-vpsrlqi-1.c: Likewise. * gcc.target/i386/avx2-vpsrlqi-2.c: Likewise. * gcc.target/i386/avx2-vpsrlvd128-1.c: Likewise. * gcc.target/i386/avx2-vpsrlvd128-2.c: Likewise. * gcc.target/i386/avx2-vpsrlvd256-1.c: Likewise. * gcc.target/i386/avx2-vpsrlvd256-2.c: Likewise. * gcc.target/i386/avx2-vpsrlvq128-1.c: Likewise. * gcc.target/i386/avx2-vpsrlvq128-2.c: Likewise. * gcc.target/i386/avx2-vpsrlvq256-1.c: Likewise. * gcc.target/i386/avx2-vpsrlvq256-2.c: Likewise. * gcc.target/i386/avx2-vpsrlw-1.c: Likewise. * gcc.target/i386/avx2-vpsrlw-2.c: Likewise. * gcc.target/i386/avx2-vpsrlwi-1.c: Likewise. * gcc.target/i386/avx2-vpsrlwi-2.c: Likewise. * gcc.target/i386/avx2-vpsubb-1.c: Likewise. * gcc.target/i386/avx2-vpsubb-2.c: Likewise. * gcc.target/i386/avx2-vpsubd-1.c: Likewise. * gcc.target/i386/avx2-vpsubd-2.c: Likewise. * gcc.target/i386/avx2-vpsubq-1.c: Likewise. * gcc.target/i386/avx2-vpsubq-2.c: Likewise. * gcc.target/i386/avx2-vpsubsb-1.c: Likewise. * gcc.target/i386/avx2-vpsubsb-2.c: Likewise. * gcc.target/i386/avx2-vpsubsw-1.c: Likewise. * gcc.target/i386/avx2-vpsubsw-2.c: Likewise. * gcc.target/i386/avx2-vpsubusb-1.c: Likewise. * gcc.target/i386/avx2-vpsubusb-2.c: Likewise. * gcc.target/i386/avx2-vpsubusw-1.c: Likewise. * gcc.target/i386/avx2-vpsubusw-2.c: Likewise. * gcc.target/i386/avx2-vpunpckhbw-1.c: Likewise. * gcc.target/i386/avx2-vpunpckhbw-2.c: Likewise. * gcc.target/i386/avx2-vpunpckhdq-1.c: Likewise. * gcc.target/i386/avx2-vpunpckhdq-2.c: Likewise. * gcc.target/i386/avx2-vpunpckhqdq-1.c: Likewise. * gcc.target/i386/avx2-vpunpckhqdq-2.c: Likewise. * gcc.target/i386/avx2-vpunpckhwd-1.c: Likewise. * gcc.target/i386/avx2-vpunpckhwd-2.c: Likewise. * gcc.target/i386/avx2-vpunpcklbw-1.c: Likewise. * gcc.target/i386/avx2-vpunpcklbw-2.c: Likewise. * gcc.target/i386/avx2-vpunpckldq-1.c: Likewise. * gcc.target/i386/avx2-vpunpckldq-2.c: Likewise. * gcc.target/i386/avx2-vpunpcklqdq-1.c: Likewise. * gcc.target/i386/avx2-vpunpcklqdq-2.c: Likewise. * gcc.target/i386/avx2-vpunpcklwd-1.c: Likewise. * gcc.target/i386/avx2-vpunpcklwd-2.c: Likewise. * gcc.target/i386/avx2-vpxor-1.c: Likewise. * gcc.target/i386/avx2-vpxor-2.c: Likewise. * gcc.target/i386/testimm-9.c: Likewise. From-SVN: r178006
Kirill Yukhin committed -
2011-08-23 Mark Heffernan <meheff@google.com> PR middle-end/38509 * common.opt (Wfree-nonheap-object): New option. * doc/invoke.texi (Warning options): Document -Wfree-nonheap-object. * builtins.c (maybe_emit_free_warning): Add OPT_Wfree_nonheap_object to warning. (expand_builtin): Make warning conditional. From-SVN: r178004
Mark Heffernan committed -
gcc/ 2011-08-23 Uros Bizjak <ubizjak@gmail.com> * config/i386/i386.md (type): Add imulx, ishiftx and rotatex. (length_immediate): Handle imulx, ishiftx and rotatex. (imm_disp): Ditto. (isa): Add bmi2. (enabled): Handle bmi2. (w): New mode attribute. (*mul<mode><dwi>3): Split from *<u>mul<mode><dwi>3. (*umul<mode><dwi>3): Ditto. Add imulx BMI2 alternative. (*bmi2_umulditi3_1): New insn pattern. (*bmi2_umulsidi3_1): Ditto. (*umul<mode><dwi>3 splitter): New splitter to avoid flags dependency. (*bmi2_ashl<mode>3_1): New insn pattern. (*ashl<mode>3_1): Add ishiftx BMI2 alternative. (*ashl<mode>3_1 splitter): New splitter to avoid flags dependency. (*bmi2_ashlsi3_1_zext): New insn pattern. (*ashlsi3_1_zext): Add ishiftx BMI2 alternative. (*ashlsi3_1_zext splitter): New splitter to avoid flags dependency. (*bmi2_<shiftrt_insn><mode>3_1): New insn pattern. (*<shiftrt_insn><mode>3_1): Add ishiftx BMI2 alternative. (*<shiftrt_insn><mode>3_1 splitter): New splitter to avoid flags dependency. (*bmi2_<shiftrt_insn>si3_1_zext): New insn pattern. (*<shiftrt_insn>si3_1_zext): Add ishiftx BMI2 alternative. (*<shiftrt_insn>si3_1_zext splitter): New splitter to avoid flags dependency. (*bmi2_rorx<mode>3_1): New insn pattern. (*<rotate_insn><mode>3_1): Add rotatex BMI2 alternative. (*rotate<mode>3_1 splitter): New splitter to avoid flags dependency. (*rotatert<mode>3_1 splitter): Ditto. (*bmi2_rorxsi3_1_zext): New insn pattern. (*<rotate_insn>si3_1_zext): Add rotatex BMI2 alternative. (*rotatesi3_1_zext splitter): New splitter to avoid flags dependency. (*rotatertsi3_1_zext splitter): Ditto. 2011-08-23 Kirill Yukhin <kirill.yukhin@intel.com> * common/config/i386/i386-common.c (OPTION_MASK_ISA_BMI2_SET): New. (OPTION_MASK_ISA_BMI2_UNSET): Likewise. (ix86_handle_option): Handle OPT_mbmi2 case. * config.gcc (i[34567]86-*-*): Add bmi2intrin.h. (x86_64-*-*): Likewise. * config/i386/bmi2intrin.h: New file. * config/i386/cpuid.h (bit_BMI2): New. * config/i386/driver-i386.c (host_detect_local_cpu): Detect BMI2 feature. * config/i386/i386-c.c (ix86_target_macros_internal): Conditionally define __BMI2__. * config/i386/i386.c (ix86_option_override_internal): Define PTA_BMI2. Handle BMI2 option. (ix86_valid_target_attribute_inner_p): Handle BMI2 option. (print_reg): New code. (ix86_print_operand): Likewise. (ix86_builtins): Add IX86_BUILTIN_BZHI32, IX86_BUILTIN_BZHI64, IX86_BUILTIN_PDEP32, IX86_BUILTIN_PDEP64, IX86_BUILTIN_PEXT32, IX86_BUILTIN_PEXT64. (bdesc_args): Add IX86_BUILTIN_BZHI32, IX86_BUILTIN_BZHI64, IX86_BUILTIN_PDEP32, IX86_BUILTIN_PDEP64, IX86_BUILTIN_PEXT32, IX86_BUILTIN_PEXT64. * config/i386/i386.h (TARGET_BMI2): New. * config/i386/i386.md (UNSPEC_PDEP): New. (UNSPEC_PEXT): Likewise. (*bmi2_bzhi_<mode>3): Likewise. (*bmi2_pdep_<mode>3): Likewise. (*bmi2_pext_<mode>3): Likewise. * config/i386/i386.opt (mbmi2): New. * config/i386/x86intrin.h: Include bmi2intrin.h when __BMI2__ is defined. * doc/extend.texi: Document BMI2 built-in functions. * doc/invoke.texi: Document -mbmi2. gcc/testsuite/ 2011-08-23 Kirill Yukhin <kirill.yukhin@intel.com> * g++.dg/other/i386-2.C: Add -mbmi2 check. * g++.dg/other/i386-3.C: Likewise. * gcc.target/i386/bmi2-bzhi32-1.c: New testcase. * gcc.target/i386/bmi2-bzhi32-1a.c: Likewise. * gcc.target/i386/bmi2-bzhi64-1.c: Likewise. * gcc.target/i386/bmi2-bzhi64-1a.c: Likewise. * gcc.target/i386/bmi2-mulx32-1.c: Likewise. * gcc.target/i386/bmi2-mulx32-1a.c: Likewise. * gcc.target/i386/bmi2-mulx64-1.c: Likewise. * gcc.target/i386/bmi2-mulx64-1a.c: Likewise. * gcc.target/i386/bmi2-pdep32-1.c: Likewise. * gcc.target/i386/bmi2-pdep32-1a.c: Likewise. * gcc.target/i386/bmi2-pdep64-1.c: Likewise. * gcc.target/i386/bmi2-pdep64-1a.c: Likewise. * gcc.target/i386/bmi2-pext32-1.c: Likewise. * gcc.target/i386/bmi2-pext32-1a.c: Likewise. * gcc.target/i386/bmi2-pext64-1.c: Likewise. * gcc.target/i386/bmi2-pext64-1a.c: Likewise. * gcc.target/i386/bmi2-rorx32-1.c: Likewise. * gcc.target/i386/bmi2-rorx32-1a.c: Likewise. * gcc.target/i386/bmi2-rorx64-1.c: Likewise. * gcc.target/i386/bmi2-rorx64-1a.c: Likewise. * gcc.target/i386/bmi2-sarx32-1.c: Likewise. * gcc.target/i386/bmi2-sarx32-1a.c: Likewise. * gcc.target/i386/bmi2-sarx64-1.c: Likewise. * gcc.target/i386/bmi2-sarx64-1a.c: Likewise. * gcc.target/i386/bmi2-shlx32-1.c: Likewise. * gcc.target/i386/bmi2-shlx32-1a.c: Likewise. * gcc.target/i386/bmi2-shlx64-1.c: Likewise. * gcc.target/i386/bmi2-shlx64-1a.c: Likewise. * gcc.target/i386/bmi2-shrx32-1.c: Likewise. * gcc.target/i386/bmi2-shrx32-1a.c: Likewise. * gcc.target/i386/bmi2-shrx64-1.c: Likewise. * gcc.target/i386/bmi2-shrx64-1a.c: Likewise. * gcc.target/i386/i386.exp (check_effective_target_bmi2): New. * gcc.target/i386/sse-12.c: Add BMI2. * gcc.target/i386/sse-13.c: Likewise. * gcc.target/i386/sse-14.c: Likewise. * gcc.target/i386/sse-22.c: Likewise. * gcc.target/i386/sse-23.c: Likewise. From-SVN: r178001
H.J. Lu committed -
* typeck2.c (build_functional_cast): Don't try to avoid calling build_value_init. * pt.c (instantiate_class_template_1): Don't copy TYPE_HAS_* flags. From-SVN: r177999
Jason Merrill committed -
PR c++/49045 Core 1321 * tree.c (dependent_name): New. (cp_tree_equal): Two calls with the same dependent name are equivalent even if the overload sets are different. From-SVN: r177998
Jason Merrill committed -
* tree.c (build_target_expr): Set TREE_CONSTANT on literal TARGET_EXPR if the value is constant. * typeck2.c (build_functional_cast): Don't set it here. From-SVN: r177997
Jason Merrill committed -
Core 903 (partial) * call.c (null_ptr_cst_p): Only 0 qualifies in C++11. From-SVN: r177996
Jason Merrill committed -
Core 975 * decl.c (cxx_init_decl_processing): Initialize dependent_lambda_return_type_node. * cp-tree.h (cp_tree_index): Add CPTI_DEPENDENT_LAMBDA_RETURN_TYPE. (dependent_lambda_return_type_node): Define. (DECLTYPE_FOR_LAMBDA_RETURN): Remove. * semantics.c (lambda_return_type): Handle overloaded function. Use dependent_lambda_return_type_node instead of DECLTYPE_FOR_LAMBDA_RETURN. (apply_lambda_return_type): Don't check dependent_type_p. * pt.c (tsubst_copy_and_build): Handle lambda return type deduction. (instantiate_class_template_1): Likewise. (tsubst): Don't use DECLTYPE_FOR_LAMBDA_RETURN. * mangle.c (write_type): Likewise. * typeck.c (structural_comptypes): Likewise. (check_return_expr): Handle dependent_lambda_return_type_node. From-SVN: r177995
Jason Merrill committed -
re PR c++/50024 ([C++0x] [4.7 Regression] crash when using braced initialization in member function of template) PR c++/50024 * semantics.c (maybe_constant_value): Don't try to fold { }. * pt.c (build_non_dependent_expr): Don't wrap { }. * init.c (build_value_init): Allow scalar value-init in templates. From-SVN: r177994
Jason Merrill committed -
From-SVN: r177993
Jason Merrill committed -
re PR c++/50158 (invalid 'variable set but not used' warning (boolean used as an index to an array)) PR c++/50158 * typeck.c (cp_build_modify_expr): Call mark_rvalue_use on rhs if it has side-effects and needs to be preevaluated. * g++.dg/warn/Wunused-var-16.C: New test. From-SVN: r177992
Jakub Jelinek committed -
PR middle-end/50161 * simplify-rtx.c (simplify_const_unary_operation): If op is CONST_INT, don't look at op_mode, but use instead mode. * optabs.c (add_equal_note): For FFS, CLZ, CTZ, CLRSB, POPCOUNT, PARITY and BSWAP use operand mode for operation and TRUNCATE/ZERO_EXTEND if needed. * doc/rtl.texi (ffs, clrsb, clz, ctz, popcount, parity, bswap): Document that operand mode must be same as operation mode, or VOIDmode. * config/avr/avr.md (paritysi2, *parityqihi2.libgcc, *paritysihi2.libgcc, popcountsi2, *popcountsi2.libgcc, *popcountqihi2.libgcc, clzsi2, *clzsihi2.libgcc, ctzsi2, *ctzsihi2.libgcc, ffssi2, *ffssihi2.libgcc): For unary ops use the mode of operand for the operation and add truncate or zero_extend around if needed. * config/c6x/c6x.md (ctzdi2): Likewise. * config/bfin/bfin.md (clrsbsi2, signbitssi2): Likewise. * gcc.dg/pr50161.c: New test. From-SVN: r177991
Jakub Jelinek committed -
re PR c++/50055 ([PATCH] Location information for the throw() specification in a function may be incorrect) PR c++/50055 * except.c (begin_eh_spec_block): Build EH_SPEC block on the same line as the function. From-SVN: r177990
Siddhesh Poyarekar committed -
* cfgexpand.c (expand_one_register_var): Use get_pointer_alignment. (gimple_expand_cfg): Merge alignment info for coalesced pointer SSA names. From-SVN: r177989
Michael Matz committed -
PR c++/46862 * class.c (finish_struct_1): If TYPE_TRANSPARENT_AGGR is set on a type which doesn't have any fields, clear it and diagnose. * g++.dg/dfp/nofields.C: New test. From-SVN: r177987
Jakub Jelinek committed -
2011-08-23 Richard Guenther <rguenther@suse.de> * Makefile.in (tree-data-ref.o): Add tree-affine.h dependency. * tree-affine.h (aff_comb_cannot_overlap_p): Declare. * tree-affine.c (aff_comb_cannot_overlap_p): New function, moved from ... * tree-ssa-loop-im.c (cannot_overlap_p): ... here. (mem_refs_may_alias_p): Adjust. * tree-data-ref.h (dr_may_alias_p): Adjust. * tree-data-ref.c: Include tree-affine.h. (dr_analyze_indices): Do nothing for the non-loop case. (dr_may_alias_p): Distinguish loop and non-loop case. Disambiguate more cases in the non-loop case. * graphite-sese-to-poly.c (write_alias_graph_to_ascii_dimacs): Adjust calls to dr_may_alias_p. (write_alias_graph_to_ascii_ecc): Likewise. (write_alias_graph_to_ascii_dot): Likewise. (build_alias_set_optimal_p): Likewise. From-SVN: r177986
Richard Guenther committed -
2011-08-23 Tobias Burnus <burnus@net-b.de> PR fortran/31600 * symbol.c (gfc_add_type): Better diagnostic if redefining use-associated symbol. * module.c (gfc_use_module): Use module name as locus. 2011-08-23 Tobias Burnus <burnus@net-b.de> PR fortran/31600 * gfortran.dg/use_16.f90: New. From-SVN: r177985
Tobias Burnus committed -
2011-08-23 Richard Guenther <rguenther@suse.de> PR tree-optimization/50162 * tree-vect-stmts.c (vectorizable_call): Fix argument lookup. From-SVN: r177984
Richard Guenther committed -
tree-data-ref.c (dr_analyze_indices): Add comments, handle REALPART_EXPR and IMAGPART_EXPR similar to ARRAY_REFs. 2011-08-23 Richard Guenther <rguenther@suse.de> * tree-data-ref.c (dr_analyze_indices): Add comments, handle REALPART_EXPR and IMAGPART_EXPR similar to ARRAY_REFs. (create_data_ref): Also dump access functions for the created data-ref. From-SVN: r177983
Richard Guenther committed -
From-SVN: r177982
GCC Administrator committed
-
- 22 Aug, 2011 15 commits
-
-
* config/i386/64/sfp-machine.h (ASM_INVALID): New define. (ASM_DIVZERO): Ditto. (FP_HANLDE_EXCEPTIONS): Use ASM_INVALID and ASM_DIVZERO. From-SVN: r177978
Uros Bizjak committed -
From-SVN: r177975
Uros Bizjak committed -
PR target/50155 * config/i386/sse.md (VI_AVX2): New. (<plusminus_insn><mode>3): Use VI_AVX2 mode iterator. (*<plusminus_insn><mode>3): Ditto. (<sse2_avx2>_andnot<mode>3): Ditto. (*andnot<mode>3): Fix order of cond operands. Add asserts for correct TARGET_xxx. (*<any_logic:code><mode>3): Ditto. testsuite/ChangeLog: PR target/50155 * gcc.target/i386/pr50155.c: New test. From-SVN: r177974
Uros Bizjak committed -
Use it to force BUILTINS_LOCATION when declaring builtins instead of creating a <built-in> entry in the line_table which is wrong. * c-opts.c (c_finish_options): Force BUILTINS_LOCATION for tokens defined in cpp_init_builtins and c_cpp_builtins. gcc/fortran/ChangeLog * cpp.c (gfc_cpp_init): Force BUILTINS_LOCATION for tokens defined in cpp_define_builtins. libcpp/ChangeLog * init.c (cpp_create_reader): Inititalize forced_token_location_p. * internal.h (struct cpp_reader): Add field forced_token_location_p. * lex.c (_cpp_lex_direct): Use forced_token_location_p. (cpp_force_token_locations): New. (cpp_stop_forcing_token_locations): New. From-SVN: r177973
Gabriel Charette committed -
* config/m32c/m32c.h (CLASS_MAX_NREGS): Remove macro. * config/m32c/m32c-protos.h (m32c_class_max_nregs): Remove. * config/m32c/m32c.c (m32c_class_max_nregs): Make static. Change regclass argument type to reg_class_t. Change 'max' and 'v' vars and return types to unsigned char. Use reg_class_contents instead of class_contents. (TARGET_CLASS_MAX_NREGS): Define. From-SVN: r177971
Anatoly Sokolov committed -
From-SVN: r177969
Uros Bizjak committed -
* config/c6x/c6x.md (indirect_jump_shadow): Tweak representation to make computed_jump_p return true. From-SVN: r177968
Bernd Schmidt committed -
config: * picflag.m4: New file. gcc: * configure.ac (GCC_PICFLAG_FOR_TARGET): Call it. (PICFLAG_FOR_TARGET): Substitute. * aclocal.m4: Regenerate. * configure: Regenerate. gcc/ada: * gcc-interface/Makefile.in (PICFLAG_FOR_TARGET): New. (GNATLIBCFLAGS_FOR_C): Replace TARGET_LIBGCC2_CFLAGS by PICFLAG_FOR_TARGET. (gnatlib-shared-default, gnatlib-shared-dual-win32) (gnatlib-shared-win32, gnatlib-shared-darwin, gnatlib-shared) (gnatlib-sjlj, gnatlib-zcx): Likewise. libada: * configure.ac: Include ../config/picflag.m4. (GCC_PICFLAG): Call it. Substitute. * configure: Regenerate. * Makefile.in (TARGET_LIBGCC2_CFLAGS): Replace by PICFLAG. (GNATLIBCFLAGS_FOR_C): Replace TARGET_LIBGCC2_CFLAGS by PICFLAG. (LIBADA_FLAGS_TO_PASS): Pass PICFLAG as PICFLAG_FOR_TARGET. Don't include $(GCC_DIR)/libgcc.mvars. libiberty: * aclocal.m4: Include ../config/picflag.m4. * configure.ac (GCC_PICFLAG): Call it. (enable_shared): Clear PICFLAG unless shared. * configure: Regenerate. From-SVN: r177967
Rainer Orth committed -
From-SVN: r177966
Uros Bizjak committed -
gcc/ * c-family/c-pch.c (c_common_read_pch): Re-set line table right after reading in the pch. From-SVN: r177964
Dodji Seketeli committed -
2011-08-22 H.J. Lu <hongjiu.lu@intel.com> * acinclude.m4 (gcc_AC_INITFINI_ARRAY): Error if __ELF__ isn't defined. * configure: Regenerated. From-SVN: r177963
H.J. Lu committed -
re PR tree-optimization/50133 (ICE: SIGSEGV in vect_finish_stmt_generation (gimple.h:4821) with -ftree-vectorize -fno-tree-loop-im) PR tree-optimization/50133 * tree-vect-stmts.c (vect_finish_stmt_generation): Copy location from stmt instead of some statement around gsi. * gcc.dg/pr50133.c: New test. From-SVN: r177958
Jakub Jelinek committed -
re PR middle-end/50141 (ICE: tree check: expected var_decl, have parm_decl in get_bit_range, at expr.c:4357 with --param allow-store-data-races=0 and bitfields) PR middle-end/50141 * expr.c (get_bit_range): Only use DECL_THREAD_LOCAL_P if innerdecl is a VAR_DECL. * c-c++-common/cxxbitfields-6.c: New test. From-SVN: r177957
Jakub Jelinek committed -
2011-08-22 Mikael Morin <mikael.morin@gcc.gnu.org> PR fortran/50050 * gfortran.h (gfc_clear_shape, gfc_free_shape): New prototypes. * expr.c (gfc_clear_shape, gfc_free_shape): New functions. (free_expr0): Re-use gfc_free_shape. * trans-expr.c (gfc_trans_subarray_assign): Ditto. * trans-io.c (transfer_array_component): Ditto. * resolve.c (check_host_association): Ditto. (gfc_expr_to_initialize): Don't force the rank value and free the shape after updating the expression. Recalculate shape and rank. (resolve_where_shape): Re-use gfc_clear_shape. * array.c (gfc_array_ref_shape): Ditto. 2011-08-22 Mikael Morin <mikael.morin@gcc.gnu.org> PR fortran/50050 * gfortran.dg/alloc_comp_initializer_3.f90: New test. From-SVN: r177956
Mikael Morin committed -
2011-08-22 Kirill Yukhin <kirill.yukhin@intel.com> * config/i386/avx2intrin.h: New file. * config/i386/i386-builtin-types.def (PCINT, PCINT64, PV4SI, PV8SI, V32QI_FTYPE_V32QI, V32QI_FTYPE_V16QI, V16HI_FTYPE_V16HI, V16HI_FTYPE_V8HI, V8SI_FTYPE_V8SI, V16HI_FTYPE_V16QI, V8SI_FTYPE_V16QI, V4DI_FTYPE_V16QI, V8SI_FTYPE_V8HI, V4DI_FTYPE_V8HI, V4DI_FTYPE_V4SI, V4DI_FTYPE_PV4DI, V4DI_FTYPE_V2DI, V2DI_FTYPE_PCV2DI_V2DI, V4SI_FTYPE_PCV4SI_V4SI, V32QI_FTYPE_V16HI_V16HI, V16HI_FTYPE_V8SI_V8SI, V32QI_FTYPE_V32QI_V32QI, V16HI_FTYPE_V32QI_V32QI, V16HI_FTYPE_V16HI_V8HI, V16HI_FTYPE_V16HI_V16HI, V16HI_FTYPE_V16HI_INT, V16HI_FTYPE_V16HI_SI, V16HI_FTYPE_V16HI_V16HI_INT, V32QI_FTYPE_V32QI_V32QI_INT, V8SI_FTYPE_V8SI_V4SI, V8SI_FTYPE_V8SI_V8SI, V8SI_FTYPE_V16HI_V16HI, V8SI_FTYPE_V8SI_INT, V8SI_FTYPE_V8SI_SI, V8SI_FTYPE_PCV8SI_V8SI, V4DI_FTYPE_V4DI_V4DI, V4DI_FTYPE_V8SI_V8SI, V4DI_FTYPE_V4DI_V2DI, V4DI_FTYPE_PCV4DI_V4DI, V4DI_FTYPE_V4DI_INT, V2DI_FTYPE_V4DI_INT, V4DI_FTYPE_V4DI_V4DI_INT, V4DI_FTYPE_V4DI_V2DI_INT, VOID_FTYPE_PV2DI_V2DI_V2DI, VOID_FTYPE_PV4DI_V4DI_V4DI, VOID_FTYPE_PV4SI_V4SI_V4SI, VOID_FTYPE_PV8SI_V8SI_V8SI, V2DF_FTYPE_V2DF_PCDOUBLE_V4SI_V2DF_INT, V4DF_FTYPE_V4DF_PCDOUBLE_V4SI_V4DF_INT, V2DF_FTYPE_V2DF_PCDOUBLE_V2DI_V2DF_INT, V4DF_FTYPE_V4DF_PCDOUBLE_V4DI_V4DF_INT, V4SF_FTYPE_V4SF_PCFLOAT_V4SI_V4SF_INT, V8SF_FTYPE_V8SF_PCFLOAT_V8SI_V8SF_INT, V4SF_FTYPE_V4SF_PCFLOAT_V2DI_V4SF_INT, V4SF_FTYPE_V4SF_PCFLOAT_V4DI_V4SF_INT, V2DI_FTYPE_V2DI_PCINT64_V4SI_V2DI_INT, V4DI_FTYPE_V4DI_PCINT64_V4SI_V4DI_INT, V2DI_FTYPE_V2DI_PCINT64_V2DI_V2DI_INT, V4DI_FTYPE_V4DI_PCINT64_V4DI_V4DI_INT, V4SI_FTYPE_V4SI_PCINT_V4SI_V4SI_INT, V8SI_FTYPE_V8SI_PCINT_V8SI_V8SI_INT, V4SI_FTYPE_V4SI_PCINT_V2DI_V4SI_INT, V4SI_FTYPE_V4SI_PCINT_V4DI_V4SI_INT, V16HI_FTYPE_V16HI_SI_COUNT, V16HI_FTYPE_V16HI_V8HI_COUNT, V8SI_FTYPE_V8SI_SI_COUNT, V8SI_FTYPE_V8SI_V4SI_COUNT, V4DI_FTYPE_V4DI_INT_COUNT, V4DI_FTYPE_V4DI_V2DI_COUNT, V4DI_FTYPE_V4DI_INT_CONVERT, V4DI_FTYPE_V4DI_V4DI_INT_CONVERT): New. * config/i386/i386.c (ix86_builtins): Add IX86_BUILTIN_MPSADBW256, IX86_BUILTIN_PABSB256, IX86_BUILTIN_PABSW256, IX86_BUILTIN_PABSD256, IX86_BUILTIN_PACKSSDW256, IX86_BUILTIN_PACKSSWB256, IX86_BUILTIN_PACKUSDW256, IX86_BUILTIN_PACKUSWB256, IX86_BUILTIN_PADDB256, IX86_BUILTIN_PADDW256, IX86_BUILTIN_PADDD256, IX86_BUILTIN_PADDQ256, IX86_BUILTIN_PADDSB256, IX86_BUILTIN_PADDSW256, IX86_BUILTIN_PADDUSB256, IX86_BUILTIN_PADDUSW256, IX86_BUILTIN_PALIGNR256, IX86_BUILTIN_AND256I, IX86_BUILTIN_ANDNOT256I, IX86_BUILTIN_PAVGB256, IX86_BUILTIN_PAVGW256, IX86_BUILTIN_PBLENDVB256, IX86_BUILTIN_PBLENDVW256, IX86_BUILTIN_PCMPEQB256, IX86_BUILTIN_PCMPEQW256, IX86_BUILTIN_PCMPEQD256, IX86_BUILTIN_PCMPEQQ256, IX86_BUILTIN_PCMPGTB256, IX86_BUILTIN_PCMPGTW256, IX86_BUILTIN_PCMPGTD256, IX86_BUILTIN_PCMPGTQ256, IX86_BUILTIN_PHADDW256, IX86_BUILTIN_PHADDD256, IX86_BUILTIN_PHADDSW256, IX86_BUILTIN_PHSUBW256, IX86_BUILTIN_PHSUBD256, IX86_BUILTIN_PHSUBSW256, IX86_BUILTIN_PMADDUBSW256, IX86_BUILTIN_PMADDWD256, IX86_BUILTIN_PMAXSB256, IX86_BUILTIN_PMAXSW256, IX86_BUILTIN_PMAXSD256, IX86_BUILTIN_PMAXUB256, IX86_BUILTIN_PMAXUW256, IX86_BUILTIN_PMAXUD256, IX86_BUILTIN_PMINSB256, IX86_BUILTIN_PMINSW256, IX86_BUILTIN_PMINSD256, IX86_BUILTIN_PMINUB256, IX86_BUILTIN_PMINUW256, IX86_BUILTIN_PMINUD256, IX86_BUILTIN_PMOVMSKB256, IX86_BUILTIN_PMOVSXBW256, IX86_BUILTIN_PMOVSXBD256, IX86_BUILTIN_PMOVSXBQ256, IX86_BUILTIN_PMOVSXWD256, IX86_BUILTIN_PMOVSXWQ256, IX86_BUILTIN_PMOVSXDQ256, IX86_BUILTIN_PMOVZXBW256, IX86_BUILTIN_PMOVZXBD256, IX86_BUILTIN_PMOVZXBQ256, IX86_BUILTIN_PMOVZXWD256, IX86_BUILTIN_PMOVZXWQ256, IX86_BUILTIN_PMOVZXDQ256, IX86_BUILTIN_PMULDQ256, IX86_BUILTIN_PMULHRSW256, IX86_BUILTIN_PMULHUW256, IX86_BUILTIN_PMULHW256, IX86_BUILTIN_PMULLW256, IX86_BUILTIN_PMULLD256, IX86_BUILTIN_PMULUDQ256, IX86_BUILTIN_POR256, IX86_BUILTIN_PSADBW256, IX86_BUILTIN_PSHUFB256, IX86_BUILTIN_PSHUFD256, IX86_BUILTIN_PSHUFHW256, IX86_BUILTIN_PSHUFLW256, IX86_BUILTIN_PSIGNB256, IX86_BUILTIN_PSIGNW256, IX86_BUILTIN_PSIGND256, IX86_BUILTIN_PSLLDQI256, IX86_BUILTIN_PSLLWI256, IX86_BUILTIN_PSLLW256, IX86_BUILTIN_PSLLDI256, IX86_BUILTIN_PSLLD256, IX86_BUILTIN_PSLLQI256, IX86_BUILTIN_PSLLQ256, IX86_BUILTIN_PSRAWI256, IX86_BUILTIN_PSRAW256, IX86_BUILTIN_PSRADI256, IX86_BUILTIN_PSRAD256, IX86_BUILTIN_PSRLDQI256, IX86_BUILTIN_PSRLWI256, IX86_BUILTIN_PSRLW256, IX86_BUILTIN_PSRLDI256, IX86_BUILTIN_PSRLD256, IX86_BUILTIN_PSRLQI256, IX86_BUILTIN_PSRLQ256, IX86_BUILTIN_PSUBB256, IX86_BUILTIN_PSUBW256, IX86_BUILTIN_PSUBD256, IX86_BUILTIN_PSUBQ256, IX86_BUILTIN_PSUBSB256, IX86_BUILTIN_PSUBSW256, IX86_BUILTIN_PSUBUSB256, IX86_BUILTIN_PSUBUSW256, IX86_BUILTIN_PUNPCKHBW256, IX86_BUILTIN_PUNPCKHWD256, IX86_BUILTIN_PUNPCKHDQ256, IX86_BUILTIN_PUNPCKHQDQ256, IX86_BUILTIN_PUNPCKLBW256, IX86_BUILTIN_PUNPCKLWD256, IX86_BUILTIN_PUNPCKLDQ256, IX86_BUILTIN_PUNPCKLQDQ256, IX86_BUILTIN_PXOR256, IX86_BUILTIN_MOVNTDQA256, IX86_BUILTIN_VBROADCASTSS_PS, IX86_BUILTIN_VBROADCASTSS_PS256, IX86_BUILTIN_VBROADCASTSD_PD256, IX86_BUILTIN_VBROADCASTSI256, IX86_BUILTIN_PBLENDD256, IX86_BUILTIN_PBLENDD128, IX86_BUILTIN_PBROADCASTB256, IX86_BUILTIN_PBROADCASTW256, IX86_BUILTIN_PBROADCASTD256, IX86_BUILTIN_PBROADCASTQ256, IX86_BUILTIN_PBROADCASTB128, IX86_BUILTIN_PBROADCASTW128, IX86_BUILTIN_PBROADCASTD128, IX86_BUILTIN_PBROADCASTQ128, IX86_BUILTIN_VPERMVARSI256, IX86_BUILTIN_VPERMDF256, IX86_BUILTIN_VPERMVARSF256, IX86_BUILTIN_VPERMDI256, IX86_BUILTIN_VPERMTI256, IX86_BUILTIN_VEXTRACT128I256, IX86_BUILTIN_VINSERT128I256, IX86_BUILTIN_MASKLOADD, IX86_BUILTIN_MASKLOADQ, IX86_BUILTIN_MASKLOADD256, IX86_BUILTIN_MASKLOADQ256, IX86_BUILTIN_MASKSTORED, IX86_BUILTIN_MASKSTOREQ, IX86_BUILTIN_MASKSTORED256, IX86_BUILTIN_MASKSTOREQ256, IX86_BUILTIN_PSLLVV4DI, IX86_BUILTIN_PSLLVV2DI, IX86_BUILTIN_PSLLVV8SI, IX86_BUILTIN_PSLLVV4SI, IX86_BUILTIN_PSRAVV8SI, IX86_BUILTIN_PSRAVV4SI, IX86_BUILTIN_PSRLVV4DI, IX86_BUILTIN_PSRLVV2DI, IX86_BUILTIN_PSRLVV8SI, IX86_BUILTIN_PSRLVV4SI, IX86_BUILTIN_GATHERSIV2DF, IX86_BUILTIN_GATHERSIV4DF, IX86_BUILTIN_GATHERDIV2DF, IX86_BUILTIN_GATHERDIV4DF, IX86_BUILTIN_GATHERSIV4SF, IX86_BUILTIN_GATHERSIV8SF, IX86_BUILTIN_GATHERDIV4SF, IX86_BUILTIN_GATHERDIV8SF, IX86_BUILTIN_GATHERSIV2DI, IX86_BUILTIN_GATHERSIV4DI, IX86_BUILTIN_GATHERDIV2DI, IX86_BUILTIN_GATHERDIV4DI, IX86_BUILTIN_GATHERSIV4SI, IX86_BUILTIN_GATHERSIV8SI, IX86_BUILTIN_GATHERDIV4SI, IX86_BUILTIN_GATHERDIV8SI. (bdesc_special_args): Add IX86_BUILTIN_MOVNTDQA256, IX86_BUILTIN_MASKLOADD, IX86_BUILTIN_MASKLOADQ, IX86_BUILTIN_MASKLOADD256, IX86_BUILTIN_MASKLOADQ256, IX86_BUILTIN_MASKSTORED, IX86_BUILTIN_MASKSTOREQ, IX86_BUILTIN_MASKSTORED256, IX86_BUILTIN_MASKSTOREQ256. (bdesc_args): Add IX86_BUILTIN_MPSADBW256, IX86_BUILTIN_PABSB256, IX86_BUILTIN_PABSW256, IX86_BUILTIN_PABSD256, IX86_BUILTIN_PACKSSDW256, IX86_BUILTIN_PACKSSWB256, IX86_BUILTIN_PACKUSDW256, IX86_BUILTIN_PACKUSWB256, IX86_BUILTIN_PADDB256, IX86_BUILTIN_PADDW256, IX86_BUILTIN_PADDD256, IX86_BUILTIN_PADDQ256, IX86_BUILTIN_PADDSB256, IX86_BUILTIN_PADDSW256, IX86_BUILTIN_PADDUSB256, IX86_BUILTIN_PADDUSW256, IX86_BUILTIN_PALIGNR256, IX86_BUILTIN_AND256I, IX86_BUILTIN_ANDNOT256I, IX86_BUILTIN_PAVGB256, IX86_BUILTIN_PAVGW256, IX86_BUILTIN_PBLENDVB256, IX86_BUILTIN_PBLENDVW256, IX86_BUILTIN_PCMPEQB256, IX86_BUILTIN_PCMPEQW256, IX86_BUILTIN_PCMPEQD256, IX86_BUILTIN_PCMPEQQ256, IX86_BUILTIN_PCMPGTB256, IX86_BUILTIN_PCMPGTW256, IX86_BUILTIN_PCMPGTD256, IX86_BUILTIN_PCMPGTQ256, IX86_BUILTIN_PHADDW256, IX86_BUILTIN_PHADDD256, IX86_BUILTIN_PHADDSW256, IX86_BUILTIN_PHSUBW256, IX86_BUILTIN_PHSUBD256, IX86_BUILTIN_PHSUBSW256, IX86_BUILTIN_PMADDUBSW256, IX86_BUILTIN_PMADDWD256, IX86_BUILTIN_PMAXSB256, IX86_BUILTIN_PMAXSW256, IX86_BUILTIN_PMAXSD256, IX86_BUILTIN_PMAXUB256, IX86_BUILTIN_PMAXUW256, IX86_BUILTIN_PMAXUD256, IX86_BUILTIN_PMINSB256, IX86_BUILTIN_PMINSW256, IX86_BUILTIN_PMINSD256, IX86_BUILTIN_PMINUB256, IX86_BUILTIN_PMINUW256, IX86_BUILTIN_PMINUD256, IX86_BUILTIN_PMOVMSKB256, IX86_BUILTIN_PMOVSXBW256, IX86_BUILTIN_PMOVSXBD256, IX86_BUILTIN_PMOVSXBQ256, IX86_BUILTIN_PMOVSXWD256, IX86_BUILTIN_PMOVSXWQ256, IX86_BUILTIN_PMOVSXDQ256, IX86_BUILTIN_PMOVZXBW256, IX86_BUILTIN_PMOVZXBD256, IX86_BUILTIN_PMOVZXBQ256, IX86_BUILTIN_PMOVZXWD256, IX86_BUILTIN_PMOVZXWQ256, IX86_BUILTIN_PMOVZXDQ256, IX86_BUILTIN_PMULDQ256, IX86_BUILTIN_PMULHRSW256, IX86_BUILTIN_PMULHUW256, IX86_BUILTIN_PMULHW256, IX86_BUILTIN_PMULLW256, IX86_BUILTIN_PMULLD256, IX86_BUILTIN_PMULUDQ256, IX86_BUILTIN_POR256, IX86_BUILTIN_PSADBW256, IX86_BUILTIN_PSHUFB256, IX86_BUILTIN_PSHUFD256, IX86_BUILTIN_PSHUFHW256, IX86_BUILTIN_PSHUFLW256, IX86_BUILTIN_PSIGNB256, IX86_BUILTIN_PSIGNW256, IX86_BUILTIN_PSIGND256, IX86_BUILTIN_PSLLDQI256, IX86_BUILTIN_PSLLWI256, IX86_BUILTIN_PSLLW256, IX86_BUILTIN_PSLLDI256, IX86_BUILTIN_PSLLD256, IX86_BUILTIN_PSLLQI256, IX86_BUILTIN_PSLLQ256, IX86_BUILTIN_PSRAWI256, IX86_BUILTIN_PSRAW256, IX86_BUILTIN_PSRADI256, IX86_BUILTIN_PSRAD256, IX86_BUILTIN_PSRLDQI256, IX86_BUILTIN_PSRLWI256, IX86_BUILTIN_PSRLW256, IX86_BUILTIN_PSRLDI256, IX86_BUILTIN_PSRLD256, IX86_BUILTIN_PSRLQI256, IX86_BUILTIN_PSRLQ256, IX86_BUILTIN_PSUBB256, IX86_BUILTIN_PSUBW256, IX86_BUILTIN_PSUBD256, IX86_BUILTIN_PSUBQ256, IX86_BUILTIN_PSUBSB256, IX86_BUILTIN_PSUBSW256, IX86_BUILTIN_PSUBUSB256, IX86_BUILTIN_PSUBUSW256, IX86_BUILTIN_PUNPCKHBW256, IX86_BUILTIN_PUNPCKHWD256, IX86_BUILTIN_PUNPCKHDQ256, IX86_BUILTIN_PUNPCKHQDQ256, IX86_BUILTIN_PUNPCKLBW256, IX86_BUILTIN_PUNPCKLWD256, IX86_BUILTIN_PUNPCKLDQ256, IX86_BUILTIN_PUNPCKLQDQ256, IX86_BUILTIN_PXOR256, IX86_BUILTIN_VBROADCASTSS_PS, IX86_BUILTIN_VBROADCASTSS_PS256, IX86_BUILTIN_VBROADCASTSD_PD256, IX86_BUILTIN_VBROADCASTSI256, IX86_BUILTIN_PBLENDD256, IX86_BUILTIN_PBLENDD128, IX86_BUILTIN_PBROADCASTB256, IX86_BUILTIN_PBROADCASTW256, IX86_BUILTIN_PBROADCASTD256, IX86_BUILTIN_PBROADCASTQ256, IX86_BUILTIN_PBROADCASTB128, IX86_BUILTIN_PBROADCASTW128, IX86_BUILTIN_PBROADCASTD128, IX86_BUILTIN_PBROADCASTQ128, IX86_BUILTIN_VPERMVARSI256, IX86_BUILTIN_VPERMDF256, IX86_BUILTIN_VPERMVARSF256, IX86_BUILTIN_VPERMDI256, IX86_BUILTIN_VPERMTI256, IX86_BUILTIN_VEXTRACT128I256, IX86_BUILTIN_VINSERT128I256, IX86_BUILTIN_PSLLVV4DI, IX86_BUILTIN_PSLLVV2DI, IX86_BUILTIN_PSLLVV8SI, IX86_BUILTIN_PSLLVV4SI, IX86_BUILTIN_PSRAVV8SI, IX86_BUILTIN_PSRAVV4SI, IX86_BUILTIN_PSRLVV4DI, IX86_BUILTIN_PSRLVV2DI, IX86_BUILTIN_PSRLVV8SI, IX86_BUILTIN_PSRLVV4SI. (ix86_init_mmx_sse_builtins): Add IX86_BUILTIN_GATHERSIV2DF, IX86_BUILTIN_GATHERSIV4DF, IX86_BUILTIN_GATHERDIV2DF, IX86_BUILTIN_GATHERDIV4DF, IX86_BUILTIN_GATHERSIV4SF, IX86_BUILTIN_GATHERSIV8SF, IX86_BUILTIN_GATHERDIV4SF, IX86_BUILTIN_GATHERDIV8SF, IX86_BUILTIN_GATHERSIV2DI, IX86_BUILTIN_GATHERSIV4DI, IX86_BUILTIN_GATHERDIV2DI, IX86_BUILTIN_GATHERDIV4DI, IX86_BUILTIN_GATHERSIV4SI, IX86_BUILTIN_GATHERSIV8SI, IX86_BUILTIN_GATHERDIV4SI, IX86_BUILTIN_GATHERDIV8SI. (ix86_preferred_simd_mode): Support AVX2 modes. (ix86_expand_args_builtin): Support AVX2 built-ins. (ix86_expand_special_args_builtin): Likewise. (ix86_expand_builtin): Likewise. * config/i386/i386.md (UNSPEC_VPERMSI): New. (UNSPEC_VPERMDF): Likewise. (UNSPEC_VPERMSF): Likewise. (UNSPEC_VPERMDI): Likewise. (UNSPEC_VPERMTI): Likewise. (UNSPEC_GATHER): Likewise. (ssemodesuffix): Extend. * config/i386/immintrin.h: Include avx2intrin.h when __AVX2__ is defined. * config/i386/predicates.md (const1248_operand): New. * config/i386/sse.md (VI_AVX2): (VI1_AVX2): Likewise. (VI2_AVX2): Likewise. (VI4_AVX2): Likewise. (VI8_AVX2): Likewise. (VIMAX_AVX2): Likewise. (SSESCALARMODE): Likewise. (VI12_AVX2): Likewise. (VI24_AVX2): Likewise. (VI124_AVX2): Likeuse_submit_for_speed = 1 wise. (VI248_AVX2): Likewise. (VI48_AVX2): Likewise. (VI4SD_AVX2): Likewise. (V48_AVX2): Likewise. (avx2modesuffix): Likewise. (sse_avx2): Likewise. (sse2_avx2): Likewise. (ssse3_avx2): Likewise. (sse4_1_avx2): Likewise. (avx_avx2): Likewise. (lshift)<code_oterator>: Likewise. (lshift_insn): Likewise. (lshift)<code_attr>: Likewise. (SSESHORTMODE): Likewise. (SSELONGMODE): Likewise. (SSEBYTEMODE): Likewise. (AVXTOSSEMODE): Likewise. (shortmode): Likewise. (ssescalarmodesuffix): Update. (sseunpackmode): Likewise. (ssepackmode): Likewise. (AVX256MODEI): New. (AVX256MODE124): Likewise. (AVX256MODE1248): Likewise. (AVX256MODE248): Likewise. (AVXMODE48P_SI): Likewise. (AVXMODE48P_SI): Likewise. (AVXMODE48P_DI): Likewise. (AVXMODE48P_DI): Likewise. (gthrfirstp): Likewise. (gthrlastp): Likewise. (avx2): Likwise. (ssevecsize): Likewise. (ssedoublesizemode): Likewise. (avxvecmode): Likewise. (avxvecsize): Likewise. (avxhalfvecmode): Likewise. (avxscalarmode): Likewise. (avxpermvecmode): Likewise. (avxmodesuffixp): Likewise. (avxmodesuffix): Likewise. (avx2_vec_dupv4sf): New. (avx2_vec_dupv8sf): Likewise. (avx2_interleave_highv4di): Likewise. (avx2_interleave_lowv4di): Likewise. (<plusminus_insn><mode>3): Update. (*<plusminus_insn><mode>3): Likewise. (sse2_<plusminus_insn><mode>3): Rename to ... ("<sse2_avx2>_<plusminus_insn><mode>3): ... this. updated. (*sse2_<plusminus_insn><mode>3): Likewise. (*<sse2_avx2>_<plusminus_insn><mode>3): Likewise. (mulv8hi3): Likewise. (mul<mode>3): Likewise. (*mulv8hi3): Likewise. (*mul<mode>3): Likewise. (<s>mulv8hi3_highpart): Likewise. (<s>mul<mode>3_highpart): Likewise. (*<s>mulv8hi3_highpart): Likewise. (*<s>mul<mode>3_highpart): Likewise. (avx2_umulv4siv4di3): Likewise. (*avx_umulv4siv4di3): Likewise. (sse4_1_mulv2siv2di3): Likewise. (<sse4_1_avx2>_mul<shortmode><mode>3): Likewise. (*sse4_1_mulv2siv2di3): Likewise. (*<sse4_1_avx2>_mulv2siv2di3): Likewise. (avx2_pmaddwd): New. (*avx2_pmaddwd): Likewise. (mulv4si3): Rename to ... (mul<mode>3): ... this. Update. (*sse4_1_mulv4si3): Likewise. (*<sse4_1_avx2>_mul<mode>3): Likewise. (ashr<mode>3): Update. (avx2_lshrqv4di3): New. (lshr<mode>3): Update. (avx2_lshlqv4di3): New. (avx2_lshl<mode>3): Likewise. (sse2_ashlv1ti3): Rename to ... (<sse2_avx2>_ashl<mode>3): ... this. Update. (avx2_<code><mode>3)<umaxmin>: New. (*avx2_<code><mode>3)<umaxmin>: Likewise. (avx2_<code><mode>3)<smaxmin>: New. (*avx2_<code><mode>3)<smaxmin>: Likewise. (avx2_eq<mode>3): Likewise. (*avx2_eq<mode>3): Likewise. (avx2_gt<mode>3): Likewise. (sse2_andnot<mode>3): Rename to ... (<sse2_avx2>_andnot<mode>3): ... this. Update. (*andnot<mode>3): Update. (<code><mode>3)<any_logic>: Update. (*<code><mode>3)<any_logic>: Likewise. (sse2_packsswb): Rename to ... (<sse2_avx2>_packsswb): ... this. Update. (sse2_packssdw): Likewise. (<sse2_avx2>_packssdw): Likewise. (sse2_packuswb): Likewise. (<sse2_avx2>_packuswb): Likewise. (avx2_interleave_highv32qi): New. (avx2_interleave_lowv32qi): Likewise. (avx2_interleave_highv16hi): Likewise. (avx2_interleave_lowv16hi): Likewise. (avx2_interleave_highv8si): Likewise. (avx2_interleave_lowv8si): Likewise. (avx2_pshufd): New (avx2_pshufd_1): Likewise. (avx2_pshuflwv3): Likewise. (avx2_pshuflw_1): Likewise. (avx2_pshufhwv3): Likewise. (avx2_pshufhw_1): Likewise. (avx2_uavgv32qi3): Likewise. (*avx2_uavgv32qi3): Likewise. (avx2_uavgv16hi3): Likewise. (*avx2_uavgv16hi3): Likewise. (sse2_psadbw): Rename to ... (<sse2_avx2>_psadbw): ... this. Update. (avx2_pmovmskb): New. (avx2_phaddwv16hi3): Likewise. (avx2_phadddv8si3): Likewise. (avx2_phaddswv16hi3): Likewise. (avx2_phsubwv16hi3): Likewise. (avx2_phsubdv8si3): Likewise. (avx2_phsubswv16hi3): Likewise. (avx2_pmaddubsw256): Likewise. (avx2_umulhrswv16hi3): Likewise. (*avx2_umulhrswv16hi3): Likewise. (ssse3_pshufbv16qi3): Rename to ... (<ssse3_avx2>_pshufb<mode>3): ... this. Update. (ssse3_psign<mode>3): Likewise. (<ssse3_avx2>_psign<mode>3): Likewise. (ssse3_palignrti): Likewise. (<ssse3_avx2>_palignr<mode>): Likewise. (abs<mode>2): Likewise. (sse4_1_movntdqa): Rename to ... (<sse4_1_avx2>_movntdqa): ... this. Update. (sse4_1_mpsadbw): Likewise. (<sse4_1_avx2>_mpsadbw): Likewise. (avx2_packusdw): New. (sse4_1_pblendvb): Rename to ... (<sse4_1_avx2>_pblendvb): ... this. Update. (sse4_1_pblendw): Likewise. (<sse4_1_avx2>_pblendw): Likewise. (avx2_pblendd<mode>): New. (avx2_<code>v16qiv16hi2): Likewise. (avx2_<code>v8qiv8si2): Likewise. (avx2_<code>v8hiv8si2): Likewise. (avx2_<code>v4qiv4di2): Likewise. (avx2_<code>v4hiv4di2): Likewise. (avx2_<code>v4siv4di2): Likewise. (avx2_pbroadcast<mode>): Likewise. (avx2_permvarv8si): Likewise. (avx2_permv4df): Likewise. (avx2_permvarv8sf): Likewise. (avx2_permv4di): Likewise. (avx2_permv2ti): Likewise. (avx2_vec_dupv4df): Likewise. (avx2_vbroadcasti128_<mode>): Likewise. (avx2_vec_set_lo_v4di): Likewise. (avx2_vec_set_hi_v4di): Likewise. (avx_maskload<ssemodesuffix><avxsizesuffix>): Rename to ... (<avx_avx2>_maskload<avx2modesuffix><avxmodesuffix>): ... this. Update. (avx_maskstore<ssemodesuffix><avxsizesuffix>): Likewise. (<avx_avx2>_maskstore<avx2modesuffix><avxmodesuffix>): Likewise. (*avx2_maskmov<avx2modesuffix><avxmodesuffix>): New. (avx2_extracti128): Likewise. (avx2_inserti128): Likewise. (avx2_ashrvv8si): Likewise. (avx2_ashrvv4si): Likewise. (avx2_<lshift>vv8si): Likewise. (avx2_<lshift>v<mode>): Likewise. (avx2_<lshift>vv2di): Likewise. (avx2_gathersi<mode>): Likewise. (*avx2_gathersi<mode>): Likewise. (avx2_gatherdi<mode>): Likewise. (*avx2_gatherdi<mode>): Likewise. (avx2_gatherdi<mode>256): Likewise. (*avx2_gatherdi<mode>256): Likewise. * doc/extend.texi: Document AVX2 built-in functions. * doc/invoke.texi: Document -mavx2. From-SVN: r177955
Kirill Yukhin committed
-