Commit 8d7dae0
committed
i386: Add init pattern for V2HI vectors [PR100637]
2021-06-03 Uroš Bizjak <[email protected]>
gcc/
PR target/100637
* config/i386/i386-expand.c (ix86_expand_vector_init_duplicate):
Handle V2HI mode.
(ix86_expand_vector_init_general): Ditto.
Use SImode instead of word_mode for logic operations
when GET_MODE_SIZE (mode) < UNITS_PER_WORD.
(expand_vec_perm_even_odd_1): Assert that V2HI mode should be
implemented by expand_vec_perm_1.
(expand_vec_perm_broadcast_1): Assert that V2HI and V4HI modes
should be implemented using standard shuffle patterns.
(ix86_vectorize_vec_perm_const): Handle V2HImode. Add V4HI and
V2HI modes to modes, implementable with shuffle for one operand.
* config/i386/mmx.md (*punpckwd): New insn_and_split pattern.
(*pshufw_1): New insn pattern.
(*vec_dupv2hi): Ditto.
(vec_initv2hihi): New expander.
gcc/testsuite/
PR target/100637
* gcc.dg/vect/slp-perm-9.c (dg-final): Adjust dumps for vect32 targets.1 parent ee9548b commit 8d7dae0
File tree
3 files changed
+121
-14
lines changed- gcc
- config/i386
- testsuite/gcc.dg/vect
3 files changed
+121
-14
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
13723 | 13723 | | |
13724 | 13724 | | |
13725 | 13725 | | |
| 13726 | + | |
| 13727 | + | |
| 13728 | + | |
| 13729 | + | |
| 13730 | + | |
| 13731 | + | |
| 13732 | + | |
| 13733 | + | |
| 13734 | + | |
| 13735 | + | |
| 13736 | + | |
| 13737 | + | |
| 13738 | + | |
13726 | 13739 | | |
13727 | 13740 | | |
13728 | 13741 | | |
| |||
14524 | 14537 | | |
14525 | 14538 | | |
14526 | 14539 | | |
| 14540 | + | |
| 14541 | + | |
14527 | 14542 | | |
14528 | 14543 | | |
14529 | 14544 | | |
| |||
14532 | 14547 | | |
14533 | 14548 | | |
14534 | 14549 | | |
14535 | | - | |
| 14550 | + | |
14536 | 14551 | | |
14537 | 14552 | | |
| 14553 | + | |
| 14554 | + | |
14538 | 14555 | | |
14539 | 14556 | | |
14540 | | - | |
| 14557 | + | |
14541 | 14558 | | |
14542 | 14559 | | |
14543 | 14560 | | |
| |||
14548 | 14565 | | |
14549 | 14566 | | |
14550 | 14567 | | |
14551 | | - | |
| 14568 | + | |
14552 | 14569 | | |
14553 | 14570 | | |
14554 | 14571 | | |
14555 | 14572 | | |
14556 | 14573 | | |
14557 | | - | |
| 14574 | + | |
14558 | 14575 | | |
14559 | | - | |
| 14576 | + | |
14560 | 14577 | | |
14561 | 14578 | | |
14562 | 14579 | | |
| |||
14570 | 14587 | | |
14571 | 14588 | | |
14572 | 14589 | | |
14573 | | - | |
14574 | | - | |
| 14590 | + | |
| 14591 | + | |
14575 | 14592 | | |
14576 | 14593 | | |
14577 | 14594 | | |
14578 | 14595 | | |
14579 | 14596 | | |
14580 | | - | |
| 14597 | + | |
14581 | 14598 | | |
14582 | 14599 | | |
14583 | 14600 | | |
| |||
19548 | 19565 | | |
19549 | 19566 | | |
19550 | 19567 | | |
| 19568 | + | |
19551 | 19569 | | |
19552 | 19570 | | |
19553 | 19571 | | |
| |||
19758 | 19776 | | |
19759 | 19777 | | |
19760 | 19778 | | |
| 19779 | + | |
| 19780 | + | |
19761 | 19781 | | |
19762 | 19782 | | |
19763 | 19783 | | |
| |||
20267 | 20287 | | |
20268 | 20288 | | |
20269 | 20289 | | |
| 20290 | + | |
| 20291 | + | |
| 20292 | + | |
| 20293 | + | |
20270 | 20294 | | |
20271 | 20295 | | |
20272 | 20296 | | |
| |||
20298 | 20322 | | |
20299 | 20323 | | |
20300 | 20324 | | |
20301 | | - | |
| 20325 | + | |
20302 | 20326 | | |
20303 | 20327 | | |
20304 | | - | |
| 20328 | + | |
| 20329 | + | |
20305 | 20330 | | |
20306 | 20331 | | |
20307 | 20332 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3292 | 3292 | | |
3293 | 3293 | | |
3294 | 3294 | | |
| 3295 | + | |
| 3296 | + | |
| 3297 | + | |
| 3298 | + | |
| 3299 | + | |
| 3300 | + | |
| 3301 | + | |
| 3302 | + | |
| 3303 | + | |
| 3304 | + | |
| 3305 | + | |
| 3306 | + | |
| 3307 | + | |
| 3308 | + | |
| 3309 | + | |
| 3310 | + | |
| 3311 | + | |
| 3312 | + | |
| 3313 | + | |
| 3314 | + | |
| 3315 | + | |
| 3316 | + | |
| 3317 | + | |
| 3318 | + | |
| 3319 | + | |
| 3320 | + | |
| 3321 | + | |
| 3322 | + | |
| 3323 | + | |
| 3324 | + | |
| 3325 | + | |
| 3326 | + | |
| 3327 | + | |
| 3328 | + | |
| 3329 | + | |
| 3330 | + | |
| 3331 | + | |
| 3332 | + | |
| 3333 | + | |
| 3334 | + | |
| 3335 | + | |
| 3336 | + | |
| 3337 | + | |
| 3338 | + | |
| 3339 | + | |
| 3340 | + | |
| 3341 | + | |
| 3342 | + | |
| 3343 | + | |
| 3344 | + | |
| 3345 | + | |
| 3346 | + | |
| 3347 | + | |
| 3348 | + | |
| 3349 | + | |
| 3350 | + | |
| 3351 | + | |
| 3352 | + | |
| 3353 | + | |
| 3354 | + | |
| 3355 | + | |
| 3356 | + | |
| 3357 | + | |
| 3358 | + | |
| 3359 | + | |
| 3360 | + | |
| 3361 | + | |
| 3362 | + | |
| 3363 | + | |
| 3364 | + | |
| 3365 | + | |
| 3366 | + | |
| 3367 | + | |
| 3368 | + | |
| 3369 | + | |
| 3370 | + | |
| 3371 | + | |
| 3372 | + | |
| 3373 | + | |
| 3374 | + | |
| 3375 | + | |
| 3376 | + | |
3295 | 3377 | | |
3296 | 3378 | | |
3297 | 3379 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
57 | 57 | | |
58 | 58 | | |
59 | 59 | | |
60 | | - | |
61 | | - | |
| 60 | + | |
| 61 | + | |
62 | 62 | | |
63 | 63 | | |
64 | 64 | | |
65 | 65 | | |
66 | 66 | | |
67 | 67 | | |
68 | | - | |
69 | | - | |
| 68 | + | |
| 69 | + | |
0 commit comments