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

Side by Side Diff: tests_lit/llvm2ice_tests/callindirect.pnacl.ll

Issue 1559243002: Suzero. X8664. NaCl Sandboxing. (Closed) Base URL: https://chromium.googlesource.com/native_client/pnacl-subzero.git@master
Patch Set: make format 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
OLDNEW
1 ; Test of multiple indirect calls to the same target. Each call 1 ; Test of multiple indirect calls to the same target. Each call
2 ; should be to the same operand, whether it's in a register or on the 2 ; should be to the same operand, whether it's in a register or on the
3 ; stack. 3 ; stack.
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 \ 6 ; RUN: --target x8632 -i %s --args -O2 \
7 ; RUN: | %if --need=target_X8632 --command FileCheck %s 7 ; RUN: | %if --need=target_X8632 --command FileCheck %s
8 ; RUN: %if --need=allow_dump --need=target_X8632 --command %p2i --filetype=asm \ 8 ; RUN: %if --need=allow_dump --need=target_X8632 --command %p2i --filetype=asm \
9 ; RUN: --assemble --disassemble -i %s --args -O2 \ 9 ; RUN: --assemble --disassemble -i %s --args -O2 \
10 ; RUN: | %if --need=allow_dump --need=target_X8632 --command FileCheck %s 10 ; RUN: | %if --need=allow_dump --need=target_X8632 --command FileCheck %s
11 ; RUN: %if --need=target_X8632 --command %p2i --filetype=obj --disassemble \ 11 ; RUN: %if --need=target_X8632 --command %p2i --filetype=obj --disassemble \
12 ; RUN: --target x8632 -i %s --args -Om1 \ 12 ; RUN: --target x8632 -i %s --args -Om1 \
13 ; RUN: | %if --need=target_X8632 --command FileCheck --check-prefix=OPTM1 %s 13 ; RUN: | %if --need=target_X8632 --command FileCheck --check-prefix=OPTM1 %s
14 14
15 ; RUN: %if --need=target_X8664 --command %p2i --filetype=obj --disassemble \
16 ; RUN: --target x8664 -i %s --args -O2 \
17 ; RUN: | %if --need=target_X8664 --command FileCheck --check-prefix X8664 %s
18 ; RUN: %if --need=allow_dump --need=target_X8664 --command %p2i --filetype=asm \
19 ; RUN: --assemble --disassemble -i %s --args -O2 \
20 ; RUN: | %if --need=allow_dump --need=target_X8664 \
21 ; RUN: --command FileCheck --check-prefix=X8664 %s
22 ; RUN: %if --need=target_X8664 --command %p2i --filetype=obj --disassemble \
23 ; RUN: --target x8664 -i %s --args -Om1 \
24 ; RUN: | %if --need=target_X8664 \
25 ; RUN: --command FileCheck --check-prefix=X8664-OPTM1 %s
26
15 ; TODO(jvoung): Stop skipping unimplemented parts (via --skip-unimplemented) 27 ; TODO(jvoung): Stop skipping unimplemented parts (via --skip-unimplemented)
16 ; once enough infrastructure is in. Also, switch to --filetype=obj 28 ; once enough infrastructure is in. Also, switch to --filetype=obj
17 ; when possible. 29 ; when possible.
18 ; RUN: %if --need=target_ARM32 --need=allow_dump \ 30 ; RUN: %if --need=target_ARM32 --need=allow_dump \
19 ; RUN: --command %p2i --filetype=asm --assemble \ 31 ; RUN: --command %p2i --filetype=asm --assemble \
20 ; RUN: --disassemble --target arm32 -i %s --args -O2 --skip-unimplemented \ 32 ; RUN: --disassemble --target arm32 -i %s --args -O2 --skip-unimplemented \
21 ; RUN: | %if --need=target_ARM32 --need=allow_dump \ 33 ; RUN: | %if --need=target_ARM32 --need=allow_dump \
22 ; RUN: --command FileCheck --check-prefix ARM32 %s 34 ; RUN: --command FileCheck --check-prefix ARM32 %s
23 ; RUN: %if --need=target_ARM32 --need=allow_dump \ 35 ; RUN: %if --need=target_ARM32 --need=allow_dump \
24 ; RUN: --command %p2i --filetype=asm --assemble \ 36 ; RUN: --command %p2i --filetype=asm --assemble \
(...skipping 23 matching lines...) Expand all
48 ; CHECK: call [[REGISTER]] 60 ; CHECK: call [[REGISTER]]
49 ; CHECK: call [[REGISTER]] 61 ; CHECK: call [[REGISTER]]
50 ; 62 ;
51 ; OPTM1-LABEL: CallIndirect 63 ; OPTM1-LABEL: CallIndirect
52 ; OPTM1: call [[TARGET:.+]] 64 ; OPTM1: call [[TARGET:.+]]
53 ; OPTM1: call [[TARGET]] 65 ; OPTM1: call [[TARGET]]
54 ; OPTM1: call [[TARGET]] 66 ; OPTM1: call [[TARGET]]
55 ; OPTM1: call [[TARGET]] 67 ; OPTM1: call [[TARGET]]
56 ; OPTM1: call [[TARGET]] 68 ; OPTM1: call [[TARGET]]
57 ; 69 ;
70 ; X8664-LABEL: CallIndirect
Jim Stichnoth 2016/01/13 18:28:27 Why bother with these two RUN configs if all you'r
John 2016/01/13 20:48:03 Because I was going to enable these for x86-64
71 ;
72 ; X8664-OPTM1-LABEL: CallIndirect
73 ;
58 ; ARM32-LABEL: CallIndirect 74 ; ARM32-LABEL: CallIndirect
59 ; ARM32: blx [[REGISTER:r.*]] 75 ; ARM32: blx [[REGISTER:r.*]]
60 ; ARM32: blx [[REGISTER]] 76 ; ARM32: blx [[REGISTER]]
61 ; ARM32: blx [[REGISTER]] 77 ; ARM32: blx [[REGISTER]]
62 ; ARM32: blx [[REGISTER]] 78 ; ARM32: blx [[REGISTER]]
63 ; ARM32: blx [[REGISTER]] 79 ; ARM32: blx [[REGISTER]]
64 80
65 81
66 @fp_v = internal global [4 x i8] zeroinitializer, align 4 82 @fp_v = internal global [4 x i8] zeroinitializer, align 4
67 83
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
119 ; OPTM1: e8 bc 03 01 00 call {{[0-9a-f]+}} {{.*}} R_386_PC32 *ABS* 135 ; OPTM1: e8 bc 03 01 00 call {{[0-9a-f]+}} {{.*}} R_386_PC32 *ABS*
120 ; 136 ;
121 ; ARM32-LABEL: CallConst 137 ; ARM32-LABEL: CallConst
122 ; ARM32: movw [[REGISTER:r.*]], #960 138 ; ARM32: movw [[REGISTER:r.*]], #960
123 ; ARM32: movt [[REGISTER]], #1 139 ; ARM32: movt [[REGISTER]], #1
124 ; ARM32: blx [[REGISTER]] 140 ; ARM32: blx [[REGISTER]]
125 ; The legalization of the constant could be shared, but it isn't. 141 ; The legalization of the constant could be shared, but it isn't.
126 ; ARM32: movw [[REGISTER:r.*]], #960 142 ; ARM32: movw [[REGISTER:r.*]], #960
127 ; ARM32: blx [[REGISTER]] 143 ; ARM32: blx [[REGISTER]]
128 ; ARM32: blx [[REGISTER]] 144 ; ARM32: blx [[REGISTER]]
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698