[Bug tree-optimization/56873] New: vector shift lowered to scalars

glisse at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Mon Apr 8 11:39:00 GMT 2013


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56873

             Bug #: 56873
           Summary: vector shift lowered to scalars
    Classification: Unclassified
           Product: gcc
           Version: 4.9.0
            Status: UNCONFIRMED
          Keywords: missed-optimization
          Severity: normal
          Priority: P3
         Component: tree-optimization
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: glisse@gcc.gnu.org
            Target: x86_64-linux-gnu


#define SIZE 32
typedef long long veci __attribute__((vector_size(SIZE)));

veci f(veci a, veci b){
  return a>>b;
}

Compiling this with -O3 -mxop, the vector lowering pass gives scalar
operations. However, if SIZE is either 16 or 64, I get vector shifts of size
16.



More information about the Gcc-bugs mailing list