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

--- Comment #4 from Marc Glisse <glisse at gcc dot gnu.org> ---
(In reply to Jakub Jelinek from comment #2)
> All these use something like:
> (insn 7 6 13 2 (set (reg:V8SI 87)
>         (unspec:V8SI [
>                 (mem:V4SI (reg:DI 90) [0 *x_3(D)+0 S16 A128])
>             ] UNSPEC_CAST)) "include/avxintrin.h":1484:20 4813 {avx_si256_si}
>      (expr_list:REG_DEAD (reg:DI 90)
>         (nil)))
> Not really sure why UNSPEC_CAST rather than representing it with something
> natural like VEC_CONCAT of nonimmediate_operand and const0_operand.

I tried to get rid of the UNSPEC_CAST in PR 50829... VEC_CONCAT with 0 may be
fine when loading from memory, but we don't want it when the argument is in a
register.

Reply via email to