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

            Bug ID: 90984
           Summary: PowerPC cast from vector unsigned long long to vector
                    double does not do an integer to float conversion
           Product: gcc
           Version: unknown
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: slandden at gmail dot com
  Target Milestone: ---

Implicit integer to float conversions are not my favorite part of C, but they
are a part of C, and not doing them in this case results in unexpected
behavior.

#include <altivec.h>
int main() {
vector unsigned long long in = {1, 1};
vector double out = (vector double)in;
if (out[0] != 1.0 || out[1] != 1.0)
 return 1;
}

Reply via email to