Commit 7de803b
[DAG] Generate UMULH/SMULH with wider vector types (llvm#170283)
The existing code for generating umulh/smulh was checking that that the
getTypeToTransformTo was a LegalOrCustom operation. This only takes a
single legalization step though, so if v4i32 was legal, a v8i32 would be
transformed but a v16i32 would not.
This patch introduces a getLegalTypeToTransformTo that performs
getTypeToTransformTo until a legal type is reached. The umulh/smulh code
can then use it to check if the final resultant type will be legal.1 parent 9c34847 commit 7de803b
File tree
3 files changed
+78
-243
lines changed- llvm
- include/llvm/CodeGen
- lib/CodeGen/SelectionDAG
- test/CodeGen/Thumb2
3 files changed
+78
-243
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1174 | 1174 | | |
1175 | 1175 | | |
1176 | 1176 | | |
| 1177 | + | |
| 1178 | + | |
| 1179 | + | |
| 1180 | + | |
| 1181 | + | |
| 1182 | + | |
| 1183 | + | |
| 1184 | + | |
| 1185 | + | |
| 1186 | + | |
| 1187 | + | |
1177 | 1188 | | |
1178 | 1189 | | |
1179 | 1190 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
10895 | 10895 | | |
10896 | 10896 | | |
10897 | 10897 | | |
| 10898 | + | |
10898 | 10899 | | |
10899 | | - | |
10900 | | - | |
10901 | | - | |
10902 | | - | |
10903 | | - | |
10904 | | - | |
| 10900 | + | |
| 10901 | + | |
10905 | 10902 | | |
10906 | 10903 | | |
| 10904 | + | |
| 10905 | + | |
10907 | 10906 | | |
10908 | 10907 | | |
10909 | 10908 | | |
| |||
0 commit comments