1 ; RUN: llc -O2 --mtriple=bpfel %s -o - | FileCheck %s
3 ; Generated from the following C code:
5 ; extern int foo(void) __attribute__((bpf_fastcall));
12 ; Using the following command:
14 ; clang --target=bpf -emit-llvm -O2 -S -o - t.c
16 ; (unnecessary attrs removed maually)
18 ; Check that function marked with bpf_fastcall does not clobber W1-W5.
20 define dso_local i32 @bar(i32 %a) {
22 %call = tail call i32 @foo() #0
27 ; CHECK-NEXT: *(u64 *)(r10 - 8) = r1
28 ; CHECK-NEXT: call foo
29 ; CHECK-NEXT: r1 = *(u64 *)(r10 - 8)
33 declare dso_local i32 @foo() #0
35 attributes #0 = { "bpf_fastcall" }