Changeset View
Changeset View
Standalone View
Standalone View
llvm/trunk/lib/Target/ARM/ARMInstrThumb2.td
Show First 20 Lines • Show All 2,141 Lines • ▼ Show 20 Lines | def : T2Pat<(add GPR:$src, imm1_255_neg:$imm), | ||||
(t2SUBri GPR:$src, imm1_255_neg:$imm)>; | (t2SUBri GPR:$src, imm1_255_neg:$imm)>; | ||||
def : T2Pat<(add GPR:$src, t2_so_imm_neg:$imm), | def : T2Pat<(add GPR:$src, t2_so_imm_neg:$imm), | ||||
(t2SUBri GPR:$src, t2_so_imm_neg:$imm)>; | (t2SUBri GPR:$src, t2_so_imm_neg:$imm)>; | ||||
def : T2Pat<(add GPR:$src, imm0_4095_neg:$imm), | def : T2Pat<(add GPR:$src, imm0_4095_neg:$imm), | ||||
(t2SUBri12 GPR:$src, imm0_4095_neg:$imm)>; | (t2SUBri12 GPR:$src, imm0_4095_neg:$imm)>; | ||||
def : T2Pat<(add GPR:$src, imm0_65535_neg:$imm), | def : T2Pat<(add GPR:$src, imm0_65535_neg:$imm), | ||||
(t2SUBrr GPR:$src, (t2MOVi16 (imm_neg_XFORM imm:$imm)))>; | (t2SUBrr GPR:$src, (t2MOVi16 (imm_neg_XFORM imm:$imm)))>; | ||||
// Do the same for v8m targets since they support movw with a 16-bit value. | |||||
def : T1Pat<(add tGPR:$src, imm0_65535_neg:$imm), | |||||
(tSUBrr tGPR:$src, (t2MOVi16 (imm_neg_XFORM imm:$imm)))>, | |||||
Requires<[HasV8MBaseline]>; | |||||
let AddedComplexity = 1 in | let AddedComplexity = 1 in | ||||
def : T2Pat<(ARMaddc rGPR:$src, imm1_255_neg:$imm), | def : T2Pat<(ARMaddc rGPR:$src, imm1_255_neg:$imm), | ||||
(t2SUBSri rGPR:$src, imm1_255_neg:$imm)>; | (t2SUBSri rGPR:$src, imm1_255_neg:$imm)>; | ||||
def : T2Pat<(ARMaddc rGPR:$src, t2_so_imm_neg:$imm), | def : T2Pat<(ARMaddc rGPR:$src, t2_so_imm_neg:$imm), | ||||
(t2SUBSri rGPR:$src, t2_so_imm_neg:$imm)>; | (t2SUBSri rGPR:$src, t2_so_imm_neg:$imm)>; | ||||
def : T2Pat<(ARMaddc rGPR:$src, imm0_65535_neg:$imm), | def : T2Pat<(ARMaddc rGPR:$src, imm0_65535_neg:$imm), | ||||
(t2SUBSrr rGPR:$src, (t2MOVi16 (imm_neg_XFORM imm:$imm)))>; | (t2SUBSrr rGPR:$src, (t2MOVi16 (imm_neg_XFORM imm:$imm)))>; | ||||
// The with-carry-in form matches bitwise not instead of the negation. | // The with-carry-in form matches bitwise not instead of the negation. | ||||
▲ Show 20 Lines • Show All 2,732 Lines • Show Last 20 Lines |