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

            Bug ID: 26720
           Summary: [ppc64] int16, int8 are not supported by
                    vec_vsx_ld/vec_vsx_st
           Product: libraries
           Version: trunk
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: Backend: PowerPC
          Assignee: unassignedb...@nondot.org
          Reporter: jingyuu...@gmail.com
                CC: llvm-bugs@lists.llvm.org
    Classification: Unclassified

Building ffmpeg for PowerPC64LE failed because some vec_vsx_ld/vec_vsx_st
intrinsic functions are supported by GCC, but not by LLVM. Basically,
1) parameters without "__vector" type are not supported
2) int16/uint16, int8/uint8 are not supported.

For example, the error message given by LLVM is like this:

libswscale/ppc/swscale_altivec.c:46:13: note: expanded from macro 'GET_LS'
        a = vec_vsx_ld(((b) << 1)  + 16, s);\
            ^~~~~~~~~~
toolchain/bin/../lib/clang/xxx-trunk/include/altivec.h:10111:39: note:
candidate function not viable: no known conversion from 'const int16_t *' (aka
'const short *') to '__vector int const *' for 2nd argument
static vector signed int __ATTRS_o_ai vec_vsx_ld(int __a,

This page shows all vec_vsx_ld/vec_vsx_st interfaces that GCC supports:
https://gcc.gnu.org/onlinedocs/gcc-4.5.3/gcc/PowerPC-AltiVec_002fVSX-Built_002din-Functions.html

-- 
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to