We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
define void @repeat_shuffle(<2 x double> %v, ptr noalias %q) { %w = shufflevector <2 x double> %v, <2 x double> poison, <4 x i32> <i32 0, i32 1, i32 0, i32 1> store <4 x double> %w, ptr %q ret void }
When compiled with llc -mattr=+v, there's an unnecessary vmv1r.v v13, v10 emitted, which copies an implicit def to v13.
llc -mattr=+v
vmv1r.v v13, v10
v13
repeat_shuffle: # @repeat_shuffle .cfi_startproc # %bb.0: vmv2r.v v12, v8 vsetivli zero, 4, e64, m2, ta, ma vmv1r.v v13, v10 vslideup.vi v8, v12, 2 vse64.v v8, (a0) ret
Compiling with -riscv-enable-subreg-liveness=0 avoids this:
-riscv-enable-subreg-liveness=0
repeat_shuffle: # @repeat_shuffle .cfi_startproc # %bb.0: # kill: def $v8 killed $v8 def $v8m2 vsetivli zero, 4, e64, m2, ta, ma vmv2r.v v10, v8 vslideup.vi v10, v8, 2 vse64.v v10, (a0) ret
The text was updated successfully, but these errors were encountered:
@llvm/issue-subscribers-backend-risc-v
Sorry, something went wrong.
cc: @BeMg
[RISCV] precommit for removing useless copy from undef subreg
a70aa5e
testcase from #63554 Reviewed By: kito-cheng Differential Revision: https://reviews.llvm.org/D155039
This patch fix it.
Fixed via 1e86abc914bb
No branches or pull requests
When compiled with
llc -mattr=+v
, there's an unnecessaryvmv1r.v v13, v10
emitted, which copies an implicit def tov13
.Compiling with
-riscv-enable-subreg-liveness=0
avoids this:The text was updated successfully, but these errors were encountered: