aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/ExpandVectorPredication.cpp
diff options
context:
space:
mode:
authorchenglin.bi <chenglin.bi@linaro.org>2022-07-20 11:06:16 +0800
committerchenglin.bi <chenglin.bi@linaro.org>2022-07-20 11:46:10 +0800
commitd337c1f2565a748bcf3f162d0754a362b2c597a4 (patch)
tree318657b1713e11ff90d8d79d3008bf6d07c50c61 /llvm/lib/CodeGen/ExpandVectorPredication.cpp
parent5b0e96a8ff7420454bb68fa4dc064db829a80641 (diff)
downloadllvm-d337c1f2565a748bcf3f162d0754a362b2c597a4.zip
llvm-d337c1f2565a748bcf3f162d0754a362b2c597a4.tar.gz
llvm-d337c1f2565a748bcf3f162d0754a362b2c597a4.tar.bz2
[AArch64] Use SUBXrx64 for dynamic stack to refer to sp
When we lower dynamic stack, we need to substract pattern `x15 << 4` from sp. Subtract instruction with arith shifted register(SUBXrs) can't refer to sp. So for now we need two extra mov like: ``` mov x0, sp sub x0, x0, x15, lsl #4 mov sp, x0 ``` If we want to refer to sp in subtract instruction like this: ``` sub sp, sp, x15, lsl #4 ``` We must use arith extended register version(SUBXrx). So in this patch when we find sub have sp operand on src0, try to select to SubXrx64. Reviewed By: efriedma Differential Revision: https://reviews.llvm.org/D129932
Diffstat (limited to 'llvm/lib/CodeGen/ExpandVectorPredication.cpp')
0 files changed, 0 insertions, 0 deletions