1# RUN: llc -mtriple=aarch64-none-linux-gnu -run-pass aarch64-ldst-opt  -verify-machineinstrs  -o - %s | FileCheck %s
2---
3# CHECK-LABEL: name: test_LDURSi_post
4# CHECK: LDRSpost $x0, -4
5name: test_LDURSi_post
6body: |
7  bb.0.entry:
8    liveins: $x0
9
10    $s0 = LDURSi $x0, 0
11    $x0 = SUBXri $x0, 4, 0
12    RET_ReallyLR implicit $x0
13...
14# CHECK-LABEL: name: test_LDURDi_post
15# CHECK: LDRDpost $x0, -4
16name: test_LDURDi_post
17body: |
18  bb.0.entry:
19    liveins: $x0
20
21    $d0 = LDURDi $x0, 0
22    $x0 = SUBXri $x0, 4, 0
23    RET_ReallyLR implicit $x0
24...
25# CHECK-LABEL: name: test_LDURQi_post
26# CHECK: LDRQpost $x0, -4
27name: test_LDURQi_post
28body: |
29  bb.0.entry:
30    liveins: $x0
31
32    $q0 = LDURQi  $x0, 0
33    $x0 = SUBXri $x0, 4, 0
34    RET_ReallyLR implicit $x0
35...
36# CHECK-LABEL: name: test_LDURWi_post
37# CHECK: LDRWpost $x0, -4
38name: test_LDURWi_post
39body: |
40  bb.0.entry:
41    liveins: $x0
42
43    $w1 = LDURWi $x0, 0
44    $x0 = SUBXri $x0, 4, 0
45    RET_ReallyLR implicit $x0
46...
47# CHECK-LABEL: name: test_LDURXi_post
48# CHECK: $x1 = LDRXpost $x0, -4
49name: test_LDURXi_post
50body: |
51  bb.0.entry:
52    liveins: $x0
53
54    $x1 = LDURXi $x0, 0
55    $x0 = SUBXri $x0, 4, 0
56    RET_ReallyLR implicit $x0
57...
58# CHECK-LABEL: name: test_STURSi_post
59# CHECK: STRSpost $s0, $x0, -4
60name: test_STURSi_post
61body: |
62  bb.0.entry:
63    liveins: $x0
64
65    $s0 = FMOVS0
66    STURSi $s0, $x0, 0
67    $x0 = SUBXri $x0, 4, 0
68    RET_ReallyLR implicit $x0
69...
70# CHECK-LABEL: name: test_STURDi_post
71# CHECK: STRDpost $d0, $x0, -4
72name: test_STURDi_post
73body: |
74  bb.0.entry:
75    liveins: $x0
76
77    $d0 = FMOVD0
78    STURDi $d0, $x0, 0
79    $x0 = SUBXri $x0, 4, 0
80    RET_ReallyLR implicit $x0
81...
82# CHECK-LABEL: name: test_STURQi_post
83# CHECK: STRQpost $q0, $x0, -4
84name: test_STURQi_post
85body: |
86  bb.0.entry:
87    liveins: $x0
88
89    $q0 = MOVIv4i32 0, 0
90    STURQi $q0, $x0, 0
91    $x0 = SUBXri $x0, 4, 0
92    RET_ReallyLR implicit $x0
93...
94# CHECK-LABEL: name: test_STURWi_post
95# CHECK: STRWpost $wzr, $x0, -4
96name: test_STURWi_post
97body: |
98  bb.0.entry:
99    liveins: $x0
100
101    STURWi $wzr, $x0, 0
102    $x0 = SUBXri $x0, 4, 0
103    RET_ReallyLR implicit $x0
104...
105# CHECK-LABEL: name: test_STURXi_post
106# CHECK: STRXpost $xzr, $x0, -4
107name: test_STURXi_post
108body: |
109  bb.0.entry:
110    liveins: $x0
111
112    STURXi $xzr, $x0, 0
113    $x0 = SUBXri $x0, 4, 0
114    RET_ReallyLR implicit $x0
115...
116