diff --git a/llvm/lib/Target/AArch64/SVEInstrFormats.td b/llvm/lib/Target/AArch64/SVEInstrFormats.td --- a/llvm/lib/Target/AArch64/SVEInstrFormats.td +++ b/llvm/lib/Target/AArch64/SVEInstrFormats.td @@ -913,6 +913,8 @@ let Inst{10} = opc{0}; let Inst{9-5} = pattern; let Inst{4-0} = Rd; + + let isReMaterializable = 1; } multiclass sve_int_count opc, string asm, SDPatternOperator op> { @@ -2539,6 +2541,8 @@ let Inst{11} = streaming_sve; let Inst{10-5} = imm6; let Inst{4-0} = Rd; + + let isReMaterializable = 1; } //===----------------------------------------------------------------------===// @@ -5190,6 +5194,8 @@ let Inst{15-10} = 0b010000; let Inst{9-5} = imm5; let Inst{4-0} = Zd; + + let isReMaterializable = 1; } multiclass sve_int_index_ii {