[ARM] More MVE compare vector splat combines for ANDs
[llvm-complete.git] / test / CodeGen / MIR / AArch64 / return-address-signing.mir
blob1489c6775677a37b1b96b7fe196d27e42aea0994
1 # RUN: llc -mtriple=aarch64-arm-none-eabi -run-pass=prologepilog -o - %s 2>&1 | FileCheck %s
2 --- |
3   target datalayout = "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128"
4   target triple = "aarch64-arm-none-eabi"
6   define dso_local i32 @foo() "sign-return-address"="all" "sign-return-address-key"="a_key" {
7   entry:
8     ret i32 2
9   }
11   define dso_local i32 @bar() "sign-return-address"="all" "sign-return-address-key"="b_key" {
12   entry:
13     ret i32 2
14   }
15 ...
16 ---
17 #CHECK: foo
18 name:            foo
19 alignment:       2
20 tracksRegLiveness: true
21 frameInfo:
22   maxCallFrameSize: 0
23 #CHECK:    frame-setup PACIASP implicit-def $lr, implicit $lr, implicit $sp
24 #CHECK:    frame-setup CFI_INSTRUCTION negate_ra_sign_state
25 #CHECK:    frame-destroy AUTIASP implicit-def $lr, implicit $lr, implicit $sp
26 body:             |
27   bb.0.entry:
28     $w0 = MOVi32imm 2
29     RET_ReallyLR implicit killed $w0
31 ...
32 ---
33 #CHECK: bar
34 name:            bar
35 alignment:       2
36 tracksRegLiveness: true
37 frameInfo:
38   maxCallFrameSize: 0
39 #CHECK:    frame-setup EMITBKEY
40 #CHECK:    frame-setup PACIBSP implicit-def $lr, implicit $lr, implicit $sp
41 #CHECK:    frame-setup CFI_INSTRUCTION negate_ra_sign_state
42 #CHECK:    frame-destroy AUTIBSP implicit-def $lr, implicit $lr, implicit $sp
43 body:             |
44   bb.0.entry:
45     $w0 = MOVi32imm 2
46     RET_ReallyLR implicit killed $w0
48 ...