|
40 | 40 | define aarch64_sve_vector_pcs void @save_restore_sve() { entry: unreachable }
|
41 | 41 | define aarch64_sve_vector_pcs void @save_restore_sve_realign() { entry: unreachable }
|
42 | 42 | define aarch64_sve_vector_pcs void @frame_layout() { entry: unreachable }
|
| 43 | + define void @fp_relative_index_with_float_save() { entry: unreachable } |
43 | 44 |
|
44 | 45 | ...
|
45 | 46 | # +----------+
|
@@ -779,3 +780,37 @@ body: |
|
779 | 780 | RET_ReallyLR
|
780 | 781 |
|
781 | 782 | ---
|
| 783 | +# Make sure we account for the offset between the fp and the sve area, if it exists. |
| 784 | +# FIXME: Should there be an offset? |
| 785 | +# CHECK-LABEL: name: fp_relative_index_with_float_save |
| 786 | +# CHECK: - { id: 0, name: '', type: default, offset: -16, size: 16, alignment: 16, |
| 787 | +# CHECK-NEXT: stack-id: sve-vec |
| 788 | +# CHECK: - { id: 1, name: '', type: default, offset: -64, size: 16, alignment: 32, |
| 789 | +# CHECK-NEXT: stack-id: default |
| 790 | +# CHECK: - { id: 2, name: '', type: spill-slot, offset: -8, size: 8, alignment: 8, |
| 791 | +# CHECK-NEXT: stack-id: default, callee-saved-register: '$lr' |
| 792 | +# CHECK: - { id: 3, name: '', type: spill-slot, offset: -16, size: 8, alignment: 8, |
| 793 | +# CHECK-NEXT: stack-id: default, callee-saved-register: '$fp' |
| 794 | +# CHECK: - { id: 4, name: '', type: spill-slot, offset: -32, size: 8, alignment: 16, |
| 795 | +# CHECK-NEXT: stack-id: default, callee-saved-register: '$d8' |
| 796 | + |
| 797 | +# CHECK: $x8 = SUBXri $fp, 16, 0 |
| 798 | +# CHECK: STR_ZXI $z0, killed $x8, -1 |
| 799 | + |
| 800 | +name: fp_relative_index_with_float_save |
| 801 | +stack: |
| 802 | + - { id: 0, stack-id: sve-vec, size: 16, alignment: 16 } |
| 803 | + - { id: 1, stack-id: default, size: 16, alignment: 32 } |
| 804 | +frameInfo: |
| 805 | + maxAlignment: 16 |
| 806 | + isFrameAddressTaken: true |
| 807 | +body: | |
| 808 | + bb.0.entry: |
| 809 | + liveins: $z0 |
| 810 | +
|
| 811 | + $d8 = IMPLICIT_DEF |
| 812 | +
|
| 813 | + STR_ZXI $z0, %stack.0, 0 |
| 814 | +
|
| 815 | + RET_ReallyLR |
| 816 | +--- |
0 commit comments