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

Markus Trippelsdorf <trippels at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
      Known to work|                            |4.8.5
            Summary|Internal Segmentation Fault |[5/6/7 Regression] Segfault
                   |                            |in
                   |                            |commutative_operand_precede
                   |                            |nce() rtlanal.c:3373

--- Comment #3 from Markus Trippelsdorf <trippels at gcc dot gnu.org> ---
typedef float __m128 __attribute__((__vector_size__(16)));
__m128 _mm_sub_ps___B;
struct A {
  __m128 data;
  A();
  A(__m128 p1) : data(p1) {}
};
A operator+(A, A);
A operator-(A) {
  __m128 __trans_tmp_6 = -_mm_sub_ps___B;
  return __trans_tmp_6;
}
A copysign(A p1) {
  __m128 __A = p1.data, __B;
  return __builtin_ia32_andnps(__A, __B);
}
struct B {
  A n[1];
};
void FustrumVisible(B p1, int) {
  A __trans_tmp_9 = copysign(p1.n[0]),
    __trans_tmp_4 = __trans_tmp_9 + __trans_tmp_4;
}
void CameraAABBIntersect() {
  B __trans_tmp_8;
  {
    B culling;
    A __trans_tmp_3;
    culling.n[0] = -__trans_tmp_3;
    __trans_tmp_8 = culling;
  }
  B culling = __trans_tmp_8;
  FustrumVisible(culling, {});
}

Reply via email to