[llvm-bugs] [Bug 32345] New: Assertion `Op.getScalarValueSizeInBits() == BitWidth && "Mask size mismatches value type size!"' failed with -O0.

via llvm-bugs llvm-bugs at lists.llvm.org
Sun Mar 19 03:50:33 PDT 2017


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

            Bug ID: 32345
           Summary: Assertion `Op.getScalarValueSizeInBits() == BitWidth
                    && "Mask size mismatches value type size!"' failed
                    with -O0.
           Product: new-bugs
           Version: trunk
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: new bugs
          Assignee: unassignedbugs at nondot.org
          Reporter: Vsevolod.Livinskij at frtk.ru
                CC: llvm-bugs at lists.llvm.org

Created attachment 18130
  --> https://bugs.llvm.org/attachment.cgi?id=18130&action=edit
Reproducer.

Clang fails with assertion with -O0 option.

Reproducer:
extern const unsigned short var_22;
extern unsigned short var_27;
extern unsigned short var_88;

void foo() {
  long a = var_22 ^ var_27 ^ var_27;
  char b = long(var_22 ^ var_27 ^ var_27) >> var_27 - 16610;
  short c = char(var_88);
}

Error:
>$ clang++ -w -O0 -c repr.cpp
llvm/llvm-trunk/lib/CodeGen/SelectionDAG/TargetLowering.cpp:505: bool
llvm::TargetLowering::SimplifyDemandedBits(llvm::SDValue, const llvm::APInt&,
llvm::APInt&, llvm::APInt&, llvm::TargetLowering::TargetLoweringOpt&, unsigned
int, bool) const: Assertion `Op.getScalarValueSizeInBits() == BitWidth && "Mask
size mismatches value type size!"' failed.
(......)
1.      <eof> parser at end of file
2.      Code generation
3.      Running pass 'Function Pass Manager' on module 'repr.cpp'.
4.      Running pass 'X86 DAG->DAG Instruction Selection' on function
'@_Z3foov'

LLVM version:
clang version 5.0.0 (trunk 298108)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /home/vsevolod/workspace/llvm/bin-trunk/bin
Found candidate GCC installation: /usr/lib/gcc/i686-linux-gnu/5
Found candidate GCC installation: /usr/lib/gcc/i686-linux-gnu/5.4.0
Found candidate GCC installation: /usr/lib/gcc/i686-linux-gnu/6
Found candidate GCC installation: /usr/lib/gcc/i686-linux-gnu/6.0.0
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/5
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/5.4.0
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/6
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/6.0.0
Selected GCC installation: /usr/lib/gcc/x86_64-linux-gnu/5.4.0
Candidate multilib: .;@m64
Candidate multilib: 32;@m32
Candidate multilib: x32;@mx32
Selected multilib: .;@m64

-- 
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/20170319/e6ad6ada/attachment.html>


More information about the llvm-bugs mailing list