Skip to content

Commit aff777a

Browse files
committed
Responding to review comments
Change-Id: I2760c0cf55b3fd13240105c536e37f618209ed2e
1 parent 7a90015 commit aff777a

File tree

8 files changed

+369
-252
lines changed

8 files changed

+369
-252
lines changed

llvm/lib/Target/AArch64/AArch64InstrFormats.td

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1802,7 +1802,7 @@ class STSHHI
18021802
: SimpleSystemI<0, (ins phint_op:$policy), "stshh", "\t$policy", []>,
18031803
Sched<[WriteHint]> {
18041804
bits<3> policy;
1805-
let Inst{20-12} = 0b000110010;
1805+
let Inst{20-12} = 0b000011001;
18061806
let Inst{11-8} = 0b0110;
18071807
let Inst{7-5} = policy;
18081808
}
@@ -4967,7 +4967,7 @@ class BaseLoadUnprivilegedLSUI<bits<2> sz, dag oops, dag iops, string asm>
49674967
}
49684968

49694969
multiclass LoadUnprivilegedLSUI<bits<2> sz, RegisterClass regtype, string asm> {
4970-
def i : BaseLoadUnprivilegedLSUI<sz, (outs regtype:$Rt),
4970+
def r : BaseLoadUnprivilegedLSUI<sz, (outs regtype:$Rt),
49714971
(ins GPR64sp0:$Rn), asm>,
49724972
Sched<[WriteLD]>;
49734973

@@ -4992,7 +4992,7 @@ class BaseStoreUnprivilegedLSUI<bits<2> sz, dag oops, dag iops, string asm>
49924992
}
49934993

49944994
multiclass StoreUnprivilegedLSUI<bits<2> sz, RegisterClass regtype, string asm> {
4995-
def i : BaseStoreUnprivilegedLSUI<sz, (outs GPR32: $Ws),
4995+
def r : BaseStoreUnprivilegedLSUI<sz, (outs GPR32: $Ws),
49964996
(ins regtype:$Rt, GPR64sp0:$Rn),
49974997
asm>,
49984998
Sched<[WriteSTX]>;

llvm/lib/Target/AArch64/AArch64InstrInfo.td

Lines changed: 25 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2620,11 +2620,21 @@ defm CASLT : CompareAndSwapUnprivileged<0b11, 0, 1, "l">;
26202620
defm CASAT : CompareAndSwapUnprivileged<0b11, 1, 0, "a">;
26212621
defm CASALT : CompareAndSwapUnprivileged<0b11, 1, 1, "al">;
26222622

2623+
def : MnemonicAlias<"cas", "cast">;
2624+
def : MnemonicAlias<"casl", "caslt">;
2625+
def : MnemonicAlias<"casa", "casat">;
2626+
def : MnemonicAlias<"casal", "casalt">;
2627+
26232628
// v9.6-a atomic CASPT
26242629
defm CASPT : CompareAndSwapPairUnprivileged<0b01, 0, 0, "">;
26252630
defm CASPLT : CompareAndSwapPairUnprivileged<0b01, 0, 1, "l">;
26262631
defm CASPAT : CompareAndSwapPairUnprivileged<0b01, 1, 0, "a">;
26272632
defm CASPALT : CompareAndSwapPairUnprivileged<0b01, 1, 1, "al">;
2633+
2634+
def : MnemonicAlias<"casp", "caspt">;
2635+
def : MnemonicAlias<"caspl", "casplt">;
2636+
def : MnemonicAlias<"caspa", "caspat">;
2637+
def : MnemonicAlias<"caspal", "caspalt">;
26282638
}
26292639

26302640
// v8.1 atomic SWP
@@ -2639,6 +2649,11 @@ let Predicates = [HasLSUI] in {
26392649
defm SWPTA : SwapLSUI<1, 0, "a">;
26402650
defm SWPTL : SwapLSUI<0, 1, "l">;
26412651
defm SWPTAL : SwapLSUI<1, 1, "al">;
2652+
2653+
def : MnemonicAlias<"swp", "swpt">;
2654+
def : MnemonicAlias<"swpa", "swpta">;
2655+
def : MnemonicAlias<"swpl", "swptl">;
2656+
def : MnemonicAlias<"swpal", "swptal">;
26422657
}
26432658

