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

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

Issue 1481133002: Subzero. ARM32. Show FP lowering some love. (Closed) Base URL: https://chromium.googlesource.com/native_client/pnacl-subzero.git@master
Patch Set: Handles comments; git pull; fixes lit tests. Created 5 years 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 | « tests_lit/assembler/arm32/sandboxing.ll ('k') | tests_lit/llvm2ice_tests/arith.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 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 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
82 ; OPTM1: call {{.*}} R_{{.*}} ignore64BitArgNoInline 82 ; OPTM1: call {{.*}} R_{{.*}} ignore64BitArgNoInline
83 ; OPTM1: mov DWORD PTR [esp+0x4] 83 ; OPTM1: mov DWORD PTR [esp+0x4]
84 ; OPTM1: mov DWORD PTR [esp] 84 ; OPTM1: mov DWORD PTR [esp]
85 ; OPTM1: mov DWORD PTR [esp+0x8],0x7b 85 ; OPTM1: mov DWORD PTR [esp+0x8],0x7b
86 ; OPTM1: mov DWORD PTR [esp+0x10] 86 ; OPTM1: mov DWORD PTR [esp+0x10]
87 ; OPTM1: mov DWORD PTR [esp+0xc] 87 ; OPTM1: mov DWORD PTR [esp+0xc]
88 ; OPTM1: call {{.*}} R_{{.*}} ignore64BitArgNoInline 88 ; OPTM1: call {{.*}} R_{{.*}} ignore64BitArgNoInline
89 89
90 ; ARM32-LABEL: pass64BitArg 90 ; ARM32-LABEL: pass64BitArg
91 ; ARM32: str {{.*}}, [sp] 91 ; ARM32: str {{.*}}, [sp]
92 ; ARM32: movw r2, #123 92 ; ARM32: mov r2, #123
93 ; ARM32: bl {{.*}} ignore64BitArgNoInline 93 ; ARM32: bl {{.*}} ignore64BitArgNoInline
94 ; ARM32: str {{.*}}, [sp] 94 ; ARM32: str {{.*}}, [sp]
95 ; ARM32: {{mov|ldr}} r0 95 ; ARM32: {{mov|ldr}} r0
96 ; ARM32: {{mov|ldr}} r1 96 ; ARM32: {{mov|ldr}} r1
97 ; ARM32: movw r2, #123 97 ; ARM32: mov r2, #123
98 ; ARM32: bl {{.*}} ignore64BitArgNoInline 98 ; ARM32: bl {{.*}} ignore64BitArgNoInline
99 ; ARM32: str {{.*}}, [sp] 99 ; ARM32: str {{.*}}, [sp]
100 ; ARM32: {{mov|ldr}} r0 100 ; ARM32: {{mov|ldr}} r0
101 ; ARM32: {{mov|ldr}} r1 101 ; ARM32: {{mov|ldr}} r1
102 ; ARM32: movw r2, #123 102 ; ARM32: mov r2, #123
103 ; ARM32: bl {{.*}} ignore64BitArgNoInline 103 ; ARM32: bl {{.*}} ignore64BitArgNoInline
104 104
105 105
106 declare i32 @ignore64BitArgNoInline(i64, i32, i64) 106 declare i32 @ignore64BitArgNoInline(i64, i32, i64)
107 107
108 define internal i32 @pass64BitConstArg(i64 %a, i64 %b) { 108 define internal i32 @pass64BitConstArg(i64 %a, i64 %b) {
109 entry: 109 entry:
110 %call = call i32 @ignore64BitArgNoInline(i64 %b, i32 123, i64 -240105309230672 5256) 110 %call = call i32 @ignore64BitArgNoInline(i64 %b, i32 123, i64 -240105309230672 5256)
111 ret i32 %call 111 ret i32 %call
112 } 112 }
(...skipping 22 matching lines...) Expand all
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
139 ; ARM32: movw [[REG2:r.*]], {{.*}} ; 0x5678 139 ; ARM32: movw [[REG2:r.*]], {{.*}} ; 0x5678
140 ; ARM32: movt [[REG2]], {{.*}} ; 0x1234 140 ; ARM32: movt [[REG2]], {{.*}} ; 0x1234
141 ; ARM32: str [[REG1]], [sp, #4] 141 ; ARM32: str [[REG1]], [sp, #4]
142 ; ARM32: str [[REG2]], [sp] 142 ; ARM32: str [[REG2]], [sp]
143 ; ARM32: {{mov|ldr}} r0 143 ; ARM32: {{mov|ldr}} r0
144 ; ARM32: {{mov|ldr}} r1 144 ; ARM32: {{mov|ldr}} r1
145 ; ARM32: movw r2, #123 145 ; ARM32: mov r2, #123
146 ; ARM32: bl {{.*}} ignore64BitArgNoInline 146 ; ARM32: bl {{.*}} ignore64BitArgNoInline
147 147
148 define internal i32 @pass64BitUndefArg() { 148 define internal i32 @pass64BitUndefArg() {
149 entry: 149 entry:
150 %call = call i32 @ignore64BitArgNoInline(i64 0, i32 123, i64 undef) 150 %call = call i32 @ignore64BitArgNoInline(i64 0, i32 123, i64 undef)
151 ret i32 %call 151 ret i32 %call
152 } 152 }
153 ; CHECK-LABEL: pass64BitUndefArg 153 ; CHECK-LABEL: pass64BitUndefArg
154 ; CHECK: sub esp 154 ; CHECK: sub esp
155 ; CHECK: mov DWORD PTR{{.*}},0x7b 155 ; CHECK: mov DWORD PTR{{.*}},0x7b
156 ; CHECK: mov DWORD PTR{{.*}},0x0 156 ; CHECK: mov DWORD PTR{{.*}},0x0
157 ; CHECK: call {{.*}} R_{{.*}} ignore64BitArgNoInline 157 ; CHECK: call {{.*}} R_{{.*}} ignore64BitArgNoInline
158 ; OPTM1-LABEL: pass64BitUndefArg 158 ; OPTM1-LABEL: pass64BitUndefArg
159 ; OPTM1: sub esp 159 ; OPTM1: sub esp
160 ; OPTM1: mov DWORD PTR{{.*}},0x7b 160 ; OPTM1: mov DWORD PTR{{.*}},0x7b
161 ; OPTM1: mov DWORD PTR{{.*}},0x0 161 ; OPTM1: mov DWORD PTR{{.*}},0x0
162 ; OPTM1: call {{.*}} R_{{.*}} ignore64BitArgNoInline 162 ; OPTM1: call {{.*}} R_{{.*}} ignore64BitArgNoInline
163 ; ARM32-LABEL: pass64BitUndefArg 163 ; ARM32-LABEL: pass64BitUndefArg
164 ; ARM32: sub sp 164 ; ARM32: sub sp
165 ; ARM32: movw {{.*}}, #0 165 ; ARM32: mov {{.*}}, #0
166 ; ARM32: str 166 ; ARM32: str
167 ; ARM32: movw {{.*}}, #123 167 ; ARM32: mov {{.*}}, #123
168 ; ARM32: bl {{.*}} ignore64BitArgNoInline 168 ; ARM32: bl {{.*}} ignore64BitArgNoInline
169 169
170 define internal i64 @return64BitArg(i64 %padding, i64 %a) { 170 define internal i64 @return64BitArg(i64 %padding, i64 %a) {
171 entry: 171 entry:
172 ret i64 %a 172 ret i64 %a
173 } 173 }
174 ; CHECK-LABEL: return64BitArg 174 ; CHECK-LABEL: return64BitArg
175 ; CHECK: mov {{.*}},DWORD PTR [esp+0xc] 175 ; CHECK: mov {{.*}},DWORD PTR [esp+0xc]
176 ; CHECK: mov {{.*}},DWORD PTR [esp+0x10] 176 ; CHECK: mov {{.*}},DWORD PTR [esp+0x10]
177 ; 177 ;
(...skipping 1668 matching lines...) Expand 10 before | Expand all | Expand 10 after
1846 ; CHECK-LABEL: phi64Undef 1846 ; CHECK-LABEL: phi64Undef
1847 ; CHECK: mov {{.*}},0x0 1847 ; CHECK: mov {{.*}},0x0
1848 ; CHECK: mov {{.*}},0x0 1848 ; CHECK: mov {{.*}},0x0
1849 ; OPTM1-LABEL: phi64Undef 1849 ; OPTM1-LABEL: phi64Undef
1850 ; OPTM1: mov {{.*}},0x0 1850 ; OPTM1: mov {{.*}},0x0
1851 ; OPTM1: mov {{.*}},0x0 1851 ; OPTM1: mov {{.*}},0x0
1852 ; ARM32-LABEL: phi64Undef 1852 ; ARM32-LABEL: phi64Undef
1853 ; ARM32: mov {{.*}} #0 1853 ; ARM32: mov {{.*}} #0
1854 ; ARM32: mov {{.*}} #0 1854 ; ARM32: mov {{.*}} #0
1855 1855
OLDNEW
« no previous file with comments | « tests_lit/assembler/arm32/sandboxing.ll ('k') | tests_lit/llvm2ice_tests/arith.ll » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698