Skip to content

Commit 05e672b

Browse files
committed
Merge from 'master' to 'sycl-web' (#1)
CONFLICT (content): Merge conflict in clang/lib/AST/ASTContext.cpp
2 parents 8a716ad + 45f2a56 commit 05e672b

File tree

518 files changed

+20803
-7013
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

518 files changed

+20803
-7013
lines changed

.arclint

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,9 @@
66
"script-and-regex.regex": "/^(?P<severity>[[:alpha:]]+)\n(?P<message>[^\n]+)\n(====|(?P<line>\\d),(?P<char>\\d)\n(?P<original>.*)>>>>\n(?P<replacement>.*)<<<<\n)$/s",
77
"include": [
88
"(\\.(cc|cpp|h)$)"
9+
],
10+
"exclude": [
11+
"(^clang/test/)"
912
]
1013
}
1114
}

clang-tools-extra/clang-tidy/bugprone/BoolPointerImplicitConversionCheck.cpp

Lines changed: 41 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -20,53 +20,68 @@ void BoolPointerImplicitConversionCheck::registerMatchers(MatchFinder *Finder) {
2020
Finder->addMatcher(
2121
traverse(
2222
ast_type_traits::TK_AsIs,
23-
ifStmt(hasCondition(findAll(implicitCastExpr(
24-
unless(hasParent(unaryOperator(hasOperatorName("!")))),
25-
hasSourceExpression(expr(
26-
hasType(pointerType(pointee(booleanType()))),
27-
ignoringParenImpCasts(declRefExpr().bind("expr")))),
28-
hasCastKind(CK_PointerToBoolean)))),
29-
unless(isInTemplateInstantiation()))
23+
ifStmt(
24+
hasCondition(findAll(implicitCastExpr(
25+
unless(hasParent(unaryOperator(hasOperatorName("!")))),
26+
hasSourceExpression(expr(
27+
hasType(pointerType(pointee(booleanType()))),
28+
ignoringParenImpCasts(anyOf(declRefExpr().bind("expr"),
29+
memberExpr().bind("expr"))))),
30+
hasCastKind(CK_PointerToBoolean)))),
31+
unless(isInTemplateInstantiation()))
3032
.bind("if")),
3133
this);
3234
}
3335

