https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101989

--- Comment #1 from Hongtao.liu <crazylht at gmail dot com> ---
Another testcase is from pr91796

    __m256d copysign2_pd(__m256d from, __m256d to) {
        auto a = _mm256_castpd_si256(from);
        auto avx_signbit =
_mm256_castsi256_pd(_mm256_slli_epi64(_mm256_cmpeq_epi64(a, a), 63));
        return _mm256_or_pd(_mm256_and_pd(avx_signbit, from),
_mm256_andnot_pd(avx_signbit, to)); // (avx_signbit & from) | (~avx_signbit &
to)
    }


Failed to match this instruction:
(set (reg:V4DF 93)
    (ior:V4DF (and:V4DF (reg:V4DF 89)
            (reg:V4DF 95))
        (and:V4DF (not:V4DF (reg:V4DF 89))
            (reg:V4DF 96))))
Failed to match this instruction:

Reply via email to