26442659
// v9.6-a unprivileged atomic LD<OP> (FEAT_LSUI)
@@ -4112,7 +4127,7 @@ defm STNPD : StorePairNoAlloc<0b01, 1, FPR64Op, simm7s8, "stnp">;
41124127
defm STNPQ : StorePairNoAlloc<0b10, 1, FPR128Op, simm7s16, "stnp">;
41134128
}
41144129

4115-
// Armv9.6-a Load/store no-allocate pair (FEAT_LSUI)
4130+
// Armv9.6-a Load/store pair (FEAT_LSUI)
41164131
let Predicates = [HasLSUI] in {
41174132
defm LDTP : LoadPairOffset<0b11, 0, GPR64z, simm7s8, "ldtp">;
41184133
def LDTPpre : LoadPairPreIdx<0b11, 0, GPR64z, simm7s8, "ldtp">;
@@ -4126,7 +4141,7 @@ let Predicates = [HasLSUI] in {
41264141
def STTPpost : StorePairPostIdx<0b11, 0, GPR64z, simm7s8, "sttp">;
41274142
}
41284143

4129-
let Predicates = [HasLSUI, HasFPARMv8] in {
4144+
let Predicates = [HasLSUI, HasNEON] in {
41304145
defm LDTPQ : LoadPairOffset<0b11, 1, FPR128Op, simm7s16, "ldtp">;
41314146
def LDTPQpre : LoadPairPreIdx<0b11, 1, FPR128Op, simm7s16, "ldtp">;
41324147
def LDTPQpost : LoadPairPostIdx<0b11, 1, FPR128Op, simm7s16, "ldtp">;
@@ -4784,14 +4799,22 @@ let Predicates = [HasLSUI] in {
47844799
defm LDTXRW : LoadUnprivilegedLSUI<0b10, GPR32, "ldtxr">;
47854800
defm LDTXRX : LoadUnprivilegedLSUI<0b11, GPR64, "ldtxr">;
47864801

4802+
def : MnemonicAlias<"ldxr", "ldtxr">;
4803+
47874804
def LDATXRW : LoadExclusiveLSUI <0b10, 1, 1, GPR32, "ldatxr">;
47884805
def LDATXRX : LoadExclusiveLSUI <0b11, 1, 1, GPR64, "ldatxr">;
47894806

4807+
def : MnemonicAlias<"ldaxr", "ldatxr">;
4808+
47904809
defm STTXRW : StoreUnprivilegedLSUI<0b10, GPR32, "sttxr">;
47914810
defm STTXRX : StoreUnprivilegedLSUI<0b11, GPR64, "sttxr">;
47924811

4812+
def : MnemonicAlias<"stxr", "sttxr">;
4813+
47934814
def STLTXRW : StoreExclusiveLSUI<0b10, 0, 1, GPR32, "stltxr">;
47944815
def STLTXRX : StoreExclusiveLSUI<0b11, 0, 1, GPR64, "stltxr">;
4816+
4817+
def : MnemonicAlias<"stlxr", "stltxr">;
47954818
}
47964819

47974820
//===----------------------------------------------------------------------===//

llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3806,6 +3806,7 @@ static const struct Extension {
38063806
{"sve-f16f32mm", {AArch64::FeatureSVE_F16F32MM}},
38073807
{"lsui", {AArch64::FeatureLSUI}},
38083808
{"occmo", {AArch64::FeatureOCCMO}},
3809+
{"pcdphint", {AArch64::FeaturePCDPHINT}},
38093810
};
38103811

38113812
static void setRequiredFeatureString(FeatureBitset FBS, std::string &Str) {

0 commit comments

Comments
 (0)