On Fri, Apr 23, 2021 at 8:36 AM Hongtao Liu <crazy...@gmail.com> wrote:
>
> Hi:
>   The patch is a follow-up to
> https://gcc.gnu.org/pipermail/gcc-patches/2021-January/564320.html.
>   Bootstrapped and regtested on x86-64_iinux-gnu{-m32,}.
>   Ok for trunk?
> gcc/ChangeLog:
>
>         PR target/98911
>         * config/i386/i386-builtin.def (BDESC): Change the icode of
>         the following builtins to CODE_FOR_nothing.
>         * config/i386/i386.c (ix86_gimple_fold_builtin): Fold
>         IX86_BUILTIN_PCMPEQB128, IX86_BUILTIN_PCMPEQW128,
>         IX86_BUILTIN_PCMPEQD128, IX86_BUILTIN_PCMPEQQ,
>         IX86_BUILTIN_PCMPEQB256, IX86_BUILTIN_PCMPEQW256,
>         IX86_BUILTIN_PCMPEQD256, IX86_BUILTIN_PCMPEQQ256,
>         IX86_BUILTIN_PCMPGTB128, IX86_BUILTIN_PCMPGTW128,
>         IX86_BUILTIN_PCMPGTD128, IX86_BUILTIN_PCMPGTQ,
>         IX86_BUILTIN_PCMPGTB256, IX86_BUILTIN_PCMPGTW256,
>         IX86_BUILTIN_PCMPGTD256, IX86_BUILTIN_PCMPGTQ256.
>         * config/i386/sse.md (avx2_eq<mode>3): Deleted.
>         (sse2_eq<mode>3): Ditto.
>         (sse2_gt<mode>3): Rename to ..
>         (*sse2_gt<mode>3): .. this.
>
> gcc/testsuite/ChangeLog:
>
>         PR target/98911
>         * gcc.target/i386/pr98911.c: New test.
>         * gcc.target/i386/funcspec-8.c: Remove __builtin_ia32_pcmpgtq
>         since it has been folded.


-(define_expand "sse2_eq<mode>3"
-  [(set (match_operand:VI124_128 0 "register_operand")
-    (eq:VI124_128
-      (match_operand:VI124_128 1 "vector_operand")
-      (match_operand:VI124_128 2 "vector_operand")))]
-  "TARGET_SSE2 && !TARGET_XOP "
-  "ix86_fixup_binary_operands_no_copy (EQ, <MODE>mode, operands);")
-
 (define_expand "sse4_1_eqv2di3"
   [(set (match_operand:V2DI 0 "register_operand")
     (eq:V2DI

You can also remove sse4_1_eqv2di3 expander.

-#ifdef __SSE4_2__
-#error "-msse4.2 should not be set for this test"
-#endif
-
-__m128i sse4_2_pcmpgtq (__m128i a, __m128i b)
__attribute__((__target__("sse4.2")));
-__m128i generic_pcmpgtq (__m128i ab, __m128i b);
-
-__m128i
-sse4_2_pcmpgtq (__m128i a, __m128i b)
-{
-  return __builtin_ia32_pcmpgtq (a, b);
-}
-
-__m128i
-generic_pcmpgtq (__m128i a, __m128i b)
-{
-  return __builtin_ia32_pcmpgtq (a, b);            /* { dg-error
"needs isa option" } */
-}

Why remove the above? It is testing isa options, it has nothing to do
with improved folding.

Uros.

Reply via email to