Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(64)

Side by Side Diff: tests_lit/llvm2ice_tests/alloc.ll

Issue 1159013002: Subzero ARM: addProlog/addEpilogue -- share some code with x86. (Closed) Base URL: https://chromium.googlesource.com/native_client/pnacl-subzero.git@master
Patch Set: typo Created 5 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/IceTargetLoweringX8632.cpp ('k') | tests_lit/llvm2ice_tests/branch-opt.ll » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 ; This is a basic test of the alloca instruction. 1 ; This is a basic test of the alloca instruction.
2 2
3 ; RUN: %if --need=target_X8632 --command %p2i --filetype=obj --disassemble \ 3 ; RUN: %if --need=target_X8632 --command %p2i --filetype=obj --disassemble \
4 ; RUN: --target x8632 -i %s --args -O2 \ 4 ; RUN: --target x8632 -i %s --args -O2 \
5 ; RUN: | %if --need=target_X8632 --command FileCheck %s 5 ; RUN: | %if --need=target_X8632 --command FileCheck %s
6 6
7 ; RUN: %if --need=target_X8632 --command %p2i --filetype=obj --disassemble \ 7 ; RUN: %if --need=target_X8632 --command %p2i --filetype=obj --disassemble \
8 ; RUN: --target x8632 -i %s --args -Om1 \ 8 ; RUN: --target x8632 -i %s --args -Om1 \
9 ; RUN: | %if --need=target_X8632 --command FileCheck %s 9 ; RUN: | %if --need=target_X8632 --command FileCheck %s
10 10
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after
120 120
121 define void @variable_n_align_32(i32 %n) { 121 define void @variable_n_align_32(i32 %n) {
122 entry: 122 entry:
123 %array = alloca i8, i32 %n, align 32 123 %array = alloca i8, i32 %n, align 32
124 %__2 = ptrtoint i8* %array to i32 124 %__2 = ptrtoint i8* %array to i32
125 call void @f2(i32 %__2) 125 call void @f2(i32 %__2)
126 ret void 126 ret void
127 } 127 }
128 ; In -O2, the order of the CHECK-DAG lines in the output is switched. 128 ; In -O2, the order of the CHECK-DAG lines in the output is switched.
129 ; CHECK-LABEL: variable_n_align_32 129 ; CHECK-LABEL: variable_n_align_32
130 ; CHECK: push ebp
131 ; CHECK: mov ebp,esp
130 ; CHECK-DAG: and esp,0xffffffe0 132 ; CHECK-DAG: and esp,0xffffffe0
131 ; CHECK-DAG: mov eax,DWORD PTR [ebp+0x8] 133 ; CHECK-DAG: mov eax,DWORD PTR [ebp+0x8]
132 ; CHECK: add eax,0x1f 134 ; CHECK: add eax,0x1f
133 ; CHECK: and eax,0xffffffe0 135 ; CHECK: and eax,0xffffffe0
134 ; CHECK: sub esp,eax 136 ; CHECK: sub esp,eax
135 ; CHECK: sub esp,0x10 137 ; CHECK: sub esp,0x10
136 ; CHECK: mov DWORD PTR [esp],eax 138 ; CHECK: mov DWORD PTR [esp],eax
137 ; CHECK: call {{.*}} R_{{.*}} f2 139 ; CHECK: call {{.*}} R_{{.*}} f2
140 ; CHECK: mov esp,ebp
141 ; CHECK: pop ebp
138 142
139 ; ARM32-LABEL: variable_n_align_32 143 ; ARM32-LABEL: variable_n_align_32
144 ; ARM32: push {fp, lr}
145 ; ARM32: mov fp, sp
140 ; ARM32: bic sp, sp, #31 146 ; ARM32: bic sp, sp, #31
141 ; ARM32: add r0, r0, #31 147 ; ARM32: add r0, r0, #31
142 ; ARM32: bic r0, r0, #31 148 ; ARM32: bic r0, r0, #31
143 ; ARM32: sub sp, sp, r0 149 ; ARM32: sub sp, sp, r0
144 ; ARM32: bl {{.*}} R_{{.*}} f2 150 ; ARM32: bl {{.*}} R_{{.*}} f2
151 ; ARM32: mov sp, fp
152 ; ARM32: pop {fp, lr}
145 153
146 ; Test alloca with default (0) alignment. 154 ; Test alloca with default (0) alignment.
147 define void @align0(i32 %n) { 155 define void @align0(i32 %n) {
148 entry: 156 entry:
149 %array = alloca i8, i32 %n 157 %array = alloca i8, i32 %n
150 %__2 = ptrtoint i8* %array to i32 158 %__2 = ptrtoint i8* %array to i32
151 call void @f2(i32 %__2) 159 call void @f2(i32 %__2)
152 ret void 160 ret void
153 } 161 }
154 ; CHECK-LABEL: align0 162 ; CHECK-LABEL: align0
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
202 ; CHECK: add [[REG:.*]],0x1fffffff 210 ; CHECK: add [[REG:.*]],0x1fffffff
203 ; CHECK: and [[REG]],0xe0000000 211 ; CHECK: and [[REG]],0xe0000000
204 ; CHECK: sub esp,[[REG]] 212 ; CHECK: sub esp,[[REG]]
205 213
206 ; ARM32-LABEL: align512MB 214 ; ARM32-LABEL: align512MB
207 ; ARM32: and sp, sp, #-536870912 ; 0xe0000000 215 ; ARM32: and sp, sp, #-536870912 ; 0xe0000000
208 ; ARM32: mvn [[REG:.*]], #-536870912 ; 0xe0000000 216 ; ARM32: mvn [[REG:.*]], #-536870912 ; 0xe0000000
209 ; ARM32: add r0, r0, [[REG]] 217 ; ARM32: add r0, r0, [[REG]]
210 ; ARM32: and r0, r0, #-536870912 ; 0xe0000000 218 ; ARM32: and r0, r0, #-536870912 ; 0xe0000000
211 ; ARM32: sub sp, sp, r0 219 ; ARM32: sub sp, sp, r0
OLDNEW
« no previous file with comments | « src/IceTargetLoweringX8632.cpp ('k') | tests_lit/llvm2ice_tests/branch-opt.ll » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698