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.