[llvm] [ARM] Use FPRegs for fastcc calling convention detection. (PR #184593)
Simon Tatham via llvm-commits
llvm-commits at lists.llvm.org
Wed Mar 4 05:35:30 PST 2026
================
@@ -0,0 +1,23 @@
+; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 6
+; RUN: llc -mtriple=thumbv8.1m.main-none-none-eabihf -mattr=+mve -verify-machineinstrs %s -o - | FileCheck %s
+
+%struct.S51 = type { <16 x i8>, <16 x i8> }
+
+define internal %struct.S51 @F33() {
+; CHECK-LABEL: F33:
+; CHECK: @ %bb.0: @ %entry
+; CHECK-NEXT: vmov.i32 q0, #0x0
+; CHECK-NEXT: vmov.i32 q1, #0x0
+; CHECK-NEXT: bx lr
+entry:
+ ret %struct.S51 zeroinitializer
+}
+
+define internal fastcc void @F32() {
----------------
statham-arm wrote:
I see that the linked bug ticket is specifically about tailcalls from a fastcc function to a normal one, but this patch is also changing the calling convention in fastcc functions that don't tailcall, so should we also have a simpler test case where you make a fastcc version of `@F33` here, and demonstrate that that by itself uses the q registers?
https://github.com/llvm/llvm-project/pull/184593
More information about the llvm-commits
mailing list