Skip to content

Commit 312c0ed

Browse files
committed
Vendor import of llvm-project main llvmorg-18-init-15088-gd14ee76181fb.
1 parent b1c7353 commit 312c0ed

File tree

1,071 files changed

+23492
-9686
lines changed

Some content is hidden

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

1,071 files changed

+23492
-9686
lines changed

clang/include/clang-c/BuildSystem.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ CINDEX_LINKAGE void clang_free(void *buffer);
9595
CINDEX_LINKAGE void clang_VirtualFileOverlay_dispose(CXVirtualFileOverlay);
9696

9797
/**
98-
* Object encapsulating information about a module.map file.
98+
* Object encapsulating information about a module.modulemap file.
9999
*/
100100
typedef struct CXModuleMapDescriptorImpl *CXModuleMapDescriptor;
101101

@@ -109,15 +109,15 @@ CINDEX_LINKAGE CXModuleMapDescriptor
109109
clang_ModuleMapDescriptor_create(unsigned options);
110110

111111
/**
112-
* Sets the framework module name that the module.map describes.
112+
* Sets the framework module name that the module.modulemap describes.
113113
* \returns 0 for success, non-zero to indicate an error.
114114
*/
115115
CINDEX_LINKAGE enum CXErrorCode
116116
clang_ModuleMapDescriptor_setFrameworkModuleName(CXModuleMapDescriptor,
117117
const char *name);
118118

119119
/**
120-
* Sets the umbrella header name that the module.map describes.
120+
* Sets the umbrella header name that the module.modulemap describes.
121121
* \returns 0 for success, non-zero to indicate an error.
122122
*/
123123
CINDEX_LINKAGE enum CXErrorCode

