Commit 4943a29
Use a single ldr to load a large immediate in lieu of multiple movz/movk instructions
Summary: On Arm64, we may need up to 4 movz/movk instructions to load a 64-bit immediate to a GP register, which may contribute to some non-trivial portion in code size. To reduce the code size, this diff puts an immediate in literal pool and emits a single ldr instruction to load from memory.
Differential Revision: D917328491 parent 9f0e9f6 commit 4943a29
File tree
5 files changed
+51
-25
lines changed- hphp
- runtime/vm/jit
- vixl/a64
5 files changed
+51
-25
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
209 | 209 | | |
210 | 210 | | |
211 | 211 | | |
212 | | - | |
| 212 | + | |
213 | 213 | | |
214 | 214 | | |
215 | 215 | | |
| |||
799 | 799 | | |
800 | 800 | | |
801 | 801 | | |
| 802 | + | |
802 | 803 | | |
803 | 804 | | |
804 | 805 | | |
805 | 806 | | |
806 | | - | |
| 807 | + | |
| 808 | + | |
| 809 | + | |
| 810 | + | |
| 811 | + | |
| 812 | + | |
| 813 | + | |
807 | 814 | | |
808 | 815 | | |
809 | 816 | | |
| |||
857 | 864 | | |
858 | 865 | | |
859 | 866 | | |
| 867 | + | |
860 | 868 | | |
861 | 869 | | |
862 | | - | |
| 870 | + | |
| 871 | + | |
| 872 | + | |
| 873 | + | |
863 | 874 | | |
864 | 875 | | |
865 | 876 | | |
| |||
1135 | 1146 | | |
1136 | 1147 | | |
1137 | 1148 | | |
1138 | | - | |
1139 | 1149 | | |
1140 | 1150 | | |
1141 | 1151 | | |
| |||
1147 | 1157 | | |
1148 | 1158 | | |
1149 | 1159 | | |
| 1160 | + | |
| 1161 | + | |
1150 | 1162 | | |
1151 | | - | |
| 1163 | + | |
| 1164 | + | |
| 1165 | + | |
1152 | 1166 | | |
1153 | 1167 | | |
1154 | 1168 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
347 | 347 | | |
348 | 348 | | |
349 | 349 | | |
350 | | - | |
| 350 | + | |
351 | 351 | | |
| 352 | + | |
352 | 353 | | |
353 | 354 | | |
354 | 355 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
29 | 29 | | |
30 | 30 | | |
31 | 31 | | |
| 32 | + | |
32 | 33 | | |
33 | 34 | | |
34 | 35 | | |
| |||
614 | 615 | | |
615 | 616 | | |
616 | 617 | | |
617 | | - | |
| 618 | + | |
618 | 619 | | |
619 | 620 | | |
620 | 621 | | |
| |||
646 | 647 | | |
647 | 648 | | |
648 | 649 | | |
| 650 | + | |
| 651 | + | |
649 | 652 | | |
650 | 653 | | |
651 | 654 | | |
| |||
1679 | 1682 | | |
1680 | 1683 | | |
1681 | 1684 | | |
1682 | | - | |
| 1685 | + | |
1683 | 1686 | | |
1684 | 1687 | | |
1685 | 1688 | | |
| |||
1860 | 1863 | | |
1861 | 1864 | | |
1862 | 1865 | | |
1863 | | - | |
| 1866 | + | |
1864 | 1867 | | |
1865 | 1868 | | |
1866 | 1869 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
277 | 277 | | |
278 | 278 | | |
279 | 279 | | |
280 | | - | |
281 | | - | |
282 | | - | |
283 | | - | |
284 | | - | |
285 | | - | |
286 | | - | |
287 | | - | |
288 | | - | |
289 | | - | |
290 | | - | |
| 280 | + | |
| 281 | + | |
| 282 | + | |
| 283 | + | |
| 284 | + | |
| 285 | + | |
| 286 | + | |
| 287 | + | |
| 288 | + | |
| 289 | + | |
| 290 | + | |
| 291 | + | |
| 292 | + | |
| 293 | + | |
291 | 294 | | |
292 | 295 | | |
| 296 | + | |
| 297 | + | |
| 298 | + | |
| 299 | + | |
| 300 | + | |
| 301 | + | |
| 302 | + | |
| 303 | + | |
293 | 304 | | |
294 | 305 | | |
295 | 306 | | |
296 | 307 | | |
297 | 308 | | |
298 | | - | |
299 | | - | |
300 | 309 | | |
301 | 310 | | |
302 | 311 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
29 | 29 | | |
30 | 30 | | |
31 | 31 | | |
32 | | - | |
33 | 32 | | |
34 | 33 | | |
35 | 34 | | |
| |||
45 | 44 | | |
46 | 45 | | |
47 | 46 | | |
48 | | - | |
49 | | - | |
| 47 | + | |
| 48 | + | |
50 | 49 | | |
51 | 50 | | |
52 | 51 | | |
| |||
0 commit comments