Commit d0a34ef
Convert LShr+And pattern to EE for later promotion to mov/region.
From:
%28 = and i32 %24, 255
%29 = lshr i32 %24, 8
%30 = and i32 %29, 255
%res1 = mul nuw nsw i32 %28, 9798
%res2 = mul nuw nsw i32 %30, 19235
...
shr (16|M0) r32.0<1>:d r16.0<8;8,1>:ud 8:w
and (16|M0) r32.0<1>:d r32.0<8;8,1>:d 255:w
mul (16|M0) r32.0<1>:d r32.0<8;8,1>:d 19235:w
To:
%temp = bitcast i32 %24 to <4 x i8>
%ee1 = extractelement <4 x i8> %temp, i32 0
%ee2 = extractelement <4 x i8> %temp, i32 1
%28 = zext i8 %ee1 to i32
%30 = zext i8 %ee2 to i32
...
mul (16|M0) r32.0<1>:d r16.1<4;1,0>:ub 19235:w
And similar pattern:
From:
%shl = shl i32 %129, 16
%132 = ashr exact i32 %shl, 16
%133 = ashr i32 %129, 16
To:
%temp = bitcast i32 %129 to <2 x i16>
%ee1 = extractelement <2 x i16> %temp, i32 0
%ee2 = extractelement <2 x i16> %temp, i32 1
%132 = sext i8 %ee1 to i32
%133 = sext i8 %ee2 to i32
Change-Id: Ia8b09bdd07ee4cc72004539ea88f0a1e27d3e7961 parent 342359b commit d0a34ef
2 files changed
+108
-0
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2273 | 2273 | | |
2274 | 2274 | | |
2275 | 2275 | | |
| 2276 | + | |
| 2277 | + | |
| 2278 | + | |
| 2279 | + | |
| 2280 | + | |
| 2281 | + | |
| 2282 | + | |
| 2283 | + | |
| 2284 | + | |
| 2285 | + | |
| 2286 | + | |
| 2287 | + | |
| 2288 | + | |
| 2289 | + | |
| 2290 | + | |
| 2291 | + | |
| 2292 | + | |
| 2293 | + | |
| 2294 | + | |
| 2295 | + | |
| 2296 | + | |
| 2297 | + | |
| 2298 | + | |
| 2299 | + | |
| 2300 | + | |
| 2301 | + | |
| 2302 | + | |
| 2303 | + | |
| 2304 | + | |
| 2305 | + | |
| 2306 | + | |
| 2307 | + | |
| 2308 | + | |
| 2309 | + | |
| 2310 | + | |
| 2311 | + | |
| 2312 | + | |
| 2313 | + | |
| 2314 | + | |
| 2315 | + | |
| 2316 | + | |
| 2317 | + | |
| 2318 | + | |
| 2319 | + | |
| 2320 | + | |
| 2321 | + | |
| 2322 | + | |
| 2323 | + | |
| 2324 | + | |
| 2325 | + | |
| 2326 | + | |
| 2327 | + | |
| 2328 | + | |
| 2329 | + | |
| 2330 | + | |
| 2331 | + | |
| 2332 | + | |
2276 | 2333 | | |
| 2334 | + | |
| 2335 | + | |
| 2336 | + | |
| 2337 | + | |
| 2338 | + | |
| 2339 | + | |
| 2340 | + | |
| 2341 | + | |
| 2342 | + | |
| 2343 | + | |
| 2344 | + | |
| 2345 | + | |
| 2346 | + | |
| 2347 | + | |
| 2348 | + | |
| 2349 | + | |
| 2350 | + | |
| 2351 | + | |
| 2352 | + | |
| 2353 | + | |
| 2354 | + | |
| 2355 | + | |
| 2356 | + | |
| 2357 | + | |
| 2358 | + | |
| 2359 | + | |
| 2360 | + | |
| 2361 | + | |
| 2362 | + | |
| 2363 | + | |
| 2364 | + | |
| 2365 | + | |
| 2366 | + | |
| 2367 | + | |
| 2368 | + | |
| 2369 | + | |
| 2370 | + | |
| 2371 | + | |
| 2372 | + | |
| 2373 | + | |
| 2374 | + | |
| 2375 | + | |
| 2376 | + | |
| 2377 | + | |
| 2378 | + | |
| 2379 | + | |
| 2380 | + | |
| 2381 | + | |
| 2382 | + | |
| 2383 | + | |
2277 | 2384 | | |
2278 | 2385 | | |
2279 | 2386 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
380 | 380 | | |
381 | 381 | | |
382 | 382 | | |
| 383 | + | |
383 | 384 | | |
384 | 385 | | |
385 | 386 | | |
| |||
0 commit comments