Skip to content

Commit 388eaa1

Browse files
committed
Work around PR43337: don't try to use the vec_sel overloads for vector long long, since clang's <altivec.h> doesn't provide it yet!
1 parent a2cc80b commit 388eaa1

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

clang/lib/Headers/ppc_wrappers/emmintrin.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1749,7 +1749,7 @@ _mm_sll_epi64 (__m128i __A, __m128i __B)
17491749
lshift = vec_splat ((__v2du) __B, 0);
17501750
shmask = vec_cmplt (lshift, shmax);
17511751
result = vec_sl ((__v2du) __A, lshift);
1752-
result = vec_sel ((__v2du) shmask, result, shmask);
1752+
result = (__v2du)vec_sel ((__v2df) shmask, (__v2df)result, shmask);
17531753

17541754
return (__m128i) result;
17551755
}
@@ -1843,7 +1843,7 @@ _mm_srl_epi64 (__m128i __A, __m128i __B)
18431843
rshift = vec_splat ((__v2du) __B, 0);
18441844
shmask = vec_cmplt (rshift, shmax);
18451845
result = vec_sr ((__v2du) __A, rshift);
1846-
result = vec_sel ((__v2du) shmask, result, shmask);
1846+
result = (__v2du)vec_sel ((__v2df) shmask, (__v2df)result, shmask);
18471847

18481848
return (__m128i) result;
18491849
}

0 commit comments

Comments
 (0)