Commit 1d6044c
committed
i386: Fix VPMOV splitter [PR105993]
REGNO should not be used with register_operand before reload because
subregs of registers or even subregs of memory match the predicate.
The build with RTL checking enabled does not tolerate REGNO with
non-reg operand.
The patch splits the splitter into two related splitters and uses
(match_dup ...) RTXes instead of REGNO comparisons.
2022-06-17 Uroš Bizjak <[email protected]>
gcc/ChangeLog:
PR target/105993
* config/i386/sse.md (vpmov splitter): Use (match_dup ...)
instead of REGNO comparisons in combine splitter.
gcc/testsuite/ChangeLog:
PR target/105993
* gcc.target/i386/pr105993.c: New test.1 parent 06a1b04 commit 1d6044c
2 files changed
+34
-14
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
23875 | 23875 | | |
23876 | 23876 | | |
23877 | 23877 | | |
23878 | | - | |
23879 | | - | |
23880 | | - | |
23881 | | - | |
| 23878 | + | |
| 23879 | + | |
23882 | 23880 | | |
23883 | | - | |
23884 | | - | |
23885 | | - | |
23886 | | - | |
23887 | | - | |
23888 | | - | |
23889 | | - | |
23890 | | - | |
23891 | | - | |
23892 | | - | |
| 23881 | + | |
| 23882 | + | |
| 23883 | + | |
| 23884 | + | |
| 23885 | + | |
| 23886 | + | |
| 23887 | + | |
| 23888 | + | |
| 23889 | + | |
| 23890 | + | |
| 23891 | + | |
| 23892 | + | |
| 23893 | + | |
| 23894 | + | |
23893 | 23895 | | |
23894 | 23896 | | |
23895 | 23897 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
0 commit comments