android eclipse 编译opus动态so库报错error in backend: Cannot select: 0x51d62f0: i32 = ARMISD::SSAT

来源:互联网 发布:数控冲床编程怎么学 编辑:程序博客网 时间:2024/04/29 19:42

使用ndk 14b编译opus动态库的时候发生错误:

[armeabi] Compile thumb  : opus <= NSQ.c
[armeabi] Compile thumb  : opus <= NSQ_del_dec.c
fatal error: error in backend: Cannot select: 0x51d62f0: i32 = ARMISD::SSAT
      0x52bba40, Constant:i32<15>
  0x52bba40: i32 = sra 0x52c5530, Constant:i32<1>
    0x52c5530: i32 = add 0x52c5b50, Constant:i32<1>
      0x52c5b50: i32 = sra 0x51d8690, Constant:i32<7>
        0x51d8690: i32 = add 0x51de300, 0x51d63d0
          0x51de300: i32 = add 0x51d5aa0, 0x51dbcc0
            0x51d5aa0: i32 = sra 0x51d8150, Constant:i32<16>
              0x51d8150: i32 = mul 0x51d5d40, 0x52c5ca0
                0x51d5d40: i32 = sra 0x52c5d80, Constant:i32<16>
                  0x52c5d80: i32 = shl 0x51d7d60, Constant:i32<16>


                  0x51d6910: i32 = Constant<16>
                0x52c5ca0: i32 = and 0x52c3b30, 0x52bb260
                  0x52c3b30: i32,ch = load<LD4[%838](tbaa=<0x4d720b8>)> 0x52bb9d
0, 0x51d7ba0, undef:i32


                  0x52bb260: i32 = AssertZext 0x51dba90, ValueType:ch:i16

              0x51d6910: i32 = Constant<16>
            0x51dbcc0: i32 = mul 0x51d5d40, 0x52c5d10
              0x51d5d40: i32 = sra 0x52c5d80, Constant:i32<16>
                0x52c5d80: i32 = shl 0x51d7d60, Constant:i32<16>
                  0x51d7d60: i32,ch = load<LD4[%841](tbaa=<0x4d720b8>)> 0x52bb9d
0, 0x51d82a0, undef:i32


                  0x51d6910: i32 = Constant<16>
                0x51d6910: i32 = Constant<16>
              0x52c5d10: i32 = sra 0x52c3b30, Constant:i32<16>
                0x52c3b30: i32,ch = load<LD4[%838](tbaa=<0x4d720b8>)> 0x52bb9d0,
 0x51d7ba0, undef:i32
                  0x51d7ba0: i32 = add 0x51dbb70, Constant:i32<704>


                  0x52c3580: i32 = undef
                0x51d6910: i32 = Constant<16>
          0x51d63d0: i32 = mul 0x52c3660, 0x52c3b30
            0x52c3660: i32 = sra 0x51de370, Constant:i32<1>
              0x51de370: i32 = add 0x51d80e0, Constant:i32<1>
                0x51d80e0: i32 = sra 0x51d7d60, Constant:i32<15>
                  0x51d7d60: i32,ch = load<LD4[%841](tbaa=<0x4d720b8>)> 0x52bb9d
0, 0x51d82a0, undef:i32


                  0x52c3c10: i32 = Constant<15>
                0x51d5fe0: i32 = Constant<1>
              0x51d5fe0: i32 = Constant<1>
            0x52c3b30: i32,ch = load<LD4[%838](tbaa=<0x4d720b8>)> 0x52bb9d0, 0x5
1d7ba0, undef:i32
              0x51d7ba0: i32 = add 0x51dbb70, Constant:i32<704>
                0x51dbb70: i32 = add 0x51de530, 0x51d5cd0
                  0x51de530: i32 = add 0x51dc510, 0x51dc430


                  0x51d5cd0: i32 = shl 0x51dc660, Constant:i32<2>


                0x51de760: i32 = Constant<704>
              0x52c3580: i32 = undef
        0x52c56f0: i32 = Constant<7>
      0x51d5fe0: i32 = Constant<1>
    0x51d5fe0: i32 = Constant<1>
  0x52c3c10: i32 = Constant<15>
In function: silk_noise_shape_quantizer_del_dec
clang.exe: error: clang frontend command failed with exit code 70 (use -v to see
 invocation)
Android clang version 3.8.275480  (based on LLVM 3.8.275480)
Target: armv5te-none-linux-android
Thread model: posix
InstalledDir: D:\ndk\android-ndk-r14b\toolchains\llvm\prebuilt\windows-x86_64\bi
n
clang.exe: note: diagnostic msg: PLEASE submit a bug report to http://llvm.org/b
ugs/ and include the crash backtrace, preprocessed source, and associated run sc
ript.
clang.exe: note: diagnostic msg:
********************



解决办法:

application.mk文件里面加上一句

NDK_TOOLCHAIN_VERSION=4.9

阅读全文
0 0