[llvm-bugs] [Bug 32140] New: PowerPC64: Error selecting stbrx

via llvm-bugs llvm-bugs at lists.llvm.org
Sat Mar 4 16:44:21 PST 2017


https://bugs.llvm.org/show_bug.cgi?id=32140

            Bug ID: 32140
           Summary: PowerPC64: Error selecting stbrx
           Product: libraries
           Version: trunk
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: Backend: PowerPC
          Assignee: unassignedbugs at nondot.org
          Reporter: anton at samba.org
                CC: hfinkel at anl.gov, kbarton at linux.vnet.ibm.com,
                    llvm-bugs at lists.llvm.org, nemanja.i.ibm at gmail.com

The following test case:

int a, b;

__attribute__((always_inline)) long d()
{
  long c = (a & 255ULL) << 56 | (a & 65280ULL) << 40 | (a & 16711680ULL) << 24
|
           (a & 4278190080) << 8 | (a & 1095216660480) >> 8 |
           (a & 280375465082880) >> 24 | (a & 71776119061217280) >> 40 |
           (a & 18374686479671623680UL) >> 56;
  return c;
}

void e(void)
{
  long f = d();
  b = f;
}

Built with:

# clang -O1 testcase.i

Hits an error:

fatal error: error in backend: Cannot select: 0x10006adf428: ch =
PPCISD::STBRX<ST4[@b](tbaa=<0x10006a29a48>)> 0x10006a79040, 0x10006adf560,
0x10006adf838, ValueType:ch:i32
  0x10006adf560: i64 = srl 0x10006adf768, Constant:i32<32>
    0x10006adf768: i64,ch =
load<LD4[@a](tbaa=<0x10006a29a48>)(dereferenceable), sext from i32>
0x10006a79040, 0x10006adf630, undef:i64
      0x10006adf630: i64,ch = PPCISD::TOC_ENTRY<LD8[GOT]>
TargetGlobalAddress:i64<i32* @a> 0, Register:i64 %X2
        0x10006adf698: i64 = TargetGlobalAddress<i32* @a> 0
        0x10006adf7d0: i64 = Register %X2
      0x10006adb8a8: i64 = undef
    0x10006adf700: i32 = Constant<32>
  0x10006adf838: i64,ch = PPCISD::TOC_ENTRY<LD8[GOT]>
TargetGlobalAddress:i64<i32* @b> 0, Register:i64 %X2
    0x10006adb910: i64 = TargetGlobalAddress<i32* @b> 0
    0x10006adf7d0: i64 = Register %X2
In function: e
clang-3.9: error: clang frontend command failed with exit code 70 (use -v to
see invocation)
clang version 5.0.0 (git://github.com/llvm-mirror/clang.git
ed642ad0782597955bdc243bf4198b0699f8834b)
(https://github.com/llvm-mirror/llvm.git
ecd4d5328147dad0d399f3f88868be33adee2d69)
Target: powerpc64le-unknown-linux-gnu
Thread model: posix
InstalledDir: /home/anton/llvm.install/bin
clang-3.9: note: diagnostic msg: PLEASE submit a bug report to
http://llvm.org/bugs/ and include the crash backtrace, preprocessed source, and
associated run script.
clang-3.9: note: diagnostic msg: Error generating preprocessed source(s) - no
preprocessable inputs.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20170305/49809cb5/attachment.html>


More information about the llvm-bugs mailing list