Revert " [LoongArch][ISel] Check the number of sign bits in `PatGprGpr_32` (#107432)"
[llvm-project.git] / llvm / test / CodeGen / AArch64 / framelayout-sve-basepointer.mir
blob26b7ca3bf8c07ddde7dcaea8cb45fb58f43d9571
1 # RUN: llc -mtriple=aarch64-none-linux-gnu -run-pass=prologepilog %s -o - | FileCheck %s
2 --- |
3     define void @hasBasepointer() #0 { ret void }
4     define void @hasBasepointer_sme_streaming() #1 { ret void }
6     attributes #0 = { "target-features"="+sve" }
7     attributes #1 = { "target-features"="+sme" "aarch64_pstate_sm_enabled" }
8 ...
9 ---
10 # This test verifies that the basepointer is available in presence of SVE stack objects.
11 name: hasBasepointer
12 # CHECK-LABEL: name: hasBasepointer
13 # CHECK: bb.0:
14 # CHECK:      $sp = frame-setup SUBXri $sp, 16, 0
15 # CHECK-NEXT: $sp = frame-setup ADDVL_XXI $sp, -1
16 # CHECK-NEXT: $x19 = ADDXri $sp, 0, 0
17 # CHECK:      STRXui $x0, $x19, 0
18 tracksRegLiveness: true
19 frameInfo:
20   isFrameAddressTaken: true
21 stack:
22   - { id: 0, type: variable-sized,  alignment: 1 }
23   - { id: 1, name: '', size: 16, alignment: 8 }
24   - { id: 2, stack-id: scalable-vector, size: 16, alignment: 16 }
25 body: |
26   bb.0:
27     liveins: $x0
28     STRXui $x0, %stack.1, 0
29     RET_ReallyLR
30 ...
31 ---
32 # Likewise with only SME with a streaming function.
33 name: hasBasepointer_sme_streaming
34 # CHECK-LABEL: name: hasBasepointer_sme_streaming
35 # CHECK: bb.0:
36 # CHECK:      $sp = frame-setup SUBXri $sp, 16, 0
37 # CHECK-NEXT: $sp = frame-setup ADDVL_XXI $sp, -1
38 # CHECK-NEXT: $x19 = ADDXri $sp, 0, 0
39 # CHECK:      STRXui $x0, $x19, 0
40 tracksRegLiveness: true
41 frameInfo:
42   isFrameAddressTaken: true
43 stack:
44   - { id: 0, type: variable-sized,  alignment: 1 }
45   - { id: 1, name: '', size: 16, alignment: 8 }
46   - { id: 2, stack-id: scalable-vector, size: 16, alignment: 16 }
47 body: |
48   bb.0:
49     liveins: $x0
50     STRXui $x0, %stack.1, 0
51     RET_ReallyLR
52 ...