Skip to content

Commit a43b514

Browse files
author
git apple-llvm automerger
committed
Merge commit '7a112356e4a1' from llvm.org/main into apple/main
2 parents 9a6e2f3 + 7a11235 commit a43b514

File tree

2 files changed

+6
-6
lines changed

2 files changed

+6
-6
lines changed

clang/lib/CodeGen/CGBuiltin.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13448,8 +13448,8 @@ Value *CodeGenFunction::EmitX86BuiltinExpr(unsigned BuiltinID,
1344813448
cast<llvm::FixedVectorType>(Ops[0]->getType())->getNumElements();
1344913449
unsigned ShiftVal = cast<llvm::ConstantInt>(Ops[2])->getZExtValue() & 0xff;
1345013450

13451-
// Mask the shift amount to width of two vectors.
13452-
ShiftVal &= (2 * NumElts) - 1;
13451+
// Mask the shift amount to width of a vector.
13452+
ShiftVal &= NumElts - 1;
1345313453

1345413454
int Indices[16];
1345513455
for (unsigned i = 0; i != NumElts; ++i)

clang/test/CodeGen/X86/avx512vl-builtins.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9426,7 +9426,7 @@ __m128i test_mm_mask_alignr_epi32(__m128i __W, __mmask8 __U, __m128i __A, __m128
94269426
// CHECK-LABEL: @test_mm_mask_alignr_epi32
94279427
// CHECK: shufflevector <4 x i32> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> <i32 1, i32 2, i32 3, i32 4>
94289428
// CHECK: select <4 x i1> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> %{{.*}}
9429-
return _mm_mask_alignr_epi32(__W, __U, __A, __B, 1);
9429+
return _mm_mask_alignr_epi32(__W, __U, __A, __B, 5);
94309430
}
94319431

94329432
__m128i test_mm_maskz_alignr_epi32(__mmask8 __U, __m128i __A, __m128i __B) {
@@ -9446,7 +9446,7 @@ __m256i test_mm256_mask_alignr_epi32(__m256i __W, __mmask8 __U, __m256i __A, __m
94469446
// CHECK-LABEL: @test_mm256_mask_alignr_epi32
94479447
// CHECK: shufflevector <8 x i32> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> <i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8>
94489448
// CHECK: select <8 x i1> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> %{{.*}}
9449-
return _mm256_mask_alignr_epi32(__W, __U, __A, __B, 1);
9449+
return _mm256_mask_alignr_epi32(__W, __U, __A, __B, 9);
94509450
}
94519451

94529452
__m256i test_mm256_maskz_alignr_epi32(__mmask8 __U, __m256i __A, __m256i __B) {
@@ -9466,7 +9466,7 @@ __m128i test_mm_mask_alignr_epi64(__m128i __W, __mmask8 __U, __m128i __A, __m128
94669466
// CHECK-LABEL: @test_mm_mask_alignr_epi64
94679467
// CHECK: shufflevector <2 x i64> %{{.*}}, <2 x i64> %{{.*}}, <2 x i32> <i32 1, i32 2>
94689468
// CHECK: select <2 x i1> %{{.*}}, <2 x i64> %{{.*}}, <2 x i64> %{{.*}}
9469-
return _mm_mask_alignr_epi64(__W, __U, __A, __B, 1);
9469+
return _mm_mask_alignr_epi64(__W, __U, __A, __B, 3);
94709470
}
94719471

94729472
__m128i test_mm_maskz_alignr_epi64(__mmask8 __U, __m128i __A, __m128i __B) {
@@ -9486,7 +9486,7 @@ __m256i test_mm256_mask_alignr_epi64(__m256i __W, __mmask8 __U, __m256i __A, __m
94869486
// CHECK-LABEL: @test_mm256_mask_alignr_epi64
94879487
// CHECK: shufflevector <4 x i64> %{{.*}}, <4 x i64> %{{.*}}, <4 x i32> <i32 1, i32 2, i32 3, i32 4>
94889488
// CHECK: select <4 x i1> %{{.*}}, <4 x i64> %{{.*}}, <4 x i64> %{{.*}}
9489-
return _mm256_mask_alignr_epi64(__W, __U, __A, __B, 1);
9489+
return _mm256_mask_alignr_epi64(__W, __U, __A, __B, 5);
94909490
}
94919491

94929492
__m256i test_mm256_maskz_alignr_epi64(__mmask8 __U, __m256i __A, __m256i __B) {

0 commit comments

Comments
 (0)