[all-commits] [llvm/llvm-project] 4ef6ca: [Clang][AArch64] Fix crash with large arguments to...
Igor Kudrin via All-commits
all-commits at lists.llvm.org
Tue May 26 13:51:45 PDT 2026
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 4ef6ca40f53fe5ef09b940a3d7d9a92a091dd878
https://github.com/llvm/llvm-project/commit/4ef6ca40f53fe5ef09b940a3d7d9a92a091dd878
Author: Igor Kudrin <ikudrin at accesssoftek.com>
Date: 2026-05-26 (Tue, 26 May 2026)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
M clang/lib/Sema/SemaARM.cpp
M clang/test/AST/ast-dump-aarch64-mte.c
M clang/test/CodeGen/arm64-mte.c
M clang/test/Sema/builtins-arm64-mte.c
Log Message:
-----------
[Clang][AArch64] Fix crash with large arguments to MTE built-ins (#197620)
The second argument to `__builtin_arm_irg()` and `__builtin_arm_gmi()`
is expected to be 64-bit. When a wider type is passed, the compiler
still generates a `zext` instruction, leading to a backend error:
```
> cat test.c
unsigned test(void* a, unsigned __int128 m) {
return __builtin_arm_gmi(a, m);
}
> clang -target aarch64 -march=armv9+memtag -S test.c
fatal error: error in backend: Cannot select: ... i64,ch = load<... zext from i128>
```
This is fixed by applying the required implicit conversions to the
argument in Sema.
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list