[PATCH] D44687: [SchedModel] Remove instregex entries that don't match any instructions (WIP)
Florian Hahn via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Mar 21 03:05:01 PDT 2018
fhahn added subscribers: joelkevinjones, steleman, fhahn.
fhahn added inline comments.
================
Comment at: lib/Target/AArch64/AArch64SchedThunderX2T99.td:426
"AND?(W|X)r(i|r|s|x)", "ANDS?(W|X)r(i|r|s|x)",
- "ADC?(W|X)r(i|r|s|x)", "ADCS?(W|X)r(i|r|s|x)",
"BIC?(W|X)r(i|r|s|x)", "BICS?(W|X)r(i|r|s|x)",
----------------
Those changes should be fine (and similar changes below), as they just remove invalid patterns.
================
Comment at: lib/Target/AArch64/AArch64SchedThunderX2T99.td:1264
def : InstRW<[THX2T99Write_5Cyc_F01],
- (instregex "^ANDv", "^BICv", "^EORv", "^MOVv", "^MVNv",
"^ORRv", "^ORNv", "^NOTv")>;
----------------
MOV (AdvSIMD) is an alias for INS. MVN is an alias of NOT. So I think to keep the model unchanged, we should use INS and NOT here.
@joelkevinjones @steleman could you have a quick look to confirm?
Also, the comment just above needs updating.
================
Comment at: lib/Target/AArch64/AArch64SchedThunderX2T99.td:1516
// ASIMD move, integer immed
-def : InstRW<[THX2T99Write_5Cyc_F01], (instregex "^MOVIv", "^MOVIDv")>;
----------------
Looks OK, MOVIv should match vector versions of MOVI.
Repository:
rL LLVM
https://reviews.llvm.org/D44687
More information about the llvm-commits
mailing list