Commit 5c8f18d
committed
[AArch64] Don't emit Neon in streaming[-compatible] functions with -fzero-call-used-regs
Previously, with `-fzero-call-used-regs` clang/LLVM would incorrectly
emit Neon instructions in streaming functions, and streaming-compatible
functions without SVE.
With this change:
* In streaming functions, Z/p registers will be zeroed
* In streaming compatible functions w/o SVE, D registers will be zeroed
- (As Neon vector instructions are illegal including `movi v..`)1 parent 64e3466 commit 5c8f18d
File tree
3 files changed
+362
-195
lines changed- llvm
- lib/Target/AArch64
- test/CodeGen/AArch64
3 files changed
+362
-195
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1010 | 1010 | | |
1011 | 1011 | | |
1012 | 1012 | | |
1013 | | - | |
| 1013 | + | |
1014 | 1014 | | |
1015 | 1015 | | |
1016 | 1016 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
9694 | 9694 | | |
9695 | 9695 | | |
9696 | 9696 | | |
9697 | | - | |
| 9697 | + | |
9698 | 9698 | | |
9699 | 9699 | | |
9700 | 9700 | | |
9701 | 9701 | | |
9702 | 9702 | | |
9703 | | - | |
| 9703 | + | |
9704 | 9704 | | |
9705 | 9705 | | |
9706 | 9706 | | |
9707 | | - | |
| 9707 | + | |
9708 | 9708 | | |
9709 | 9709 | | |
| 9710 | + | |
| 9711 | + | |
| 9712 | + | |
| 9713 | + | |
| 9714 | + | |
| 9715 | + | |
| 9716 | + | |
9710 | 9717 | | |
9711 | 9718 | | |
9712 | 9719 | | |
| |||
0 commit comments