34-
void BoolPointerImplicitConversionCheck::check(
35-
const MatchFinder::MatchResult &Result) {
36-
auto *If = Result.Nodes.getNodeAs<IfStmt>("if");
37-
auto *Var = Result.Nodes.getNodeAs<DeclRefExpr>("expr");
38-
36+
static void checkImpl(const MatchFinder::MatchResult &Result, const Expr *Ref,
37+
const IfStmt *If,
38+
const ast_matchers::internal::Matcher<Expr> &RefMatcher,
39+
ClangTidyCheck &Check) {
3940
// Ignore macros.
40-
if (Var->getBeginLoc().isMacroID())
41+
if (Ref->getBeginLoc().isMacroID())
4142
return;
4243

43-
// Only allow variable accesses for now, no function calls or member exprs.
44+
// Only allow variable accesses and member exprs for now, no function calls.
4445
// Check that we don't dereference the variable anywhere within the if. This
4546
// avoids false positives for checks of the pointer for nullptr before it is
4647
// dereferenced. If there is a dereferencing operator on this variable don't
4748
// emit a diagnostic. Also ignore array subscripts.
48-
const Decl *D = Var->getDecl();
49-
auto DeclRef = ignoringParenImpCasts(declRefExpr(to(equalsNode(D))));
50-
if (!match(findAll(
51-
unaryOperator(hasOperatorName("*"), hasUnaryOperand(DeclRef))),
49+
if (!match(findAll(unaryOperator(hasOperatorName("*"),
50+
hasUnaryOperand(RefMatcher))),
5251
*If, *Result.Context)
5352
.empty() ||
54-
!match(findAll(arraySubscriptExpr(hasBase(DeclRef))), *If,
53+
!match(findAll(arraySubscriptExpr(hasBase(RefMatcher))), *If,
5554
*Result.Context)
5655
.empty() ||
5756
// FIXME: We should still warn if the paremater is implicitly converted to
5857
// bool.
59-
!match(findAll(callExpr(hasAnyArgument(ignoringParenImpCasts(DeclRef)))),
60-
*If, *Result.Context)
58+
!match(
59+
findAll(callExpr(hasAnyArgument(ignoringParenImpCasts(RefMatcher)))),
60+
*If, *Result.Context)
6161
.empty() ||
62-
!match(findAll(cxxDeleteExpr(has(ignoringParenImpCasts(expr(DeclRef))))),
63-
*If, *Result.Context)
62+
!match(
63+
findAll(cxxDeleteExpr(has(ignoringParenImpCasts(expr(RefMatcher))))),
64+
*If, *Result.Context)
6465
.empty())
6566
return;
6667

67-
diag(Var->getBeginLoc(), "dubious check of 'bool *' against 'nullptr', did "
68-
"you mean to dereference it?")
69-
<< FixItHint::CreateInsertion(Var->getBeginLoc(), "*");
68+
Check.diag(Ref->getBeginLoc(),
69+
"dubious check of 'bool *' against 'nullptr', did "
70+
"you mean to dereference it?")
71+
<< FixItHint::CreateInsertion(Ref->getBeginLoc(), "*");
72+
}
73+
74+
void BoolPointerImplicitConversionCheck::check(
75+
const MatchFinder::MatchResult &Result) {
76+
const auto *If = Result.Nodes.getNodeAs<IfStmt>("if");
77+
if (const auto *E = Result.Nodes.getNodeAs<Expr>("expr")) {
78+
const Decl *D = isa<DeclRefExpr>(E) ? cast<DeclRefExpr>(E)->getDecl()
79+
: cast<MemberExpr>(E)->getMemberDecl();
80+
const auto M =
81+
ignoringParenImpCasts(anyOf(declRefExpr(to(equalsNode(D))),
82+
memberExpr(hasDeclaration(equalsNode(D)))));
83+
checkImpl(Result, E, If, M, *this);
84+
}
7085
}
7186

7287
} // namespace bugprone

clang-tools-extra/clang-tidy/utils/RenamerClangTidyCheck.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,9 @@ void RenamerClangTidyCheck::addUsage(
157157
RenamerClangTidyCheck::NamingCheckFailure &Failure =
158158
NamingCheckFailures[Decl];
159159

160+
if (!Failure.RawUsageLocs.insert(FixLocation.getRawEncoding()).second)
161+
return;
162+
160163
if (!Failure.ShouldFix())
161164
return;
162165

@@ -165,8 +168,6 @@ void RenamerClangTidyCheck::addUsage(
165168

166169
if (!utils::rangeCanBeFixed(Range, SourceMgr))
167170
Failure.FixStatus = RenamerClangTidyCheck::ShouldFixStatus::InsideMacro;
168-
169-
Failure.RawUsageLocs.insert(FixLocation.getRawEncoding());
170171
}
171172

172173
void RenamerClangTidyCheck::addUsage(const NamedDecl *Decl, SourceRange Range,

clang-tools-extra/clangd/unittests/FindTargetTests.cpp

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -405,6 +405,11 @@ TEST_F(TargetDeclTest, ClassTemplate) {
405405
}
406406

407407
TEST_F(TargetDeclTest, Concept) {
408+
Flags.push_back("-std=c++20");
409+
410+
// FIXME: Should we truncate the pretty-printed form of a concept decl
411+
// somewhere?
412+
408413
Code = R"cpp(
409414
template <typename T>
410415
concept Fooable = requires (T t) { t.foo(); };
@@ -414,12 +419,20 @@ TEST_F(TargetDeclTest, Concept) {
414419
t.foo();
415420
}
416421
)cpp";
417-
Flags.push_back("-std=c++20");
418422
EXPECT_DECLS(
419423
"ConceptSpecializationExpr",
420-
// FIXME: Should we truncate the pretty-printed form of a concept decl
421-
// somewhere?
422424
{"template <typename T> concept Fooable = requires (T t) { t.foo(); };"});
425+
426+
// trailing requires clause
427+
Code = R"cpp(
428+
template <typename T>
429+
concept Fooable = true;
430+
431+
template <typename T>
432+
void foo() requires [[Fooable]]<T>;
433+
)cpp";
434+
EXPECT_DECLS("ConceptSpecializationExpr",
435+
{"template <typename T> concept Fooable = true;"});
423436
}
424437

425438
TEST_F(TargetDeclTest, FunctionTemplate) {

clang-tools-extra/test/clang-tidy/checkers/bugprone-bool-pointer-implicit-conversion.cpp

Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -74,9 +74,31 @@ void foo() {
7474
bool *b;
7575
} d = { SomeFunction() };
7676

77-
if (d.b)
77+
if (d.b) {
78+
// CHECK-MESSAGES: :[[@LINE-1]]:7: warning: dubious check of 'bool *' against 'nullptr'
79+
// CHECK-FIXES: if (*d.b) {
80+
}
81+
82+
if (d.b) {
7883
(void)*d.b; // no-warning
84+
}
7985

80-
#define CHECK(b) if (b) {}
86+
#define CHECK(b) \
87+
if (b) { \
88+
}
8189
CHECK(c)
8290
}
91+
92+
struct H {
93+
bool *b;
94+
void foo() const {
95+
if (b) {
96+
// CHECK-MESSAGES: :[[@LINE-1]]:9: warning: dubious check of 'bool *' against 'nullptr'
97+
// CHECK-FIXES: if (*b) {
98+
}
99+
100+
if (b) {
101+
(void)*b; // no-warning
102+
}
103+
}
104+
};

clang-tools-extra/test/clang-tidy/checkers/readability-identifier-naming.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -578,3 +578,8 @@ void Foo() {
578578
#undef M1
579579
#undef DUP
580580
} // namespace scratchspace
581+
582+
template<typename type_t>
583+
auto GetRes(type_t& Param) -> decltype(Param.res());
584+
// CHECK-MESSAGES: :[[@LINE-1]]:21: warning: invalid case style for parameter 'Param'
585+
// CHECK-FIXES: auto GetRes(type_t& a_param) -> decltype(a_param.res());

clang/include/clang/AST/ASTContext.h

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@
4343
#include "llvm/ADT/APSInt.h"
4444
#include "llvm/ADT/ArrayRef.h"
4545
#include "llvm/ADT/DenseMap.h"
46+
#include "llvm/ADT/DenseSet.h"
4647
#include "llvm/ADT/FoldingSet.h"
4748
#include "llvm/ADT/IntrusiveRefCntPtr.h"
4849
#include "llvm/ADT/MapVector.h"
@@ -1004,6 +1005,9 @@ class ASTContext : public RefCountedBase<ASTContext> {
10041005
// Implicitly-declared type 'struct _GUID'.
10051006
mutable TagDecl *MSGuidTagDecl = nullptr;
10061007

1008+
/// Keep track of CUDA/HIP static device variables referenced by host code.
1009+
llvm::DenseSet<const VarDecl *> CUDAStaticDeviceVarReferencedByHost;
1010+
10071011
ASTContext(LangOptions &LOpts, SourceManager &SM, IdentifierTable &idents,
10081012
SelectorTable &sels, Builtin::Context &builtins);
10091013
ASTContext(const ASTContext &) = delete;
@@ -3035,6 +3039,9 @@ OPT_LIST(V)
30353039
/// Return a new OMPTraitInfo object owned by this context.
30363040
OMPTraitInfo &getNewOMPTraitInfo();
30373041

3042+
/// Whether a C++ static variable should be externalized.
3043+
bool shouldExternalizeStaticVar(const Decl *D) const;
3044+
30383045
private:
30393046
/// All OMPTraitInfo objects live in this collection, one per
30403047
/// `pragma omp [begin] declare variant` directive.

clang/include/clang/AST/TextNodeDumper.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -295,6 +295,7 @@ class TextNodeDumper
295295
void VisitObjCIvarRefExpr(const ObjCIvarRefExpr *Node);
296296
void VisitObjCBoolLiteralExpr(const ObjCBoolLiteralExpr *Node);
297297
void VisitOMPIteratorExpr(const OMPIteratorExpr *Node);
298+
void VisitConceptSpecializationExpr(const ConceptSpecializationExpr *Node);
298299

299300
void VisitRValueReferenceType(const ReferenceType *T);
300301
void VisitArrayType(const ArrayType *T);

clang/include/clang/Basic/AttrDocs.td

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1108,6 +1108,7 @@ not made control-dependent on any additional values, e.g., unrolling a loop
11081108
executed by all work items.
11091109

11101110
Sample usage:
1111+
11111112
.. code-block:: c
11121113

11131114
void convfunc(void) __attribute__((convergent));
@@ -3610,11 +3611,12 @@ distinguish USM (Unified Shared Memory) pointers that access global device
36103611
memory from those that access global host memory. These new address spaces are
36113612
a subset of the ``__global/opencl_global`` address space, the full address space
36123613
set model for OpenCL 2.0 with the extension looks as follows:
3613-
generic->global->host
3614-
->device
3615-
->private
3616-
->local
3617-
constant
3614+
3615+
| generic->global->host
3616+
| ->device
3617+
| ->private
3618+
| ->local
3619+
| constant
36183620

36193621
As ``global_device`` and ``global_host`` are a subset of
36203622
``__global/opencl_global`` address spaces it is allowed to convert

clang/include/clang/Basic/BuiltinsBPF.def

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,5 +23,11 @@ TARGET_BUILTIN(__builtin_preserve_field_info, "Ui.", "t", "")
2323
// Get BTF type id.
2424
TARGET_BUILTIN(__builtin_btf_type_id, "Ui.", "t", "")
2525

26+
// Get type information.
27+
TARGET_BUILTIN(__builtin_preserve_type_info, "Ui.", "t", "")
28+
29+
// Preserve enum value.
30+
TARGET_BUILTIN(__builtin_preserve_enum_value, "Li.", "t", "")
31+
2632
#undef BUILTIN
2733
#undef TARGET_BUILTIN

clang/include/clang/Basic/BuiltinsWebAssembly.def

Lines changed: 29 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -66,67 +66,67 @@ TARGET_BUILTIN(__builtin_wasm_trunc_saturate_s_i64_f64, "LLid", "nc", "nontrappi
6666
TARGET_BUILTIN(__builtin_wasm_trunc_saturate_u_i64_f64, "LLid", "nc", "nontrapping-fptoint")
6767

6868
// SIMD builtins
69-
TARGET_BUILTIN(__builtin_wasm_swizzle_v8x16, "V16cV16cV16c", "nc", "simd128")
69+
TARGET_BUILTIN(__builtin_wasm_swizzle_v8x16, "V16ScV16ScV16Sc", "nc", "simd128")
7070

71-
TARGET_BUILTIN(__builtin_wasm_extract_lane_s_i8x16, "iV16cIi", "nc", "simd128")
72-
TARGET_BUILTIN(__builtin_wasm_extract_lane_u_i8x16, "iV16cIi", "nc", "simd128")
71+
TARGET_BUILTIN(__builtin_wasm_extract_lane_s_i8x16, "iV16ScIi", "nc", "simd128")
72+
TARGET_BUILTIN(__builtin_wasm_extract_lane_u_i8x16, "iV16UcIUi", "nc", "simd128")
7373
TARGET_BUILTIN(__builtin_wasm_extract_lane_s_i16x8, "iV8sIi", "nc", "simd128")
74-
TARGET_BUILTIN(__builtin_wasm_extract_lane_u_i16x8, "iV8sIi", "nc", "simd128")
74+
TARGET_BUILTIN(__builtin_wasm_extract_lane_u_i16x8, "iV8UsIUi", "nc", "simd128")
7575
TARGET_BUILTIN(__builtin_wasm_extract_lane_i32x4, "iV4iIi", "nc", "simd128")
7676
TARGET_BUILTIN(__builtin_wasm_extract_lane_i64x2, "LLiV2LLiIi", "nc", "simd128")
7777
TARGET_BUILTIN(__builtin_wasm_extract_lane_f32x4, "fV4fIi", "nc", "simd128")
7878
TARGET_BUILTIN(__builtin_wasm_extract_lane_f64x2, "dV2dIi", "nc", "simd128")
7979

80-
TARGET_BUILTIN(__builtin_wasm_replace_lane_i8x16, "V16cV16cIii", "nc", "simd128")
80+
TARGET_BUILTIN(__builtin_wasm_replace_lane_i8x16, "V16ScV16ScIii", "nc", "simd128")
8181
TARGET_BUILTIN(__builtin_wasm_replace_lane_i16x8, "V8sV8sIii", "nc", "simd128")
8282
TARGET_BUILTIN(__builtin_wasm_replace_lane_i32x4, "V4iV4iIii", "nc", "simd128")
8383
TARGET_BUILTIN(__builtin_wasm_replace_lane_i64x2, "V2LLiV2LLiIiLLi", "nc", "simd128")
8484
TARGET_BUILTIN(__builtin_wasm_replace_lane_f32x4, "V4fV4fIif", "nc", "simd128")
8585
TARGET_BUILTIN(__builtin_wasm_replace_lane_f64x2, "V2dV2dIid", "nc", "simd128")
8686

87-
TARGET_BUILTIN(__builtin_wasm_add_saturate_s_i8x16, "V16cV16cV16c", "nc", "simd128")
88-
TARGET_BUILTIN(__builtin_wasm_add_saturate_u_i8x16, "V16cV16cV16c", "nc", "simd128")
87+
TARGET_BUILTIN(__builtin_wasm_add_saturate_s_i8x16, "V16ScV16ScV16Sc", "nc", "simd128")
88+
TARGET_BUILTIN(__builtin_wasm_add_saturate_u_i8x16, "V16UcV16UcV16Uc", "nc", "simd128")
8989
TARGET_BUILTIN(__builtin_wasm_add_saturate_s_i16x8, "V8sV8sV8s", "nc", "simd128")
90-
TARGET_BUILTIN(__builtin_wasm_add_saturate_u_i16x8, "V8sV8sV8s", "nc", "simd128")
90+
TARGET_BUILTIN(__builtin_wasm_add_saturate_u_i16x8, "V8UsV8UsV8Us", "nc", "simd128")
9191

92-
TARGET_BUILTIN(__builtin_wasm_sub_saturate_s_i8x16, "V16cV16cV16c", "nc", "simd128")
93-
TARGET_BUILTIN(__builtin_wasm_sub_saturate_u_i8x16, "V16cV16cV16c", "nc", "simd128")
92+
TARGET_BUILTIN(__builtin_wasm_sub_saturate_s_i8x16, "V16ScV16ScV16Sc", "nc", "simd128")
93+
TARGET_BUILTIN(__builtin_wasm_sub_saturate_u_i8x16, "V16UcV16UcV16Uc", "nc", "simd128")
9494
TARGET_BUILTIN(__builtin_wasm_sub_saturate_s_i16x8, "V8sV8sV8s", "nc", "simd128")
95-
TARGET_BUILTIN(__builtin_wasm_sub_saturate_u_i16x8, "V8sV8sV8s", "nc", "simd128")
95+
TARGET_BUILTIN(__builtin_wasm_sub_saturate_u_i16x8, "V8UsV8UsV8Us", "nc", "simd128")
9696

97-
TARGET_BUILTIN(__builtin_wasm_abs_i8x16, "V16cV16c", "nc", "simd128")
97+
TARGET_BUILTIN(__builtin_wasm_abs_i8x16, "V16ScV16Sc", "nc", "simd128")
9898
TARGET_BUILTIN(__builtin_wasm_abs_i16x8, "V8sV8s", "nc", "simd128")
9999
TARGET_BUILTIN(__builtin_wasm_abs_i32x4, "V4iV4i", "nc", "simd128")
100100

101-
TARGET_BUILTIN(__builtin_wasm_min_s_i8x16, "V16cV16cV16c", "nc", "simd128")
102-
TARGET_BUILTIN(__builtin_wasm_min_u_i8x16, "V16cV16cV16c", "nc", "simd128")
103-
TARGET_BUILTIN(__builtin_wasm_max_s_i8x16, "V16cV16cV16c", "nc", "simd128")
104-
TARGET_BUILTIN(__builtin_wasm_max_u_i8x16, "V16cV16cV16c", "nc", "simd128")
101+
TARGET_BUILTIN(__builtin_wasm_min_s_i8x16, "V16ScV16ScV16Sc", "nc", "simd128")
102+
TARGET_BUILTIN(__builtin_wasm_min_u_i8x16, "V16UcV16UcV16Uc", "nc", "simd128")
103+
TARGET_BUILTIN(__builtin_wasm_max_s_i8x16, "V16ScV16ScV16Sc", "nc", "simd128")
104+
TARGET_BUILTIN(__builtin_wasm_max_u_i8x16, "V16UcV16UcV16Uc", "nc", "simd128")
105105
TARGET_BUILTIN(__builtin_wasm_min_s_i16x8, "V8sV8sV8s", "nc", "simd128")
106-
TARGET_BUILTIN(__builtin_wasm_min_u_i16x8, "V8sV8sV8s", "nc", "simd128")
106+
TARGET_BUILTIN(__builtin_wasm_min_u_i16x8, "V8UsV8UsV8Us", "nc", "simd128")
107107
TARGET_BUILTIN(__builtin_wasm_max_s_i16x8, "V8sV8sV8s", "nc", "simd128")
108-
TARGET_BUILTIN(__builtin_wasm_max_u_i16x8, "V8sV8sV8s", "nc", "simd128")
108+
TARGET_BUILTIN(__builtin_wasm_max_u_i16x8, "V8UsV8UsV8Us", "nc", "simd128")
109109
TARGET_BUILTIN(__builtin_wasm_min_s_i32x4, "V4iV4iV4i", "nc", "simd128")
110-
TARGET_BUILTIN(__builtin_wasm_min_u_i32x4, "V4iV4iV4i", "nc", "simd128")
110+
TARGET_BUILTIN(__builtin_wasm_min_u_i32x4, "V4UiV4UiV4Ui", "nc", "simd128")
111111
TARGET_BUILTIN(__builtin_wasm_max_s_i32x4, "V4iV4iV4i", "nc", "simd128")
112-
TARGET_BUILTIN(__builtin_wasm_max_u_i32x4, "V4iV4iV4i", "nc", "simd128")
112+
TARGET_BUILTIN(__builtin_wasm_max_u_i32x4, "V4UiV4UiV4Ui", "nc", "simd128")
113113

114-
TARGET_BUILTIN(__builtin_wasm_avgr_u_i8x16, "V16cV16cV16c", "nc", "simd128")
115-
TARGET_BUILTIN(__builtin_wasm_avgr_u_i16x8, "V8sV8sV8s", "nc", "simd128")
114+
TARGET_BUILTIN(__builtin_wasm_avgr_u_i8x16, "V16UcV16UcV16Uc", "nc", "simd128")
115+
TARGET_BUILTIN(__builtin_wasm_avgr_u_i16x8, "V8UsV8UsV8Us", "nc", "simd128")
116116

117117
TARGET_BUILTIN(__builtin_wasm_bitselect, "V4iV4iV4iV4i", "nc", "simd128")
118-
TARGET_BUILTIN(__builtin_wasm_shuffle_v8x16, "V16cV16cV16cIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIi", "nc", "simd128")
118+
TARGET_BUILTIN(__builtin_wasm_shuffle_v8x16, "V16ScV16ScV16ScIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIi", "nc", "simd128")
119119

120-
TARGET_BUILTIN(__builtin_wasm_any_true_i8x16, "iV16c", "nc", "simd128")
120+
TARGET_BUILTIN(__builtin_wasm_any_true_i8x16, "iV16Sc", "nc", "simd128")
121121
TARGET_BUILTIN(__builtin_wasm_any_true_i16x8, "iV8s", "nc", "simd128")
122122
TARGET_BUILTIN(__builtin_wasm_any_true_i32x4, "iV4i", "nc", "simd128")
123123
TARGET_BUILTIN(__builtin_wasm_any_true_i64x2, "iV2LLi", "nc", "unimplemented-simd128")
124-
TARGET_BUILTIN(__builtin_wasm_all_true_i8x16, "iV16c", "nc", "simd128")
124+
TARGET_BUILTIN(__builtin_wasm_all_true_i8x16, "iV16Sc", "nc", "simd128")
125125
TARGET_BUILTIN(__builtin_wasm_all_true_i16x8, "iV8s", "nc", "simd128")
126126
TARGET_BUILTIN(__builtin_wasm_all_true_i32x4, "iV4i", "nc", "simd128")
127127
TARGET_BUILTIN(__builtin_wasm_all_true_i64x2, "iV2LLi", "nc", "unimplemented-simd128")
128128

129-
TARGET_BUILTIN(__builtin_wasm_bitmask_i8x16, "iV16c", "nc", "simd128")
129+
TARGET_BUILTIN(__builtin_wasm_bitmask_i8x16, "iV16Sc", "nc", "simd128")
130130
TARGET_BUILTIN(__builtin_wasm_bitmask_i16x8, "iV8s", "nc", "simd128")
131131
TARGET_BUILTIN(__builtin_wasm_bitmask_i32x4, "iV4i", "nc", "simd128")
132132

@@ -164,10 +164,10 @@ TARGET_BUILTIN(__builtin_wasm_qfms_f64x2, "V2dV2dV2dV2d", "nc", "unimplemented-s
164164
TARGET_BUILTIN(__builtin_wasm_trunc_saturate_s_i32x4_f32x4, "V4iV4f", "nc", "simd128")
165165
TARGET_BUILTIN(__builtin_wasm_trunc_saturate_u_i32x4_f32x4, "V4iV4f", "nc", "simd128")
166166

167-
TARGET_BUILTIN(__builtin_wasm_narrow_s_i8x16_i16x8, "V16cV8sV8s", "nc", "simd128")
168-
TARGET_BUILTIN(__builtin_wasm_narrow_u_i8x16_i16x8, "V16cV8sV8s", "nc", "simd128")
167+
TARGET_BUILTIN(__builtin_wasm_narrow_s_i8x16_i16x8, "V16ScV8sV8s", "nc", "simd128")
168+
TARGET_BUILTIN(__builtin_wasm_narrow_u_i8x16_i16x8, "V16UcV8UsV8Us", "nc", "simd128")
169169
TARGET_BUILTIN(__builtin_wasm_narrow_s_i16x8_i32x4, "V8sV4iV4i", "nc", "simd128")
170-
TARGET_BUILTIN(__builtin_wasm_narrow_u_i16x8_i32x4, "V8sV4iV4i", "nc", "simd128")
170+
TARGET_BUILTIN(__builtin_wasm_narrow_u_i16x8_i32x4, "V8UsV4UiV4Ui", "nc", "simd128")
171171

172172
TARGET_BUILTIN(__builtin_wasm_load32_zero, "V4ii*", "nU", "simd128")
173173
TARGET_BUILTIN(__builtin_wasm_load64_zero, "V2LLiLLi*", "nU", "simd128")

0 commit comments

Comments
 (0)