[ARM] More MVE compare vector splat combines for ANDs
[llvm-complete.git] / test / CodeGen / AArch64 / xray-tail-call-sled.ll
blobf966362b805e87745c6a4ca49e8b13c8f5a63f63
1 ; RUN: llc -filetype=asm -o - -mtriple=aarch64-linux-gnu < %s | FileCheck %s\r
2 \r
3 define i32 @callee() nounwind noinline uwtable "function-instrument"="xray-always" {\r
4 ; CHECK:       .p2align 2\r
5 ; CHECK-LABEL: .Lxray_sled_0:\r
6 ; CHECK-NEXT:  b        #32\r
7 ; CHECK-NEXT:  nop\r
8 ; CHECK-NEXT:  nop\r
9 ; CHECK-NEXT:  nop\r
10 ; CHECK-NEXT:  nop\r
11 ; CHECK-NEXT:  nop\r
12 ; CHECK-NEXT:  nop\r
13 ; CHECK-NEXT:  nop\r
14 ; CHECK-LABEL: .Ltmp0:\r
15   ret i32 0\r
16 ; CHECK-NEXT:  mov      w0, wzr\r
17 ; CHECK-NEXT:  .p2align 2\r
18 ; CHECK-LABEL: .Lxray_sled_1:\r
19 ; CHECK-NEXT:  b        #32\r
20 ; CHECK-NEXT:  nop\r
21 ; CHECK-NEXT:  nop\r
22 ; CHECK-NEXT:  nop\r
23 ; CHECK-NEXT:  nop\r
24 ; CHECK-NEXT:  nop\r
25 ; CHECK-NEXT:  nop\r
26 ; CHECK-NEXT:  nop\r
27 ; CHECK-LABEL: .Ltmp1:\r
28 ; CHECK-NEXT:  ret\r
29 }\r
30 ; CHECK-LABEL: xray_instr_map\r
31 ; CHECK-LABEL: Lxray_sleds_start0:\r
32 ; CHECK:       .xword .Lxray_sled_0\r
33 ; CHECK:       .xword .Lxray_sled_1\r
34 ; CHECK-LABEL: Lxray_sleds_end0:\r
35 ; CHECK-LABEL: xray_fn_idx\r
36 ; CHECK:       .xword .Lxray_sleds_start0\r
37 ; CHECK-NEXT:  .xword .Lxray_sleds_end0\r
39 define i32 @caller() nounwind noinline uwtable "function-instrument"="xray-always" {\r
40 ; CHECK:       .p2align 2\r
41 ; CHECK-LABEL: Lxray_sled_2:\r
42 ; CHECK-NEXT:  b        #32\r
43 ; CHECK-NEXT:  nop\r
44 ; CHECK-NEXT:  nop\r
45 ; CHECK-NEXT:  nop\r
46 ; CHECK-NEXT:  nop\r
47 ; CHECK-NEXT:  nop\r
48 ; CHECK-NEXT:  nop\r
49 ; CHECK-NEXT:  nop\r
50 ; CHECK-LABEL: .Ltmp2:\r
51 ; CHECK:       .p2align 2\r
52 ; CHECK-LABEL: Lxray_sled_3:\r
53 ; CHECK-NEXT:  b        #32\r
54 ; CHECK-NEXT:  nop\r
55 ; CHECK-NEXT:  nop\r
56 ; CHECK-NEXT:  nop\r
57 ; CHECK-NEXT:  nop\r
58 ; CHECK-NEXT:  nop\r
59 ; CHECK-NEXT:  nop\r
60 ; CHECK-NEXT:  nop\r
61 ; CHECK-LABEL: .Ltmp3:\r
62   %retval = tail call i32 @callee()\r
63 ; CHECK:       b        callee\r
64   ret i32 %retval\r
65 }\r
66 ; CHECK-LABEL: xray_instr_map\r
67 ; CHECK-LABEL: Lxray_sleds_start1:\r
68 ; CHECK:       .xword .Lxray_sled_2\r
69 ; CHECK:       .xword .Lxray_sled_3\r
70 ; CHECK-LABEL: Lxray_sleds_end1:\r
71 ; CHECK:       .section xray_fn_idx,{{.*}}\r
72 ; CHECK:       .xword .Lxray_sleds_start1\r
73 ; CHECK-NEXT:  .xword .Lxray_sleds_end1\r