Skip to content

Commit b5f04e7

Browse files
committed
Honor -flax-vector-conversions=none
1 parent 1d30f71 commit b5f04e7

File tree

3 files changed

+11
-16
lines changed

3 files changed

+11
-16
lines changed

clang/test/AST/ByteCode/vectors.cpp

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
// RUN: %clang_cc1 -fexperimental-new-constant-interpreter -verify=expected,both %s
2-
// RUN: %clang_cc1 -verify=ref,both %s
1+
// RUN: %clang_cc1 -fexperimental-new-constant-interpreter -verify=expected,both -flax-vector-conversions=none %s
2+
// RUN: %clang_cc1 -verify=ref,both -flax-vector-conversions=none %s
33

44
typedef int __attribute__((vector_size(16))) VI4;
55
constexpr VI4 A = {1,2,3,4};
@@ -56,11 +56,6 @@ namespace Vector {
5656
static_assert(__builtin_vectorelements(v2) == (32 / sizeof(double)), "");
5757
}
5858

59-
namespace {
60-
typedef float __attribute__((vector_size(16))) VI42;
61-
constexpr VI42 A2 = A;
62-
}
63-
6459
namespace BoolToSignedIntegralCast{
6560
typedef __attribute__((__ext_vector_type__(4))) unsigned int int4;
6661
constexpr int4 intsT = (int4)true;
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1-
// RUN: %clang_cc1 %s -emit-llvm -o -
1+
// RUN: %clang_cc1 %s -emit-llvm -flax-vector-conversions=none -o -
22

33
typedef float __m128 __attribute__((__vector_size__(16)));
44
typedef long long __v2di __attribute__((__vector_size__(16)));
55
typedef int __v4si __attribute__((__vector_size__(16)));
66

7-
__v2di bar(void);
7+
__v2di bar(void);
88
void foo(int X, __v4si *P) {
9-
*P = X == 2 ? bar() : bar();
9+
*P = X == 2 ? (__v4si)(bar()) : (__v4si)(bar());
1010
}
1111

clang/test/CodeGen/palignr.c

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
// REQUIRES: x86-registered-target
2-
// RUN: %clang_cc1 %s -triple=i686-apple-darwin -target-feature +ssse3 -O1 -S -o - | FileCheck %s
2+
// RUN: %clang_cc1 %s -triple=i686-apple-darwin -target-feature +ssse3 -O1 -S -flax-vector-conversions=none -o - | FileCheck %s
33

44
#define _mm_alignr_epi8(a, b, n) (__builtin_ia32_palignr128((a), (b), (n)))
5-
typedef __attribute__((vector_size(16))) int int4;
5+
typedef long long __m128i __attribute__((__vector_size__(16), __aligned__(16)));
66

77
// CHECK: palignr $15, %xmm1, %xmm0
8-
int4 align1(int4 a, int4 b) { return _mm_alignr_epi8(a, b, 15); }
8+
__m128i align1(__m128i a, __m128i b) { return _mm_alignr_epi8(a, b, 15); }
99
// CHECK: ret
1010
// CHECK: ret
1111
// CHECK-NOT: palignr
12-
int4 align2(int4 a, int4 b) { return _mm_alignr_epi8(a, b, 16); }
12+
__m128i align2(__m128i a, __m128i b) { return _mm_alignr_epi8(a, b, 16); }
1313
// CHECK: psrldq $1, %xmm0
14-
int4 align3(int4 a, int4 b) { return _mm_alignr_epi8(a, b, 17); }
14+
__m128i align3(__m128i a, __m128i b) { return _mm_alignr_epi8(a, b, 17); }
1515
// CHECK: xor
16-
int4 align4(int4 a, int4 b) { return _mm_alignr_epi8(a, b, 32); }
16+
__m128i align4(__m128i a, __m128i b) { return _mm_alignr_epi8(a, b, 32); }

0 commit comments

Comments
 (0)