LLVM错误:无法选择:错误

时间:2011-03-17 13:12:41

标签: ios-simulator llvm ios4

您好我在模拟器中运行我的应用程序时收到以下错误。

LLVM错误:无法选择:...

似乎其他人报告了同一组合的类似问题:
*新沙桥MBP
* Iphone 4.3模拟器
* opengl

任何人都有一些线索?

以下是日志的简短摘录:

LLVM ERROR: Cannot yet select: 0xa0237d8: v16i8 = bit_convert 0xa02aa48 [ORD=259] [ID=170]
  0xa02aa48: v8i16 = X86ISD::PSHUFLW 0xa02a828, 0xa02a608 [ID=166]
    0xa02a828: v8i16 = X86ISD::PSHUFHW 0xa0235b8, 0xa02a608 [ID=162]
      0xa0235b8: v8i16 = llvm.x86.sse2.packssdw.128 0xa023530, 0xa0234a8, 0xa023420 [ORD=256] [ID=158]
        0xa023530: i32 = Constant<647> [ORD=256] [ID=21]
        0xa0234a8: v4i32 = bit_convert 0xa023310 [ORD=255] [ID=139]
          0xa023310: v4f32 = llvm.x86.sse.cmp.ps 0xa023200, 0xa028d70, 0xb03c4e8, 0xa023288 [ORD=252] [ID=130]
            0xa023200: i32 = Constant<784> [ORD=252] [ID=19]

5 个答案:

答案 0 :(得分:7)

我收到同样的错误。我今天刚拿到新的沙桥MBP,在我以前的电脑上,我没有这个问题。

将目标更改为iPad 4.2而非iPad 4.3可解决此问题。

以下是如何在新版Xcode中更改目标:

http://developer.apple.com/library/mac/#documentation/IDEs/Conceptual/Xcode4TransitionGuide/Orientation/Orientation.html

答案 1 :(得分:3)

这意味着LLVM无法对某些代码执行指令选择。通常,当您在代码中请求某些特定于目标的内容并通过cmdline禁用这些功能时,就会发生这种情况。

例如,如果您将使用sse2 gcc内在函数,但是会为i486进行编译,则可能会出现相同类型的消息(如果前端未被前端捕获)。

如果没有完整的错误线,很难说更明确。

答案 2 :(得分:3)

我在4.3模拟器中的MacBook Pro Intel Core i7上出现了相同的错误。我更新到Xcode 4.0.2,现在再次工作。

答案 3 :(得分:1)

我有同样的情况。对于新的沙桥而言,它看起来像LLVM 2.8的错误。解决方法是使用4.2模拟器,因为NoEvilPeople说。

答案 4 :(得分:0)

如果这有助于任何人,我也遇到了同样的问题,但是没有旧的SDK用于其他修复程序。 Kazuki发布了一个关于Apple讨论的链接,它看起来像是一些人报告的错误,但它与模拟器有关。话虽这么说,我遇到问题的应用程序在我的设备上运行良好,所以这是另一个潜在的解决方法,而这看起来更多。