[InstCombine] Signed saturation patterns
[llvm-core.git] / test / CodeGen / AArch64 / arm64-ldst-unscaled-pre-post.mir
blobc7ae3fc975441b49705c5ce47a0548a99da69558
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
5 name: test_LDURSi_post
6 body: |
7   bb.0.entry:
8     liveins: $x0
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
16 name: test_LDURDi_post
17 body: |
18   bb.0.entry:
19     liveins: $x0
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
27 name: test_LDURQi_post
28 body: |
29   bb.0.entry:
30     liveins: $x0
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
38 name: test_LDURWi_post
39 body: |
40   bb.0.entry:
41     liveins: $x0
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
49 name: test_LDURXi_post
50 body: |
51   bb.0.entry:
52     liveins: $x0
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
60 name: test_STURSi_post
61 body: |
62   bb.0.entry:
63     liveins: $x0
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
72 name: test_STURDi_post
73 body: |
74   bb.0.entry:
75     liveins: $x0
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
84 name: test_STURQi_post
85 body: |
86   bb.0.entry:
87     liveins: $x0
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
96 name: test_STURWi_post
97 body: |
98   bb.0.entry:
99     liveins: $x0
101     STURWi $wzr, $x0, 0
102     $x0 = SUBXri $x0, 4, 0
103     RET_ReallyLR implicit $x0
105 # CHECK-LABEL: name: test_STURXi_post
106 # CHECK: STRXpost $xzr, $x0, -4
107 name: test_STURXi_post
108 body: |
109   bb.0.entry:
110     liveins: $x0
112     STURXi $xzr, $x0, 0
113     $x0 = SUBXri $x0, 4, 0
114     RET_ReallyLR implicit $x0