File tree Expand file tree Collapse file tree 1 file changed +19
-1
lines changed Expand file tree Collapse file tree 1 file changed +19
-1
lines changed Original file line number Diff line number Diff line change @@ -661,6 +661,7 @@ class AArch64MCPlusBuilder : public MCPlusBuilder {
661
661
case AArch64::LDTRBi:
662
662
case AArch64::LDTRSBWi:
663
663
case AArch64::LDTRSBXi:
664
+ case AArch64::LDARB:
664
665
return true ;
665
666
default :
666
667
break ;
@@ -699,6 +700,7 @@ class AArch64MCPlusBuilder : public MCPlusBuilder {
699
700
case AArch64::LDTRHi:
700
701
case AArch64::LDTRSHWi:
701
702
case AArch64::LDTRSHXi:
703
+ case AArch64::LDARH:
702
704
return true ;
703
705
default :
704
706
break ;
@@ -733,6 +735,7 @@ class AArch64MCPlusBuilder : public MCPlusBuilder {
733
735
case AArch64::LDPSWpost:
734
736
case AArch64::LDPSWpre:
735
737
case AArch64::LDNPWi:
738
+ case AArch64::LDARW:
736
739
return true ;
737
740
default :
738
741
break ;
@@ -756,6 +759,7 @@ class AArch64MCPlusBuilder : public MCPlusBuilder {
756
759
case AArch64::LDPXi:
757
760
case AArch64::LDPXpost:
758
761
case AArch64::LDPXpre:
762
+ case AArch64::LDARX:
759
763
return true ;
760
764
default :
761
765
break ;
@@ -1926,9 +1930,23 @@ class AArch64MCPlusBuilder : public MCPlusBuilder {
1926
1930
return false ;
1927
1931
};
1928
1932
1933
+ auto isStoreRelease = [&]() {
1934
+ switch (opcode) {
1935
+ case AArch64::STLRB:
1936
+ case AArch64::STLRH:
1937
+ case AArch64::STLRW:
1938
+ case AArch64::STLRX:
1939
+ return true ;
1940
+ default :
1941
+ break ;
1942
+ }
1943
+
1944
+ return false ;
1945
+ };
1946
+
1929
1947
return isStoreRegUnscaleImm () || isStoreRegScaledImm () ||
1930
1948
isStoreRegImmPreIndexed () || isStoreRegImmPostIndexed () ||
1931
- isStoreRegUnscaleUnpriv () || isStoreRegTrunc ();
1949
+ isStoreRegUnscaleUnpriv () || isStoreRegTrunc () || isStoreRelease () ;
1932
1950
}
1933
1951
1934
1952
bool mayStore (const MCInst &Inst) const override {
You can’t perform that action at this time.
0 commit comments