[Bug tree-optimization/94488] [AArch64] ICE from OpenMP SIMD right shift of uint64_t

pinskia at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Sat Apr 4 18:18:52 GMT 2020


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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
     Ever confirmed|0                           |1
          Component|rtl-optimization            |tree-optimization
           Keywords|                            |ice-on-valid-code
   Last reconfirmed|                            |2020-04-04
             Status|UNCONFIRMED                 |NEW

--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Self contained source:
#define a(b) __attribute__((__vector_size__(b)))
#define c(aa, ab, d) memcpy(aa, ab, d)
typedef __SIZE_TYPE__ size_t;
#define memcpy __builtin_memcpy
typedef unsigned long long uint64_t;
typedef struct {
  uint64_t e a(16);
} f;
f ae, af;
int g;
int l() {
  f aj, ak = af, al = ae;
  int k = al.e[0];
  _Pragma("omp simd") for (size_t i = 0; i < sizeof(aj) / sizeof(aj.e[0]); i++)
      aj.e[i] = ak.e[i] >> k;
  f j = aj;
  c(&g, &j, g);
  return g;
}


More information about the Gcc-bugs mailing list