OSDN Git Service

* ChangeLog: Add missing change.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index a12ce81..519f8d6 100644 (file)
@@ -1,3 +1,25 @@
+2011-08-22  Uros Bizjak  <ubizjak@gmail.com>
+           Kirill Yukhin  <kirill.yukhin@intel.com>
+
+       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.
+
+2011-08-22  Anatoly Sokolov  <aesok@post.ru>
+
+       * 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.
+
 2011-08-22  Bernd Schmidt  <bernds@codesourcery.com>
 
        * config/c6x/c6x.md (indirect_jump_shadow): Tweak representation
        * config/i386/immintrin.h: Include avx2intrin.h when __AVX2__
        is defined.
        * config/i386/predicates.md (const1248_operand): New.
-       * config/i386/sse.md (VI_AVX2): New mode iterator.
-       (VI1_AVX2): Likewise.
+       * config/i386/sse.md (VI1_AVX2): New mode iterator.
        (VI2_AVX2): Likewise.
        (VI4_AVX2): Likewise.
        (VI8_AVX2): Likewise.
        (*avx2_gatherdi<mode>): Likewise.
        (avx2_gatherdi<mode>256): Likewise.
        (*avx2_gatherdi<mode>256): Likewise.
-       (*<plusminus_insn><mode>3): Update for AVX2.
+       (<plusminus_insn><mode>3): Use VI mode iterator.
+       (*<plusminus_insn><mode>3): Use VI mode iterator.
        (<sse2_avx2>_<plusminus_insn><mode>3): Rename from
        sse2_<plusminus_insn><mode>3.  Use VI12_AVX2 mode iterator.
        (*<sse2_avx2>_<plusminus_insn><mode>3): Rename from
        *sse2_<plusminus_insn><mode>3.  Use VI12_AVX2 mode iterator.
-       (mul<mode>3): Rename from mulv8hi3.  Use VI4_AVX2 mode iterator.
-       (*mul<mode>3): Rename from *mulv8hi3.  Use VI4_AVX2 mode iterator.
-       Update for VI2_AVX2.
+       (mul<mode>3): Rename from mulv8hi3.  Use VI2_AVX2 mode iterator.
+       (*mul<mode>3): Rename from *mulv8hi3.  Use VI2_AVX2 mode iterator.
        (<s>mul<mode>3_highpart): Rename from <s>mulv8hi3_highpart.
        Use VI2_AVX2 mode iterator.
        (*<s>mul<mode>3_highpart): Rename from *<s>mulv8hi3_highpart.
-       Use VI2_AVX2 mode iterator.  Update for AVX2.
-       (*sse4_1_mulv2siv2di3): Update for AVX2.
-       (ashr<mode>3): Use VI24_AVX2 mode iterator.  Update for AVX2.
-       (lshr<mode>3): Use VI248_AVX2 mode iterator.  Update for AVX2.
-       (<sse2_avx2>_ashl<mode>3): Rename from sse2_ashlv1ti3.  Use VIMAX_AVX2
-       mode iterator.  Update for AVX2.
-       (<sse2_avx2>_andnot<mode>3): Rename from sse2_andnot<mode>3.  Use VI
-       mode iterator.
-       (*andnot<mode>3): Likewise.  Update for AVX2.
-       (<any_logic:code><mode>3): Use VI mode iterator.
-       (*<any_logic:code><mode>3): Likewise.  Update for AVX2.
+       Use VI2_AVX2 mode iterator.
+       (mul<mode>3): Rename from mulv4si3.  Use VI4_AVX2 mode iterator.
+       (*mul<mode>3): Rename from *mulv4si3.  Use VI4_AVX2 mode iterator.
+       (*<sse4_1_avx2>_mulv2siv2di3): Rename from *sse4_1_mulv4si3.
+       Use VI4_AVX2 mode iterator.
+       (ashr<mode>3): Use VI24_AVX2 mode iterator.
+       (lshr<mode>3): Use VI248_AVX2 mode iterator.
+       (<sse2_avx2>_ashl<mode>3): Rename from sse2_ashlv1ti3.
+       Use VIMAX_AVX2 mode iterator.
+       (<sse2_avx2>_andnot<mode>3): Rename from sse2_andnot<mode>3.
+       Use VI mode iterator.
+       (*andnot<mode>3): Update for AVX2.
+       (*<any_logic:code><mode>3): Likewise.
        (<sse2_avx2>_packsswb): Rename from sse2_packsswb.
