[LLVMdev] LLVM ERROR: Cannot select error in simple i128 math?

Craig Smith craig at ni.com
Fri Aug 19 13:59:14 PDT 2011


In both LLVM 2.9 and the current svn head, I get the following error when running llc

% llc < fxp2.ll
LLVM ERROR: Cannot select: 0xa5302b0: glue = carry_false [ID=7]

on this code:

target triple = "i386-pc-linux-gnu"

define i32 @fxpadd(i32 %cl) {
entry:
  %0 = zext i32 %cl to i128
  %1 = zext i32 %cl to i128
  %2 = add i128 %1, %0
  br label %L1001510

L1001510:                                         ; preds = %L13400
  %vr1484.5 = trunc i128 %2 to i32
  ret i32 %vr1484.5

}

This code was whittled down from a fixed point math test by bugpoint, and further simplified by hand.    The problem did not occur in 2.8.
(Removing the trivial branch makes the problem go away.)

I'm not sure where to begin debugging it, so any pointers would be appreciated.






More information about the llvm-dev mailing list