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

            Bug ID: 65169
           Summary: [5 Regression] r210201 miscompiles LLVM's TableGen on
                    ppc64
           Product: gcc
           Version: 5.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: trippels at gcc dot gnu.org
                CC: amodra at gcc dot gnu.org
              Host: powerpc64-unknown-linux-gnu
            Target: powerpc64-unknown-linux-gnu
             Build: powerpc64-unknown-linux-gnu

Before r210201 vs after r210201:

trippels@gcc2-power8 llvm_build % ./bin/llvm-tblgen -gen-intrinsic -I
/home/trippels/llvm/include/llvm/IR -I /home/trippels/llvm/lib/Target -I
/home/trippels/llvm/include /home/trippels/llvm/include/llvm/IR/Intrinsics.td
-o /home/trippels/llvm_build/include/llvm/IR/Intrinsics.gen.tmp

--- /home/trippels/Intrinsics.gen.tmp   2015-02-23 07:34:46.987705642 +0000
+++ /home/trippels/llvm_build/include/llvm/IR/Intrinsics.gen.tmp       
2015-02-23 07:37:26.600608412 +0000
@@ -42034,7 +42034,7 @@
       const Attribute::AttrKind Atts[] =
{Attribute::NoUnwind,Attribute::ReadNone};
       AS[0] = AttributeSet::get(C, AttributeSet::FunctionIndex, Atts);
       NumAttrs = 1;
-      break;
+        eak;
       }
     case 17: {
       const Attribute::AttrKind AttrParam1[]= {Attribute::NoCapture};
@@ -42042,13 +42042,13 @@
       const Attribute::AttrKind Atts[] =
{Attribute::NoUnwind,Attribute::ReadNone};
       AS[1] = AttributeSet::get(C, AttributeSet::FunctionIndex, Atts);
       NumAttrs = 2;
-      break;
+        eak;
       }
     case 3: {
       const Attribute::AttrKind Atts[] =
{Attribute::NoUnwind,Attribute::ReadOnly};
       AS[0] = AttributeSet::get(C, AttributeSet::FunctionIndex, Atts);
       NumAttrs = 1;
-      break;
+        eak;
       }
     case 16: {
       const Attribute::AttrKind AttrParam1[]= {Attribute::NoCapture};
@@ -42056,13 +42056,13 @@
       const Attribute::AttrKind Atts[] =
{Attribute::NoUnwind,Attribute::ReadOnly};
       AS[1] = AttributeSet::get(C, AttributeSet::FunctionIndex, Atts);
       NumAttrs = 2;
-      break;
+        eak;
       }
     case 2: {
       const Attribute::AttrKind Atts[] = {Attribute::NoUnwind};
       AS[0] = AttributeSet::get(C, AttributeSet::FunctionIndex, Atts);
       NumAttrs = 1;
-      break;
+        eak;
       }
     case 13: {
       const Attribute::AttrKind AttrParam1[]= {Attribute::NoCapture};
@@ -42070,7 +42070,7 @@
       const Attribute::AttrKind Atts[] = {Attribute::NoUnwind};
       AS[1] = AttributeSet::get(C, AttributeSet::FunctionIndex, Atts);
       NumAttrs = 2;
-      break;
+        eak;
       }
     case 18: {
       const Attribute::AttrKind AttrParam1[]= {Attribute::NoCapture};
@@ -42080,7 +42080,7 @@
       const Attribute::AttrKind Atts[] = {Attribute::NoUnwind};
       AS[2] = AttributeSet::get(C, AttributeSet::FunctionIndex, Atts);
       NumAttrs = 3;
-      break;
+        eak;
       }
     case 15: {
       const Attribute::AttrKind AttrParam1[]= {Attribute::NoCapture};
@@ -42090,7 +42090,7 @@
       const Attribute::AttrKind Atts[] = {Attribute::NoUnwind};
       AS[2] = AttributeSet::get(C, AttributeSet::FunctionIndex, Atts);
       NumAttrs = 3;
-      break;
+        eak;
       }
     case 14: {
       const Attribute::AttrKind AttrParam2[]= {Attribute::NoCapture};
@@ -42098,7 +42098,7 @@
       const Attribute::AttrKind Atts[] = {Attribute::NoUnwind};
       AS[1] = AttributeSet::get(C, AttributeSet::FunctionIndex, Atts);
       NumAttrs = 2;
-      break;
+        eak;
       }
     case 11: {
       const Attribute::AttrKind AttrParam2[]= {Attribute::NoCapture};
@@ -42108,7 +42108,7 @@
       const Attribute::AttrKind Atts[] = {Attribute::NoUnwind};
       AS[2] = AttributeSet::get(C, AttributeSet::FunctionIndex, Atts);
       NumAttrs = 3;
-      break;
+        eak;
       }
     case 4: {
       const Attribute::AttrKind AttrParam3[]= {Attribute::NoCapture};
@@ -42116,7 +42116,7 @@
       const Attribute::AttrKind Atts[] = {Attribute::NoUnwind};
       AS[1] = AttributeSet::get(C, AttributeSet::FunctionIndex, Atts);
       NumAttrs = 2;
-      break;
+        eak;
       }
     case 5: {
       const Attribute::AttrKind AttrParam4[]= {Attribute::NoCapture};
@@ -42124,7 +42124,7 @@
       const Attribute::AttrKind Atts[] = {Attribute::NoUnwind};
       AS[1] = AttributeSet::get(C, AttributeSet::FunctionIndex, Atts);
       NumAttrs = 2;
-      break;
+        eak;
       }
     case 6: {
       const Attribute::AttrKind AttrParam5[]= {Attribute::NoCapture};
@@ -42132,7 +42132,7 @@
       const Attribute::AttrKind Atts[] = {Attribute::NoUnwind};
       AS[1] = AttributeSet::get(C, AttributeSet::FunctionIndex, Atts);
       NumAttrs = 2;
-      break;
+        eak;
       }
     case 7: {
       const Attribute::AttrKind AttrParam6[]= {Attribute::NoCapture};
@@ -42140,25 +42140,25 @@
       const Attribute::AttrKind Atts[] = {Attribute::NoUnwind};
       AS[1] = AttributeSet::get(C, AttributeSet::FunctionIndex, Atts);
       NumAttrs = 2;
-      break;
+        eak;
       }
     case 9: {
       const Attribute::AttrKind Atts[] =
{Attribute::NoUnwind,Attribute::NoReturn};
       AS[0] = AttributeSet::get(C, AttributeSet::FunctionIndex, Atts);
       NumAttrs = 1;
-      break;
+        eak;
       }
     case 8: {
       const Attribute::AttrKind Atts[] =
{Attribute::NoUnwind,Attribute::NoDuplicate};
       AS[0] = AttributeSet::get(C, AttributeSet::FunctionIndex, Atts);
       NumAttrs = 1;
-      break;
+        eak;
       }
     case 12: {
       const Attribute::AttrKind Atts[] = {Attribute::ReadNone};
       AS[0] = AttributeSet::get(C, AttributeSet::FunctionIndex, Atts);
       NumAttrs = 1;
-      break;
+        eak;
       }
     case 10: {
       return AttributeSet();@@ -70125,7 +70125,7 @@
     return Intrinsic::xcore_bitrev;     // "__builtin_bitrev"
   }
   }