clang/include/clang/AST/Type.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636
#include "llvm/ADT/FoldingSet.h"
3737
#include "llvm/ADT/PointerIntPair.h"
3838
#include "llvm/ADT/PointerUnion.h"
39+
#include "llvm/ADT/STLForwardCompat.h"
3940
#include "llvm/ADT/StringRef.h"
4041
#include "llvm/ADT/Twine.h"
4142
#include "llvm/ADT/iterator_range.h"
@@ -7514,7 +7515,7 @@ inline const Type *Type::getPointeeOrArrayElementType() const {
75147515
/// spaces into a diagnostic with <<.
75157516
inline const StreamingDiagnostic &operator<<(const StreamingDiagnostic &PD,
75167517
LangAS AS) {
7517-
PD.AddTaggedVal(static_cast<std::underlying_type_t<LangAS>>(AS),
7518+
PD.AddTaggedVal(llvm::to_underlying(AS),
75187519
DiagnosticsEngine::ArgumentKind::ak_addrspace);
75197520
return PD;
75207521
}

clang/include/clang/Analysis/Analyses/UnsafeBufferUsageGadgets.def

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ FIXABLE_GADGET(PointerDereference)
3636
FIXABLE_GADGET(UPCAddressofArraySubscript) // '&DRE[any]' in an Unspecified Pointer Context
3737
FIXABLE_GADGET(UPCStandalonePointer)
3838
FIXABLE_GADGET(UPCPreIncrement) // '++Ptr' in an Unspecified Pointer Context
39+
FIXABLE_GADGET(UUCAddAssign) // 'Ptr += n' in an Unspecified Untyped Context
3940
FIXABLE_GADGET(PointerAssignment)
4041
FIXABLE_GADGET(PointerInit)
4142

clang/include/clang/Basic/Attr.td

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -455,6 +455,9 @@ def TargetMicrosoftCXXABI : TargetArch<["x86", "x86_64", "arm", "thumb", "aarch6
455455
def TargetELF : TargetSpec {
456456
let ObjectFormats = ["ELF"];
457457
}
458+
def TargetELFOrMachO : TargetSpec {
459+
let ObjectFormats = ["ELF", "MachO"];
460+
}
458461

459462
def TargetSupportsInitPriority : TargetSpec {
460463
let CustomCode = [{ !Target.getTriple().isOSzOS() }];
@@ -1665,7 +1668,7 @@ def IBOutletCollection : InheritableAttr {
16651668
let Documentation = [Undocumented];
16661669
}
16671670

1668-
def IFunc : Attr, TargetSpecificAttr<TargetELF> {
1671+
def IFunc : Attr, TargetSpecificAttr<TargetELFOrMachO> {
16691672
let Spellings = [GCC<"ifunc">];
16701673
let Args = [StringArgument<"Resolver">];
16711674
let Subjects = SubjectList<[Function]>;
@@ -2212,7 +2215,8 @@ def NotTailCalled : InheritableAttr {
22122215
def : MutualExclusions<[AlwaysInline, NotTailCalled]>;
22132216

22142217
def NoStackProtector : InheritableAttr {
2215-
let Spellings = [Clang<"no_stack_protector">, Declspec<"safebuffers">];
2218+
let Spellings = [Clang<"no_stack_protector">, CXX11<"gnu", "no_stack_protector">,
2219+
C23<"gnu", "no_stack_protector">, Declspec<"safebuffers">];
22162220
let Subjects = SubjectList<[Function]>;
22172221
let Documentation = [NoStackProtectorDocs];
22182222
let SimpleHandler = 1;
@@ -2792,9 +2796,10 @@ def SwiftAsyncError : InheritableAttr {
27922796
let Documentation = [SwiftAsyncErrorDocs];
27932797
}
27942798

2795-
def Suppress : StmtAttr {
2796-
let Spellings = [CXX11<"gsl", "suppress">];
2799+
def Suppress : DeclOrStmtAttr {
2800+
let Spellings = [CXX11<"gsl", "suppress">, Clang<"suppress">];
27972801
let Args = [VariadicStringArgument<"DiagnosticIdentifiers">];
2802+
let Accessors = [Accessor<"isGSL", [CXX11<"gsl", "suppress">]>];
27982803
let Documentation = [SuppressDocs];
27992804
}
28002805

@@ -2878,7 +2883,7 @@ def Target : InheritableAttr {
28782883

28792884
for (auto &Feature : AttrFeatures) {
28802885
Feature = Feature.trim();
2881-
if (Feature.startswith("arch="))
2886+
if (Feature.starts_with("arch="))
28822887
return Feature.drop_front(sizeof("arch=") - 1);
28832888
}
28842889
return "";
@@ -2896,8 +2901,8 @@ def Target : InheritableAttr {
28962901
for (auto &Feature : AttrFeatures) {
28972902
Feature = Feature.trim();
28982903

2899-
if (!Feature.startswith("no-") && !Feature.startswith("arch=") &&
2900-
!Feature.startswith("fpmath=") && !Feature.startswith("tune="))
2904+
if (!Feature.starts_with("no-") && !Feature.starts_with("arch=") &&
2905+
!Feature.starts_with("fpmath=") && !Feature.starts_with("tune="))
29012906
Out.push_back(Feature);
29022907
}
29032908
}
@@ -4258,7 +4263,8 @@ def HLSLResource : InheritableAttr {
42584263
"StructuredBuffer", "CBuffer", "Sampler",
42594264
"TBuffer", "RTAccelerationStructure",
42604265
"FeedbackTexture2D", "FeedbackTexture2DArray"],
4261-
/*opt=*/0, /*fake=*/0, /*isExternalType=*/1>
4266+
/*opt=*/0, /*fake=*/0, /*isExternalType=*/1>,
4267+
DefaultBoolArgument<"isROV", /*default=*/0>
42624268
];
42634269
let Documentation = [InternalOnly];
42644270
}

clang/include/clang/Basic/AttrDocs.td

Lines changed: 71 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5267,7 +5267,74 @@ the ``int`` parameter is the one that represents the error.
52675267
def SuppressDocs : Documentation {
52685268
let Category = DocCatStmt;
52695269
let Content = [{
5270-
The ``[[gsl::suppress]]`` attribute suppresses specific
5270+
The ``suppress`` attribute suppresses unwanted warnings coming from static
5271+
analysis tools such as the Clang Static Analyzer. The tool will not report
5272+
any issues in source code annotated with the attribute.
5273+
5274+
The attribute cannot be used to suppress traditional Clang warnings, because
5275+
many such warnings are emitted before the attribute is fully parsed.
5276+
Consider using ``#pragma clang diagnostic`` to control such diagnostics,
5277+
as described in `Controlling Diagnostics via Pragmas
5278+
<https://clang.llvm.org/docs/UsersManual.html#controlling-diagnostics-via-pragmas>`_.
5279+
5280+
The ``suppress`` attribute can be placed on an individual statement in order to
5281+
suppress warnings about undesirable behavior occurring at that statement:
5282+
5283+
.. code-block:: c++
5284+
5285+
int foo() {
5286+
int *x = nullptr;
5287+
...
5288+
[[clang::suppress]]
5289+
return *x; // null pointer dereference warning suppressed here
5290+
}
5291+
5292+
Putting the attribute on a compound statement suppresses all warnings in scope:
5293+
5294+
.. code-block:: c++
5295+
5296+
int foo() {
5297+
[[clang::suppress]] {
5298+
int *x = nullptr;
5299+
...
5300+
return *x; // warnings suppressed in the entire scope
5301+
}
5302+
}
5303+
5304+
Some static analysis warnings are accompanied by one or more notes, and the
5305+
line of code against which the warning is emitted isn't necessarily the best
5306+
for suppression purposes. In such cases the tools are allowed to implement
5307+
additional ways to suppress specific warnings based on the attribute attached
5308+
to a note location.
5309+
5310+
For example, the Clang Static Analyzer suppresses memory leak warnings when
5311+
the suppression attribute is placed at the allocation site (highlited by
5312+
a "note: memory is allocated"), which may be different from the line of code
5313+
at which the program "loses track" of the pointer (where the warning
5314+
is ultimately emitted):
5315+
5316+
.. code-block:: c
5317+
5318+
int bar1(bool coin_flip) {
5319+
__attribute__((suppress))
5320+
int *result = (int *)malloc(sizeof(int));
5321+
if (coin_flip)
5322+
return 1; // warning about this leak path is suppressed
5323+
5324+
return *result; // warning about this leak path is also suppressed
5325+
}
5326+
5327+
int bar2(bool coin_flip) {
5328+
int *result = (int *)malloc(sizeof(int));
5329+
if (coin_flip)
5330+
return 1; // leak warning on this path NOT suppressed
5331+
5332+
__attribute__((suppress))
5333+
return *result; // leak warning is suppressed only on this path
5334+
}
5335+
5336+
5337+
When written as ``[[gsl::suppress]]``, this attribute suppresses specific
52715338
clang-tidy diagnostics for rules of the `C++ Core Guidelines`_ in a portable
52725339
way. The attribute can be attached to declarations, statements, and at
52735340
namespace scope.
@@ -5468,7 +5535,9 @@ considered inline.
54685535
Not all targets support this attribute. ELF target support depends on both the
54695536
linker and runtime linker, and is available in at least lld 4.0 and later,
54705537
binutils 2.20.1 and later, glibc v2.11.1 and later, and FreeBSD 9.1 and later.
5471-
Non-ELF targets currently do not support this attribute.
5538+
Mach-O targets support it, but with slightly different semantics: the resolver
5539+
is run at first call, instead of at load time by the runtime linker. Targets
5540+
other than ELF and Mach-O currently do not support this attribute.
54725541
}];
54735542
}
54745543

clang/include/clang/Basic/BuiltinsAMDGPU.def

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -406,5 +406,23 @@ TARGET_BUILTIN(__builtin_amdgcn_cvt_pk_fp8_f32, "iffiIb", "nc", "fp8-insts")
406406
TARGET_BUILTIN(__builtin_amdgcn_cvt_sr_bf8_f32, "ifiiIi", "nc", "fp8-insts")
407407
TARGET_BUILTIN(__builtin_amdgcn_cvt_sr_fp8_f32, "ifiiIi", "nc", "fp8-insts")
408408

409+
//===----------------------------------------------------------------------===//
410+
// GFX12+ only builtins.
411+
//===----------------------------------------------------------------------===//
412+
413+
TARGET_BUILTIN(__builtin_amdgcn_permlane16_var, "UiUiUiUiIbIb", "nc", "gfx12-insts")
414+
TARGET_BUILTIN(__builtin_amdgcn_permlanex16_var, "UiUiUiUiIbIb", "nc", "gfx12-insts")
415+
TARGET_BUILTIN(__builtin_amdgcn_s_barrier_signal, "vIi", "n", "gfx12-insts")
416+
TARGET_BUILTIN(__builtin_amdgcn_s_barrier_signal_var, "vi", "n", "gfx12-insts")
417+
TARGET_BUILTIN(__builtin_amdgcn_s_barrier_wait, "vIs", "n", "gfx12-insts")
418+
TARGET_BUILTIN(__builtin_amdgcn_s_barrier_signal_isfirst, "bIi", "n", "gfx12-insts")
419+
TARGET_BUILTIN(__builtin_amdgcn_s_barrier_signal_isfirst_var, "bi", "n", "gfx12-insts")
420+
TARGET_BUILTIN(__builtin_amdgcn_s_barrier_init, "vii", "n", "gfx12-insts")
421+
TARGET_BUILTIN(__builtin_amdgcn_s_barrier_join, "vi", "n", "gfx12-insts")
422+
TARGET_BUILTIN(__builtin_amdgcn_s_wakeup_barrier, "vi", "n", "gfx12-insts")
423+
TARGET_BUILTIN(__builtin_amdgcn_s_barrier_leave, "b", "n", "gfx12-insts")
424+
TARGET_BUILTIN(__builtin_amdgcn_s_get_barrier_state, "Uii", "n", "gfx12-insts")
425+
426+
409427
#undef BUILTIN
410428
#undef TARGET_BUILTIN

clang/include/clang/Basic/BuiltinsNVPTX.def

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,9 @@
2626
#pragma push_macro("SM_87")
2727
#pragma push_macro("SM_89")
2828
#pragma push_macro("SM_90")
29-
#define SM_90 "sm_90"
29+
#pragma push_macro("SM_90a")
30+
#define SM_90a "sm_90a"
31+
#define SM_90 "sm_90|" SM_90a
3032
#define SM_89 "sm_89|" SM_90
3133
#define SM_87 "sm_87|" SM_89
3234
#define SM_86 "sm_86|" SM_87
@@ -56,7 +58,11 @@
5658
#pragma push_macro("PTX78")
5759
#pragma push_macro("PTX80")
5860
#pragma push_macro("PTX81")
59-
#define PTX81 "ptx81"
61+
#pragma push_macro("PTX82")
62+
#pragma push_macro("PTX83")
63+
#define PTX83 "ptx83"
64+
#define PTX82 "ptx82|" PTX83
65+
#define PTX81 "ptx81|" PTX82
6066
#define PTX80 "ptx80|" PTX81
6167
#define PTX78 "ptx78|" PTX80
6268
#define PTX77 "ptx77|" PTX78
@@ -1055,6 +1061,7 @@ TARGET_BUILTIN(__nvvm_getctarank_shared_cluster, "iv*3", "", AND(SM_90,PTX78))
10551061
#pragma pop_macro("SM_87")
10561062
#pragma pop_macro("SM_89")
10571063
#pragma pop_macro("SM_90")
1064+
#pragma pop_macro("SM_90a")
10581065
#pragma pop_macro("PTX42")
10591066
#pragma pop_macro("PTX60")
10601067
#pragma pop_macro("PTX61")
@@ -1072,3 +1079,5 @@ TARGET_BUILTIN(__nvvm_getctarank_shared_cluster, "iv*3", "", AND(SM_90,PTX78))
10721079
#pragma pop_macro("PTX78")
10731080
#pragma pop_macro("PTX80")
10741081
#pragma pop_macro("PTX81")
1082+
#pragma pop_macro("PTX82")
1083+
#pragma pop_macro("PTX83")

clang/include/clang/Basic/BuiltinsSystemZ.def

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -64,14 +64,14 @@ TARGET_BUILTIN(__builtin_s390_vupllh, "V4UiV8Us", "nc", "vector")
6464
TARGET_BUILTIN(__builtin_s390_vupllf, "V2ULLiV4Ui", "nc", "vector")
6565

6666
// Vector integer instructions (chapter 22 of the PoP)
67-
TARGET_BUILTIN(__builtin_s390_vaq, "V16UcV16UcV16Uc", "nc", "vector")
68-
TARGET_BUILTIN(__builtin_s390_vacq, "V16UcV16UcV16UcV16Uc", "nc", "vector")
67+
TARGET_BUILTIN(__builtin_s390_vaq, "SLLLiSLLLiSLLLi", "nc", "vector")
68+
TARGET_BUILTIN(__builtin_s390_vacq, "ULLLiULLLiULLLiULLLi", "nc", "vector")
6969
TARGET_BUILTIN(__builtin_s390_vaccb, "V16UcV16UcV16Uc", "nc", "vector")
7070
TARGET_BUILTIN(__builtin_s390_vacch, "V8UsV8UsV8Us", "nc", "vector")
7171
TARGET_BUILTIN(__builtin_s390_vaccf, "V4UiV4UiV4Ui", "nc", "vector")
7272
TARGET_BUILTIN(__builtin_s390_vaccg, "V2ULLiV2ULLiV2ULLi", "nc", "vector")
73-
TARGET_BUILTIN(__builtin_s390_vaccq, "V16UcV16UcV16Uc", "nc", "vector")
74-
TARGET_BUILTIN(__builtin_s390_vacccq, "V16UcV16UcV16UcV16Uc", "nc", "vector")
73+
TARGET_BUILTIN(__builtin_s390_vaccq, "ULLLiULLLiULLLi", "nc", "vector")
74+
TARGET_BUILTIN(__builtin_s390_vacccq, "ULLLiULLLiULLLiULLLi", "nc", "vector")
7575
TARGET_BUILTIN(__builtin_s390_vavgb, "V16ScV16ScV16Sc", "nc", "vector")
7676
TARGET_BUILTIN(__builtin_s390_vavgh, "V8SsV8SsV8Ss", "nc", "vector")
7777
TARGET_BUILTIN(__builtin_s390_vavgf, "V4SiV4SiV4Si", "nc", "vector")
@@ -116,11 +116,11 @@ TARGET_BUILTIN(__builtin_s390_verllvg, "V2ULLiV2ULLiV2ULLi", "nc", "vector")
116116
TARGET_BUILTIN(__builtin_s390_vgfmb, "V8UsV16UcV16Uc", "nc", "vector")
117117
TARGET_BUILTIN(__builtin_s390_vgfmh, "V4UiV8UsV8Us", "nc", "vector")
118118
TARGET_BUILTIN(__builtin_s390_vgfmf, "V2ULLiV4UiV4Ui", "nc", "vector")
119-
TARGET_BUILTIN(__builtin_s390_vgfmg, "V16UcV2ULLiV2ULLi", "nc", "vector")
119+
TARGET_BUILTIN(__builtin_s390_vgfmg, "ULLLiV2ULLiV2ULLi", "nc", "vector")
120120
TARGET_BUILTIN(__builtin_s390_vgfmab, "V8UsV16UcV16UcV8Us", "nc", "vector")
121121
TARGET_BUILTIN(__builtin_s390_vgfmah, "V4UiV8UsV8UsV4Ui", "nc", "vector")
122122
TARGET_BUILTIN(__builtin_s390_vgfmaf, "V2ULLiV4UiV4UiV2ULLi", "nc", "vector")
123-
TARGET_BUILTIN(__builtin_s390_vgfmag, "V16UcV2ULLiV2ULLiV16Uc", "nc", "vector")
123+
TARGET_BUILTIN(__builtin_s390_vgfmag, "ULLLiV2ULLiV2ULLiULLLi", "nc", "vector")
124124
TARGET_BUILTIN(__builtin_s390_vmahb, "V16ScV16ScV16ScV16Sc", "nc", "vector")
125125
TARGET_BUILTIN(__builtin_s390_vmahh, "V8SsV8SsV8SsV8Ss", "nc", "vector")
126126
TARGET_BUILTIN(__builtin_s390_vmahf, "V4SiV4SiV4SiV4Si", "nc", "vector")
@@ -161,14 +161,14 @@ TARGET_BUILTIN(__builtin_s390_vpopctb, "V16UcV16Uc", "nc", "vector")
161161
TARGET_BUILTIN(__builtin_s390_vpopcth, "V8UsV8Us", "nc", "vector")
162162
TARGET_BUILTIN(__builtin_s390_vpopctf, "V4UiV4Ui", "nc", "vector")
163163
TARGET_BUILTIN(__builtin_s390_vpopctg, "V2ULLiV2ULLi", "nc", "vector")
164-
TARGET_BUILTIN(__builtin_s390_vsq, "V16UcV16UcV16Uc", "nc", "vector")
165-
TARGET_BUILTIN(__builtin_s390_vsbcbiq, "V16UcV16UcV16UcV16Uc", "nc", "vector")
166-
TARGET_BUILTIN(__builtin_s390_vsbiq, "V16UcV16UcV16UcV16Uc", "nc", "vector")
164+
TARGET_BUILTIN(__builtin_s390_vsq, "SLLLiSLLLiSLLLi", "nc", "vector")
165+
TARGET_BUILTIN(__builtin_s390_vsbcbiq, "ULLLiULLLiULLLiULLLi", "nc", "vector")
166+
TARGET_BUILTIN(__builtin_s390_vsbiq, "ULLLiULLLiULLLiULLLi", "nc", "vector")
167167
TARGET_BUILTIN(__builtin_s390_vscbib, "V16UcV16UcV16Uc", "nc", "vector")
168168
TARGET_BUILTIN(__builtin_s390_vscbih, "V8UsV8UsV8Us", "nc", "vector")
169169
TARGET_BUILTIN(__builtin_s390_vscbif, "V4UiV4UiV4Ui", "nc", "vector")
170170
TARGET_BUILTIN(__builtin_s390_vscbig, "V2ULLiV2ULLiV2ULLi", "nc", "vector")
171-
TARGET_BUILTIN(__builtin_s390_vscbiq, "V16UcV16UcV16Uc", "nc", "vector")
171+
TARGET_BUILTIN(__builtin_s390_vscbiq, "ULLLiULLLiULLLi", "nc", "vector")
172172
TARGET_BUILTIN(__builtin_s390_vsl, "V16UcV16UcV16Uc", "nc", "vector")
173173
TARGET_BUILTIN(__builtin_s390_vslb, "V16UcV16UcV16Uc", "nc", "vector")
174174
TARGET_BUILTIN(__builtin_s390_vsldb, "V16UcV16UcV16UcIi", "nc", "vector")
@@ -180,8 +180,8 @@ TARGET_BUILTIN(__builtin_s390_vsumb, "V4UiV16UcV16Uc", "nc", "vector")
180180
TARGET_BUILTIN(__builtin_s390_vsumh, "V4UiV8UsV8Us", "nc", "vector")
181181
TARGET_BUILTIN(__builtin_s390_vsumgh, "V2ULLiV8UsV8Us", "nc", "vector")
182182
TARGET_BUILTIN(__builtin_s390_vsumgf, "V2ULLiV4UiV4Ui", "nc", "vector")
183-
TARGET_BUILTIN(__builtin_s390_vsumqf, "V16UcV4UiV4Ui", "nc", "vector")
184-
TARGET_BUILTIN(__builtin_s390_vsumqg, "V16UcV2ULLiV2ULLi", "nc", "vector")
183+
TARGET_BUILTIN(__builtin_s390_vsumqf, "ULLLiV4UiV4Ui", "nc", "vector")
184+
TARGET_BUILTIN(__builtin_s390_vsumqg, "ULLLiV2ULLiV2ULLi", "nc", "vector")
185185
TARGET_BUILTIN(__builtin_s390_vtm, "iV16UcV16Uc", "nc", "vector")
186186

187187
// Vector string instructions (chapter 23 of the PoP)
@@ -256,7 +256,7 @@ TARGET_BUILTIN(__builtin_s390_vftcidb, "V2SLLiV2dIii*", "nc", "vector")
256256
TARGET_BUILTIN(__builtin_s390_vlrlr, "V16ScUivC*", "", "vector-enhancements-1")
257257
TARGET_BUILTIN(__builtin_s390_vstrlr, "vV16ScUiv*", "", "vector-enhancements-1")
258258
TARGET_BUILTIN(__builtin_s390_vbperm, "V2ULLiV16UcV16Uc", "nc", "vector-enhancements-1")
259-
TARGET_BUILTIN(__builtin_s390_vmslg, "V16UcV2ULLiV2ULLiV16UcIi", "nc", "vector-enhancements-1")
259+
TARGET_BUILTIN(__builtin_s390_vmslg, "ULLLiV2ULLiV2ULLiULLLiIi", "nc", "vector-enhancements-1")
260260
TARGET_BUILTIN(__builtin_s390_vfmaxdb, "V2dV2dV2dIi", "nc", "vector-enhancements-1")
261261
TARGET_BUILTIN(__builtin_s390_vfmindb, "V2dV2dV2dIi", "nc", "vector-enhancements-1")
262262
TARGET_BUILTIN(__builtin_s390_vfnmadb, "V2dV2dV2dV2d", "nc", "vector-enhancements-1")

0 commit comments

Comments
 (0)