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

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
     Ever confirmed|0                           |1
   Last reconfirmed|                            |2022-11-07
             Status|UNCONFIRMED                 |NEW

--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Well it is definitely a target issue:
;; _3 = _4 <= { 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47
};

(insn 9 8 10 (set (reg:V16QI 89)
        (mem/u/c:V16QI (symbol_ref/u:DI ("*.LC0") [flags 0x2]) [0  S16 A128]))
"/opt/compiler-explorer/gcc-trunk-20221106/lib/gcc/x86_64-linux-gnu/13.0.0/include/emmintrin.h":1353:34
-1
     (expr_list:REG_EQUAL (const_vector:V16QI [
                (const_int 47 [0x2f]) repeated x16
            ])
        (nil)))

(insn 10 9 11 (set (reg:V16QI 90)
        (gt:V16QI (reg:V16QI 83 [ _4 ])
            (reg:V16QI 89)))
"/opt/compiler-explorer/gcc-trunk-20221106/lib/gcc/x86_64-linux-gnu/13.0.0/include/emmintrin.h":1353:34
-1
     (nil))

(insn 11 10 12 (set (reg:V16QI 91)
        (const_vector:V16QI [
                (const_int 0 [0]) repeated x16
            ]))
"/opt/compiler-explorer/gcc-trunk-20221106/lib/gcc/x86_64-linux-gnu/13.0.0/include/emmintrin.h":1353:34
-1
     (nil))

(insn 12 11 13 (set (reg:V16QI 92)
        (eq:V16QI (reg:V16QI 90)
            (reg:V16QI 91)))
"/opt/compiler-explorer/gcc-trunk-20221106/lib/gcc/x86_64-linux-gnu/13.0.0/include/emmintrin.h":1353:34
-1
     (nil))

(insn 13 12 0 (set (reg:V16QI 82 [ _3 ])
        (reg:V16QI 92))
"/opt/compiler-explorer/gcc-trunk-20221106/lib/gcc/x86_64-linux-gnu/13.0.0/include/emmintrin.h":1353:34
-1
     (nil))


Reduced testcase using GNU C++ vector types instead:

#define vector __attribute__((vector_size(16)))
auto foo1(const char *p) {
    vector signed char a = *(vector signed char*)p;
    vector signed char a47 = {47, 47, 47, 47,47, 47, 47, 47,47, 47, 47, 47,47,
47, 47, 47};
    return a <= a47;
}

Reply via email to