-  return Intrinsic::not_intrinsic;
+    retu Intrinsic::not_intrinsic;
 }
 #endif

@@ -70182,7 +70182,7 @@
       break;
     return Intrinsic::arm_mrc2;         // "_MoveFromCoprocessor2"
   }
-}  return Intrinsic::not_intrinsic;
+}    retu Intrinsic::not_intrinsic;
 }
 #endif

LLVM was configured with:
trippels@gcc2-power8 llvm_build % cmake -DCMAKE_INSTALL_PREFIX=~/llvm-installi
-DCMAKE_BUILD_TYPE=release -DLLVM_ENABLE_ASSERTIONS=on
-DLLVM_TARGETS_TO_BUILD="PowerPC" -DCMAKE_CXX_FLAGS_RELEASE:STRING="-O3
-mcpu=power8 -fno-strict-aliasing -DNDEBUG -pipe"
-DCMAKE_EXE_LINKER_FLAGS="-Wl,-O1,--hash-style=gnu,--gc-sections"
-DENABLE_PIC=1 -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DBUILD_SHARED_LIBS=on
-DLLVM_BINUTILS_INCDIR=/home/trippels/include
-DCMAKE_C_COMPILER=/home/trippels/gcc_bisect/usr/local/bin/gcc
-DCMAKE_CXX_COMPILER="/home/trippels/gcc_bisect/usr/local/bin/g++" ~/llvm

Sorry, no simple testcase yet.

Reply via email to