-       Use VI1_AVX mode iterator.  Update for AVX2.
+       Use VI1_AVX mode iterator.
        (<sse2_avx2>_packssdw):  Rename from sse2_packssdw.
-       Use VI2_AVX mode iterator.  Update for AVX2.
+       Use VI2_AVX mode iterator.
        (<sse2_avx2>_packuswb): Rename from sse2_packsswb.
-       Use VI1_AVX mode iterator.  Update for AVX2.
-       (<sse2_avx2>_psadbw): Rename from sse2_psadbw.  Use VI8_AVX2
-       mode iterator.  Update for AVX2.
-       (<ssse3_avx2>_pshufb<mode>3): Rename from ssse3_pshufbv16qi3.  Use
-       Vi1_AVX2 mode iterator.  Update for AVX2.
-       (<ssse3_avx2>_psign<mode>3): Rename from ssse3_psign<mode>3.  Use
-       VI124_AVX2 mode iterator.  Update for AVX2.
-       (<ssse3_avx2>_palignr<mode>): Rename from ssse3_palignrti.  Use
-       SSESCALARMODE mode iterator.  Update for AVX2.
-       (abs<mode>2): Use VI124_AVX2 mode iterator.  Update for AVX2.
-       (<sse4_1_avx2>_movntdqa): Rename from sse4_1_movntdqa.  Use VI8_AVX2
-       mode iterator.  Update for AVX2.
-       (<sse4_1_avx2>_mpsadbw): Rename from sse4_1_mpsadbw.  Use VI1_AVX2
-       mode iterator.  Update for AVX2.
-       (<sse4_1_avx2>_pblendvb): Rename from sse4_1_pblendvb.  Use VI1_AVX2
-       mode iterator.  Update for AVX2.
-       (<sse4_1_avx2>_pblendw): Rename from sse4_1_pblendvb.  Use VI2_AVX2
-       mode iterator.  Update for AVX2.
+       Use VI1_AVX mode iterator.
+       (<sse2_avx2>_psadbw): Rename from sse2_psadbw.
+       Use VI8_AVX2 mode iterator.
+       (<ssse3_avx2>_pshufb<mode>3): Rename from ssse3_pshufbv16qi3.
+       Use VI1_AVX2 mode iterator.
+       (<ssse3_avx2>_psign<mode>3): Rename from ssse3_psign<mode>3.
+       Use VI124_AVX2 mode iterator.
+       (<ssse3_avx2>_palignr<mode>): Rename from ssse3_palignrti.
+       Use SSESCALARMODE mode iterator.
+       (abs<mode>2): Use VI124_AVX2 mode iterator.
+       (<sse4_1_avx2>_movntdqa): Rename from sse4_1_movntdqa.
+       Use VI8_AVX2 mode iterator.
+       (<sse4_1_avx2>_mpsadbw): Rename from sse4_1_mpsadbw.
+       Use VI1_AVX2 mode iterator.
+       (<sse4_1_avx2>_pblendvb): Rename from sse4_1_pblendvb.
+       Use VI1_AVX2 mode iterator.
+       (<sse4_1_avx2>_pblendw): Rename from sse4_1_pblendvb.
+       Use VI2_AVX2 mode iterator.
        (<avx_avx2>_maskload<avx2modesuffix><avxmodesuffix>): Rename from
-       avx_maskload<ssemodesuffix><avxsizesuffix>. Use VI48_AVX2
-       mode iterator.
+       avx_maskload<ssemodesuffix><avxsizesuffix>. Use V48_AVX2 mode iterator.
        (<avx_avx2>_maskstore<avx2modesuffix><avxmodesuffix>): Rename from
-       avx_maskstore<ssemodesuffix><avxsizesuffix>. Use VI48_AVX2
-       mode iterator.
+       avx_maskstore<ssemodesuffix><avxsizesuffix>.
+       Use V48_AVX2 mode iterator.
        * doc/extend.texi: Document AVX2 built-in functions.
        * doc/invoke.texi: Document -mavx2.