@@ -2620,11 +2620,21 @@ defm CASLT : CompareAndSwapUnprivileged<0b11, 0, 1, "l">;
2620
2620
defm CASAT : CompareAndSwapUnprivileged<0b11, 1, 0, "a">;
2621
2621
defm CASALT : CompareAndSwapUnprivileged<0b11, 1, 1, "al">;
2622
2622
2623
+ def : MnemonicAlias<"cas", "cast">;
2624
+ def : MnemonicAlias<"casl", "caslt">;
2625
+ def : MnemonicAlias<"casa", "casat">;
2626
+ def : MnemonicAlias<"casal", "casalt">;
2627
+
2623
2628
// v9.6-a atomic CASPT
2624
2629
defm CASPT : CompareAndSwapPairUnprivileged<0b01, 0, 0, "">;
2625
2630
defm CASPLT : CompareAndSwapPairUnprivileged<0b01, 0, 1, "l">;
2626
2631
defm CASPAT : CompareAndSwapPairUnprivileged<0b01, 1, 0, "a">;
2627
2632
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">;
2628
2638
}
2629
2639
2630
2640
// v8.1 atomic SWP
@@ -2639,6 +2649,11 @@ let Predicates = [HasLSUI] in {
2639
2649
defm SWPTA : SwapLSUI<1, 0, "a">;
2640
2650
defm SWPTL : SwapLSUI<0, 1, "l">;
2641
2651
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">;
2642
2657
}
2643
2658
2644
2659
// v9.6-a unprivileged atomic LD<OP> (FEAT_LSUI)
@@ -4112,7 +4127,7 @@ defm STNPD : StorePairNoAlloc<0b01, 1, FPR64Op, simm7s8, "stnp">;
4112
4127
defm STNPQ : StorePairNoAlloc<0b10, 1, FPR128Op, simm7s16, "stnp">;
4113
4128
}
4114
4129
4115
- // Armv9.6-a Load/store no-allocate pair (FEAT_LSUI)
4130
+ // Armv9.6-a Load/store pair (FEAT_LSUI)
4116
4131
let Predicates = [HasLSUI] in {
4117
4132
defm LDTP : LoadPairOffset<0b11, 0, GPR64z, simm7s8, "ldtp">;
4118
4133
def LDTPpre : LoadPairPreIdx<0b11, 0, GPR64z, simm7s8, "ldtp">;
@@ -4126,7 +4141,7 @@ let Predicates = [HasLSUI] in {
4126
4141
def STTPpost : StorePairPostIdx<0b11, 0, GPR64z, simm7s8, "sttp">;
4127
4142
}
4128
4143
4129
- let Predicates = [HasLSUI, HasFPARMv8 ] in {
4144
+ let Predicates = [HasLSUI, HasNEON ] in {
4130
4145
defm LDTPQ : LoadPairOffset<0b11, 1, FPR128Op, simm7s16, "ldtp">;
4131
4146
def LDTPQpre : LoadPairPreIdx<0b11, 1, FPR128Op, simm7s16, "ldtp">;
4132
4147
def LDTPQpost : LoadPairPostIdx<0b11, 1, FPR128Op, simm7s16, "ldtp">;
@@ -4784,14 +4799,22 @@ let Predicates = [HasLSUI] in {
4784
4799
defm LDTXRW : LoadUnprivilegedLSUI<0b10, GPR32, "ldtxr">;
4785
4800
defm LDTXRX : LoadUnprivilegedLSUI<0b11, GPR64, "ldtxr">;
4786
4801
4802
+ def : MnemonicAlias<"ldxr", "ldtxr">;
4803
+
4787
4804
def LDATXRW : LoadExclusiveLSUI <0b10, 1, 1, GPR32, "ldatxr">;
4788
4805
def LDATXRX : LoadExclusiveLSUI <0b11, 1, 1, GPR64, "ldatxr">;
4789
4806
4807
+ def : MnemonicAlias<"ldaxr", "ldatxr">;
4808
+
4790
4809
defm STTXRW : StoreUnprivilegedLSUI<0b10, GPR32, "sttxr">;
4791
4810
defm STTXRX : StoreUnprivilegedLSUI<0b11, GPR64, "sttxr">;
4792
4811
4812
+ def : MnemonicAlias<"stxr", "sttxr">;
4813
+
4793
4814
def STLTXRW : StoreExclusiveLSUI<0b10, 0, 1, GPR32, "stltxr">;
4794
4815
def STLTXRX : StoreExclusiveLSUI<0b11, 0, 1, GPR64, "stltxr">;
4816
+
4817
+ def : MnemonicAlias<"stlxr", "stltxr">;
4795
4818
}
4796
4819
4797
4820
//===----------------------------------------------------------------------===//
0 commit comments