Problem with LEA_ADDri

Hi
The construct in sparc
def LEA_ADDri : F3_2<2, 0b000000,
                   (outs IntRegs:$dst), (ins MEMri:$addr),
                   "add ${addr:arith}, $dst",
                   [(set IntRegs:$dst, ADDRri:$addr)]>;

generate instruction like : add %fp, -20, %l1
in my port it generate like : addi %fp, -20, %r2

But the problem is that our ISA does not support the instruction. Instead
it should be modified as followed
addi %fp, -20, %r2 ----------------> adds %fp, %r0, %r2 (i.e. move
%fp to %r2, r0 is always Zero)
                                               addi -20, %r2
(Then add -20, Immediate addition, No register in input field is allowed)

VSP