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

Side by Side Diff: tests_lit/llvm2ice_tests/64bit.pnacl.ll

Issue 1641653004: Subzero: Make the register allocator more robust with -reg-use and -reg-exclude. (Closed) Base URL: https://chromium.googlesource.com/native_client/pnacl-subzero.git@master
Patch Set: Test code accidentally left in Created 4 years, 11 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/IceTargetLoweringX86BaseImpl.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 ; This tries to be a comprehensive test of i64 operations, in 1 ; This tries to be a comprehensive test of i64 operations, in
2 ; particular the patterns for lowering i64 operations into constituent 2 ; particular the patterns for lowering i64 operations into constituent
3 ; i32 operations on x86-32. 3 ; i32 operations on x86-32.
4 4
5 ; RUN: %if --need=target_X8632 --command %p2i --filetype=obj --disassemble \ 5 ; RUN: %if --need=target_X8632 --command %p2i --filetype=obj --disassemble \
6 ; RUN: --target x8632 -i %s --args -O2 -allow-externally-defined-symbols \ 6 ; RUN: --target x8632 -i %s --args -O2 -allow-externally-defined-symbols \
7 ; RUN: | %if --need=target_X8632 --command FileCheck %s 7 ; RUN: | %if --need=target_X8632 --command FileCheck %s
8 8
9 ; RUN: %if --need=target_X8632 --command %p2i --filetype=obj --disassemble \ 9 ; RUN: %if --need=target_X8632 --command %p2i --filetype=obj --disassemble \
10 ; RUN: --target x8632 -i %s --args -Om1 -allow-externally-defined-symbols \ 10 ; RUN: --target x8632 -i %s --args -Om1 -allow-externally-defined-symbols \
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after
118 ; Bundle padding might be added (so not using -NEXT). 118 ; Bundle padding might be added (so not using -NEXT).
119 ; CHECK: mov DWORD PTR [esp+0x10],0xdeadbeef 119 ; CHECK: mov DWORD PTR [esp+0x10],0xdeadbeef
120 ; CHECK-NEXT: mov DWORD PTR [esp+0xc],0x12345678 120 ; CHECK-NEXT: mov DWORD PTR [esp+0xc],0x12345678
121 ; Bundle padding will push the call down. 121 ; Bundle padding will push the call down.
122 ; CHECK-NOT: mov 122 ; CHECK-NOT: mov
123 ; CHECK: call {{.*}} R_{{.*}} ignore64BitArgNoInline 123 ; CHECK: call {{.*}} R_{{.*}} ignore64BitArgNoInline
124 ; 124 ;
125 ; OPTM1-LABEL: pass64BitConstArg 125 ; OPTM1-LABEL: pass64BitConstArg
126 ; OPTM1: sub esp 126 ; OPTM1: sub esp
127 ; OPTM1: mov DWORD PTR [esp+0x4] 127 ; OPTM1: mov DWORD PTR [esp+0x4]
128 ; OPTM1-NEXT: mov DWORD PTR [esp] 128 ; OPTM1: mov DWORD PTR [esp]
129 ; OPTM1-NEXT: mov DWORD PTR [esp+0x8],0x7b 129 ; OPTM1-NEXT: mov DWORD PTR [esp+0x8],0x7b
130 ; Bundle padding might be added (so not using -NEXT). 130 ; Bundle padding might be added (so not using -NEXT).
131 ; OPTM1: mov DWORD PTR [esp+0x10],0xdeadbeef 131 ; OPTM1: mov DWORD PTR [esp+0x10],0xdeadbeef
132 ; OPTM1-NEXT: mov DWORD PTR [esp+0xc],0x12345678 132 ; OPTM1-NEXT: mov DWORD PTR [esp+0xc],0x12345678
133 ; OPTM1-NOT: mov 133 ; OPTM1-NOT: mov
134 ; OPTM1: call {{.*}} R_{{.*}} ignore64BitArgNoInline 134 ; OPTM1: call {{.*}} R_{{.*}} ignore64BitArgNoInline
135 135
136 ; ARM32-LABEL: pass64BitConstArg 136 ; ARM32-LABEL: pass64BitConstArg
137 ; ARM32: movw [[REG1:r.*]], {{.*}} ; 0xbeef 137 ; ARM32: movw [[REG1:r.*]], {{.*}} ; 0xbeef
138 ; ARM32: movt [[REG1]], {{.*}} ; 0xdead 138 ; ARM32: movt [[REG1]], {{.*}} ; 0xdead
(...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after
270 ; ARM32: subs 270 ; ARM32: subs
271 ; ARM32: sbc 271 ; ARM32: sbc
272 272
273 define internal i64 @mul64BitSigned(i64 %a, i64 %b) { 273 define internal i64 @mul64BitSigned(i64 %a, i64 %b) {
274 entry: 274 entry:
275 %mul = mul i64 %b, %a 275 %mul = mul i64 %b, %a
276 ret i64 %mul 276 ret i64 %mul
277 } 277 }
278 ; CHECK-LABEL: mul64BitSigned 278 ; CHECK-LABEL: mul64BitSigned
279 ; CHECK: imul 279 ; CHECK: imul
280 ; CHECK: imul
281 ; CHECK: mul 280 ; CHECK: mul
282 ; CHECK: add 281 ; CHECK: add
282 ; CHECK: imul
283 ; CHECK: add 283 ; CHECK: add
284 ; 284 ;
285 ; OPTM1-LABEL: mul64BitSigned 285 ; OPTM1-LABEL: mul64BitSigned
286 ; OPTM1: imul 286 ; OPTM1: imul
287 ; OPTM1: imul
288 ; OPTM1: mul 287 ; OPTM1: mul
289 ; OPTM1: add 288 ; OPTM1: add
289 ; OPTM1: imul
290 ; OPTM1: add 290 ; OPTM1: add
291 291
292 ; ARM32-LABEL: mul64BitSigned 292 ; ARM32-LABEL: mul64BitSigned
293 ; ARM32: mul 293 ; ARM32: mul
294 ; ARM32: mla 294 ; ARM32: mla
295 ; ARM32: umull 295 ; ARM32: umull
296 ; ARM32: add 296 ; ARM32: add
297 297
298 define internal i64 @mul64BitUnsigned(i64 %a, i64 %b) { 298 define internal i64 @mul64BitUnsigned(i64 %a, i64 %b) {
299 entry: 299 entry:
300 %mul = mul i64 %b, %a 300 %mul = mul i64 %b, %a
301 ret i64 %mul 301 ret i64 %mul
302 } 302 }
303 ; CHECK-LABEL: mul64BitUnsigned 303 ; CHECK-LABEL: mul64BitUnsigned
304 ; CHECK: imul 304 ; CHECK: imul
305 ; CHECK: imul
306 ; CHECK: mul 305 ; CHECK: mul
307 ; CHECK: add 306 ; CHECK: add
307 ; CHECK: imul
308 ; CHECK: add 308 ; CHECK: add
309 ; 309 ;
310 ; OPTM1-LABEL: mul64BitUnsigned 310 ; OPTM1-LABEL: mul64BitUnsigned
311 ; OPTM1: imul 311 ; OPTM1: imul
312 ; OPTM1: imul
313 ; OPTM1: mul 312 ; OPTM1: mul
314 ; OPTM1: add 313 ; OPTM1: add
314 ; OPTM1: imul
315 ; OPTM1: add 315 ; OPTM1: add
316 316
317 ; ARM32-LABEL: mul64BitUnsigned 317 ; ARM32-LABEL: mul64BitUnsigned
318 ; ARM32: mul 318 ; ARM32: mul
319 ; ARM32: mla 319 ; ARM32: mla
320 ; ARM32: umull 320 ; ARM32: umull
321 ; ARM32: add 321 ; ARM32: add
322 322
323 define internal i64 @div64BitSigned(i64 %a, i64 %b) { 323 define internal i64 @div64BitSigned(i64 %a, i64 %b) {
324 entry: 324 entry:
(...skipping 1527 matching lines...) Expand 10 before | Expand all | Expand 10 after
1852 ; CHECK-LABEL: phi64Undef 1852 ; CHECK-LABEL: phi64Undef
1853 ; CHECK: mov {{.*}},0x0 1853 ; CHECK: mov {{.*}},0x0
1854 ; CHECK: mov {{.*}},0x0 1854 ; CHECK: mov {{.*}},0x0
1855 ; OPTM1-LABEL: phi64Undef 1855 ; OPTM1-LABEL: phi64Undef
1856 ; OPTM1: mov {{.*}},0x0 1856 ; OPTM1: mov {{.*}},0x0
1857 ; OPTM1: mov {{.*}},0x0 1857 ; OPTM1: mov {{.*}},0x0
1858 ; ARM32-LABEL: phi64Undef 1858 ; ARM32-LABEL: phi64Undef
1859 ; ARM32: mov {{.*}} #0 1859 ; ARM32: mov {{.*}} #0
1860 ; ARM32: mov {{.*}} #0 1860 ; ARM32: mov {{.*}} #0
1861 1861
OLDNEW
« no previous file with comments | « src/IceTargetLoweringX86BaseImpl.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698