This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug target/51372] New: internal compiler error: in write_builtin_type, at cp/mangle.c:2204


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

             Bug #: 51372
           Summary: internal compiler error: in write_builtin_type, at
                    cp/mangle.c:2204
    Classification: Unclassified
           Product: gcc
           Version: 4.7.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: carrot@google.com
              Host: x86_64-build_unknown-linux-gnu
            Target: arm-unknown-linux-gnueabi
             Build: x86_64-build_unknown-linux-gnu


Compile the following source code with trunk g++ and options -march=armv7-a
-mfloat-abi=softfp -mfpu=neon -O2

#include <arm_neon.h>

void x(float32x4_t v0, float32_t f)
{
  float32x4_t vv = vmulq_n_f32( v0, f);
}

GCC generates:

t0d2.ii:16:6: internal compiler error: in write_builtin_type, at
cp/mangle.c:2204
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.

The simplified preprocessed source code is:

-----------------------------------------------
typedef __builtin_neon_sf float32x4_t __attribute__ ((__vector_size__ (16)));

typedef __builtin_neon_sf float32_t;

__extension__ static __inline float32x4_t __attribute__ ((__always_inline__))
vmulq_n_f32 (float32x4_t __a, float32_t __b)
{
  return (float32x4_t)__builtin_neon_vmul_nv4sf (__a, __b, 3);
}

void x(float32x4_t v0, float32_t f)
{
  float32x4_t vv = vmulq_n_f32( v0, f);
}
------------------------------------------------

The complete command line is

cc1plus "-fpreprocessed" "t0d2.ii" "-quiet" "-dumpbase" "t0d.cpp"
"-march=armv7-a" "-mfloat-abi=softfp" "-mfpu=neon" "-auxbase-strip" "obj/t0d.o"
"-O2" "-o" "t0d.s"


This ICE is also existed in GCC 4.6.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]