Commit 453d58e
authored
Tweak the register order for xarch to better account for callee saved (#88151)
* Tweak the register order for xarch to better account for callee saved
* Have a different register order for leaf methods
* Preference R12 after R13 for 2x the savings
* Allow float/vector constants to use EVEX registers
* Fix Runtime_34937 to expect the right codegen on Unix
* Don't add VAR_ORDER_LEAF and add a comment explaining why we prefer callee trash then callee save
* Simplifying the REG_VAR_ORDER_FLT_EVEX_CALLEE_* defines
* Ensure x86 matches the general x64 ordering
* Ensure that AllBitsSet vector constants correctly handle high simd registers
* Ensure that Runtime_34937 expects the right codegen for Windows x64
* Improve the register ordering more
* Ensure scalar AllBitsSet handles EVEX registers
* Don't change register allocation order for x86
* Minimize the diffs1 parent 0aca9e5 commit 453d58e
File tree
8 files changed
+185
-80
lines changed- src
- coreclr/jit
- tests/JIT/Regression/JitBlue/Runtime_34937
8 files changed
+185
-80
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
438 | 438 | | |
439 | 439 | | |
440 | 440 | | |
441 | | - | |
| 441 | + | |
| 442 | + | |
| 443 | + | |
| 444 | + | |
| 445 | + | |
| 446 | + | |
| 447 | + | |
| 448 | + | |
| 449 | + | |
| 450 | + | |
442 | 451 | | |
443 | 452 | | |
444 | 453 | | |
| |||
456 | 465 | | |
457 | 466 | | |
458 | 467 | | |
459 | | - | |
| 468 | + | |
| 469 | + | |
| 470 | + | |
| 471 | + | |
| 472 | + | |
| 473 | + | |
| 474 | + | |
| 475 | + | |
| 476 | + | |
| 477 | + | |
460 | 478 | | |
461 | 479 | | |
462 | 480 | | |
| |||
476 | 494 | | |
477 | 495 | | |
478 | 496 | | |
479 | | - | |
| 497 | + | |
| 498 | + | |
| 499 | + | |
| 500 | + | |
| 501 | + | |
| 502 | + | |
| 503 | + | |
| 504 | + | |
| 505 | + | |
| 506 | + | |
480 | 507 | | |
481 | 508 | | |
482 | 509 | | |
| |||
494 | 521 | | |
495 | 522 | | |
496 | 523 | | |
497 | | - | |
| 524 | + | |
| 525 | + | |
| 526 | + | |
| 527 | + | |
| 528 | + | |
| 529 | + | |
| 530 | + | |
| 531 | + | |
| 532 | + | |
| 533 | + | |
498 | 534 | | |
499 | 535 | | |
500 | 536 | | |
| |||
592 | 628 | | |
593 | 629 | | |
594 | 630 | | |
595 | | - | |
596 | | - | |
| 631 | + | |
| 632 | + | |
| 633 | + | |
| 634 | + | |
| 635 | + | |
| 636 | + | |
| 637 | + | |
| 638 | + | |
| 639 | + | |
| 640 | + | |
| 641 | + | |
597 | 642 | | |
598 | 643 | | |
599 | 644 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1570 | 1570 | | |
1571 | 1571 | | |
1572 | 1572 | | |
1573 | | - | |
| 1573 | + | |
1574 | 1574 | | |
1575 | 1575 | | |
1576 | 1576 | | |
1577 | 1577 | | |
1578 | 1578 | | |
1579 | | - | |
| 1579 | + | |
1580 | 1580 | | |
1581 | 1581 | | |
1582 | 1582 | | |
1583 | 1583 | | |
1584 | 1584 | | |
1585 | 1585 | | |
1586 | | - | |
1587 | | - | |
1588 | | - | |
1589 | | - | |
1590 | | - | |
1591 | | - | |
1592 | | - | |
1593 | | - | |
1594 | | - | |
1595 | | - | |
1596 | | - | |
1597 | | - | |
1598 | | - | |
1599 | | - | |
1600 | | - | |
1601 | | - | |
1602 | | - | |
1603 | | - | |
1604 | | - | |
1605 | 1586 | | |
1606 | 1587 | | |
1607 | 1588 | | |
| |||
3160 | 3141 | | |
3161 | 3142 | | |
3162 | 3143 | | |
3163 | | - | |
| 3144 | + | |
3164 | 3145 | | |
3165 | 3146 | | |
3166 | 3147 | | |
| |||
3203 | 3184 | | |
3204 | 3185 | | |
3205 | 3186 | | |
3206 | | - | |
| 3187 | + | |
3207 | 3188 | | |
3208 | 3189 | | |
3209 | 3190 | | |
| |||
3262 | 3243 | | |
3263 | 3244 | | |
3264 | 3245 | | |
3265 | | - | |
| 3246 | + | |
3266 | 3247 | | |
3267 | 3248 | | |
3268 | 3249 | | |
| |||
3308 | 3289 | | |
3309 | 3290 | | |
3310 | 3291 | | |
3311 | | - | |
| 3292 | + | |
3312 | 3293 | | |
3313 | 3294 | | |
3314 | 3295 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
28 | 28 | | |
29 | 29 | | |
30 | 30 | | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
31 | 41 | | |
32 | 42 | | |
33 | 43 | | |
| |||
890 | 900 | | |
891 | 901 | | |
892 | 902 | | |
893 | | - | |
894 | 903 | | |
895 | 904 | | |
896 | 905 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1861 | 1861 | | |
1862 | 1862 | | |
1863 | 1863 | | |
| 1864 | + | |
1864 | 1865 | | |
1865 | 1866 | | |
1866 | 1867 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1913 | 1913 | | |
1914 | 1914 | | |
1915 | 1915 | | |
1916 | | - | |
| 1916 | + | |
1917 | 1917 | | |
1918 | 1918 | | |
| 1919 | + | |
1919 | 1920 | | |
1920 | | - | |
1921 | | - | |
| 1921 | + | |
| 1922 | + | |
1922 | 1923 | | |
1923 | 1924 | | |
1924 | 1925 | | |
| |||
1945 | 1946 | | |
1946 | 1947 | | |
1947 | 1948 | | |
1948 | | - | |
1949 | | - | |
1950 | | - | |
1951 | | - | |
1952 | | - | |
1953 | | - | |
| 1949 | + | |
| 1950 | + | |
| 1951 | + | |
| 1952 | + | |
1954 | 1953 | | |
| 1954 | + | |
| 1955 | + | |
| 1956 | + | |
| 1957 | + | |
| 1958 | + | |
1955 | 1959 | | |
1956 | 1960 | | |
1957 | | - | |
1958 | | - | |
1959 | | - | |
1960 | | - | |
1961 | | - | |
1962 | | - | |
| 1961 | + | |
| 1962 | + | |
| 1963 | + | |
| 1964 | + | |
| 1965 | + | |
| 1966 | + | |
| 1967 | + | |
| 1968 | + | |
| 1969 | + | |
| 1970 | + | |
| 1971 | + | |
| 1972 | + | |
| 1973 | + | |
| 1974 | + | |
| 1975 | + | |
| 1976 | + | |
| 1977 | + | |
| 1978 | + | |
1963 | 1979 | | |
1964 | | - | |
1965 | 1980 | | |
1966 | 1981 | | |
1967 | 1982 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
154 | 154 | | |
155 | 155 | | |
156 | 156 | | |
| 157 | + | |
157 | 158 | | |
158 | 159 | | |
159 | | - | |
| 160 | + | |
| 161 | + | |
160 | 162 | | |
| 163 | + | |
161 | 164 | | |
162 | | - | |
163 | 165 | | |
164 | 166 | | |
165 | 167 | | |
| |||
0 commit comments