diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2021-06-15 14:57:03 +0100 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2021-06-15 14:57:03 +0100 |
commit | d18bf1e01b65ee4bf0c804e2843b282d3d4e5d7c (patch) | |
tree | 4a95cbc6ffdf13bad6ecbc7f8d5af99631984123 /media-libs/libdvbcsa/files | |
parent | e748ba9741f6540f4675c23e3e37b73e822c13a4 (diff) |
gentoo resync : 15.06.2021
Diffstat (limited to 'media-libs/libdvbcsa/files')
-rw-r--r-- | media-libs/libdvbcsa/files/altivec.patch | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/media-libs/libdvbcsa/files/altivec.patch b/media-libs/libdvbcsa/files/altivec.patch new file mode 100644 index 000000000000..3605c146a794 --- /dev/null +++ b/media-libs/libdvbcsa/files/altivec.patch @@ -0,0 +1,33 @@ +Fix compile on powerpc64/powerpc64le w/ altivec + +Correct the type of some vectors passed to vec_slo() or vec_sro(), which only +takes a char vector. + +Signed-off-by: Sam Bobroff <sam.bobroff@au1.ibm.com> + +--- a/src/dvbcsa_bs_altivec.h 2016-11-28 14:33:34.410021500 +1100 ++++ b/src/dvbcsa_bs_altivec.h 2016-11-28 14:34:25.442238715 +1100 +@@ -64,7 +64,7 @@ + } + case 0x29: { + dvbcsa_bs_word_t x = vec_splat_u8(10); +- return (dvbcsa_bs_word_t)vec_add(vec_splat_u8(0x1),vec_rl(x,x)); ++ return (dvbcsa_bs_word_t)vec_add((dvbcsa_bs_word_t)vec_splat_u8(0x1),vec_rl(x,x)); + } + case 0x40: { + dvbcsa_bs_word_t x = vec_splat_u8(4); +@@ -99,10 +99,10 @@ + #define SHVAL_14 BS_VAL8(0e) + #define SHVAL_7 BS_VAL8(07) + +-#define BS_SHL(a, n) ({ dvbcsa_bs_word_t x = SHVAL_##n; vec_sll(vec_slo((a), x), x); }) +-#define BS_SHR(a, n) ({ dvbcsa_bs_word_t x = SHVAL_##n; vec_srl(vec_sro((a), x), x); }) +-#define BS_SHL8(a, n) ({ dvbcsa_bs_word_t x = vec_splat_u8(n*2); x = vec_add(x,x); x = vec_add(x,x); vec_slo((a), x); }) +-#define BS_SHR8(a, n) ({ dvbcsa_bs_word_t x = vec_splat_u8(n*2); x = vec_add(x,x); x = vec_add(x,x); vec_sro((a), x); }) ++#define BS_SHL(a, n) ({ vector unsigned char x = SHVAL_##n; vec_sll(vec_slo((a), x), x); }) ++#define BS_SHR(a, n) ({ vector unsigned char x = SHVAL_##n; vec_srl(vec_sro((a), x), x); }) ++#define BS_SHL8(a, n) ({ vector unsigned char x = vec_splat_u8(n*2); x = vec_add(x,x); x = vec_add(x,x); vec_slo((a), x); }) ++#define BS_SHR8(a, n) ({ vector unsigned char x = vec_splat_u8(n*2); x = vec_add(x,x); x = vec_add(x,x); vec_sro((a), x); }) + + #define BS_EXTRACT8(a, n) ((uint8_t*)&(a))[15 - (n)] + |