Skip to content

Commit e301d99

Browse files
committed
[aarch64] lift all LD[1-4]R? and ST[1-4] opcodes, lift ST/LDCLR, ST/LDEOR, ST/LDSET, and their variants
Also fixes all outstanding issues in arm64test.py, including intrinsics, dc, at, and tlbi
1 parent b0b223e commit e301d99

File tree

10 files changed

+7806
-550
lines changed

10 files changed

+7806
-550
lines changed

arch/arm64/arch_arm64.cpp

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1921,8 +1921,6 @@ class Arm64Architecture : public Architecture
19211921
case REG_X30:
19221922
case REG_SP:
19231923
return RegisterInfo(reg, 0, 8);
1924-
case REG_XZR:
1925-
return RegisterInfo(reg, 0, 0);
19261924
case REG_V0:
19271925
case REG_V1:
19281926
case REG_V2:

arch/arm64/arm64test.py

Lines changed: 7006 additions & 487 deletions
Large diffs are not rendered by default.

arch/arm64/disassembler/disasm_test.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ def normalize(instxt):
2121
instxt = instxt.strip()
2222

2323
# collapse runs of whitespace to one space character
24-
instxt = re.sub('\s+', ' ', instxt)
24+
instxt = re.sub(r'\s+', ' ', instxt)
2525

2626
# remove comments
2727
if ' //' in instxt:

arch/arm64/disassembler/test_cases.txt

Lines changed: 350 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5335,6 +5335,23 @@ EA42106B ands x11, x3, x2, lsr #0x4
53355335
D50B795C sys #0x3, c7, c9, #0x2, x28
53365336
D50E79D8 sys #0x6, c7, c9, #0x6, x24
53375337
D508792A at s1e1wp, x10
5338+
D5087815 at S1E1R, x21
5339+
D5087835 at S1E1W, x21
5340+
D5087855 at S1E0R, x21
5341+
D5087875 at S1E0W, x21
5342+
D5087915 at S1E1RP, x21
5343+
D5087935 at S1E1WP, x21
5344+
D5087955 at S1E1A, x21
5345+
D50C7815 at S1E2R, x21
5346+
D50C7835 at S1E2W, x21
5347+
D50C7895 at S12E1R, x21
5348+
D50C78B5 at S12E1W, x21
5349+
D50C78D5 at S12E0R, x21
5350+
D50C78F5 at S12E0W, x21
5351+
D50C7955 at S1E2A, x21
5352+
D50E7815 at S1E3R, x21
5353+
D50E7835 at S1E3W, x21
5354+
D50E7955 at S1E3A, x21
53385355
D50A7842 sys #0x2, c7, c8, #0x2, x2
53395356
D50B782D sys #0x3, c7, c8, #0x1, x13
53405357
D50C7976 sys #0x4, c7, c9, #0x3, x22
@@ -31575,8 +31592,340 @@ B66AB3D1 tbz x17, #0x2d, 0x800000000000567c
3157531592
B6EA934F tbz x15, #0x3d, 0x800000000000526c
3157631593
3675FE02 tbz w2, #0xe, 0x7fffffffffffbfc4
3157731594
36A72E4D tbz w13, #0x14, 0x7fffffffffffe5cc
31578-
// TLBI_SYS_CR_systeminstrs 1101010100001xxx1000xxxxxxxxxxxx
31595+
// TLBI_SYS_CR_systeminstrs 1101010100001xxxxxxxxxxxxxxxxxxx
3157931596
D50E871F tlbi alle3
31597+
D5088115 tlbi vmalle1os, x21
31598+
D5088135 tlbi vae1os, x21
31599+
D5088155 tlbi aside1os, x21
31600+
D5088175 tlbi vaae1os, x21
31601+
D50881B5 tlbi vale1os, x21
31602+
D50881F5 tlbi vaale1os, x21
31603+
D5088235 tlbi rvae1is, x21
31604+
D5088275 tlbi rvaae1is, x21
31605+
D50882B5 tlbi rvale1is, x21
31606+
D50882F5 tlbi rvaale1is, x21
31607+
D5088315 tlbi vmalle1is, x21
31608+
D5088335 tlbi vae1is, x21
31609+
D5088355 tlbi aside1is, x21
31610+
D5088375 tlbi vaae1is, x21
31611+
D50883B5 tlbi vale1is, x21
31612+
D50883F5 tlbi vaale1is, x21
31613+
D5088535 tlbi rvae1os, x21
31614+
D5088575 tlbi rvaae1os, x21
31615+
D50885B5 tlbi rvale1os, x21
31616+
D50885F5 tlbi rvaale1os, x21
31617+
D5088635 tlbi rvae1, x21
31618+
D5088675 tlbi rvaae1, x21
31619+
D50886B5 tlbi rvale1, x21
31620+
D50886F5 tlbi rvaale1, x21
31621+
D5088715 tlbi vmalle1, x21
31622+
D5088735 tlbi vae1, x21
31623+
D5088755 tlbi aside1, x21
31624+
D5088775 tlbi vaae1, x21
31625+
D50887B5 tlbi vale1, x21
31626+
D50887F5 tlbi vaale1, x21
31627+
D5089115 tlbi vmalle1osnxs, x21
31628+
D5089135 tlbi vae1osnxs, x21
31629+
D5089155 tlbi aside1osnxs, x21
31630+
D5089175 tlbi vaae1osnxs, x21
31631+
D50891B5 tlbi vale1osnxs, x21
31632+
D50891F5 tlbi vaale1osnxs, x21
31633+
D5089235 tlbi rvae1isnxs, x21
31634+
D5089275 tlbi rvaae1isnxs, x21
31635+
D50892B5 tlbi rvale1isnxs, x21
31636+
D50892F5 tlbi rvaale1isnxs, x21
31637+
D5089315 tlbi vmalle1isnxs, x21
31638+
D5089335 tlbi vae1isnxs, x21
31639+
D5089355 tlbi aside1isnxs, x21
31640+
D5089375 tlbi vaae1isnxs, x21
31641+
D50893B5 tlbi vale1isnxs, x21
31642+
D50893F5 tlbi vaale1isnxs, x21
31643+
D5089535 tlbi rvae1osnxs, x21
31644+
D5089575 tlbi rvaae1osnxs, x21
31645+
D50895B5 tlbi rvale1osnxs, x21
31646+
D50895F5 tlbi rvaale1osnxs, x21
31647+
D5089635 tlbi rvae1nxs, x21
31648+
D5089675 tlbi rvaae1nxs, x21
31649+
D50896B5 tlbi rvale1nxs, x21
31650+
D50896F5 tlbi rvaale1nxs, x21
31651+
D5089715 tlbi vmalle1nxs, x21
31652+
D5089735 tlbi vae1nxs, x21
31653+
D5089755 tlbi aside1nxs, x21
31654+
D5089775 tlbi vaae1nxs, x21
31655+
D50897B5 tlbi vale1nxs, x21
31656+
D50897F5 tlbi vaale1nxs, x21
31657+
D50C8035 tlbi ipas2e1is, x21
31658+
D50C8055 tlbi ripas2e1is, x21
31659+
D50C80B5 tlbi ipas2le1is, x21
31660+
D50C80D5 tlbi ripas2le1is, x21
31661+
D50C8115 tlbi alle2os, x21
31662+
D50C8135 tlbi vae2os, x21
31663+
D50C8195 tlbi alle1os, x21
31664+
D50C81B5 tlbi vale2os, x21
31665+
D50C81D5 tlbi vmalls12e1os, x21
31666+
D50C8235 tlbi rvae2is, x21
31667+
D50C8255 tlbi vmallws2e1is, x21
31668+
D50C82B5 tlbi rvale2is, x21
31669+
D50C8315 tlbi alle2is, x21
31670+
D50C8335 tlbi vae2is, x21
31671+
D50C8395 tlbi alle1is, x21
31672+
D50C83B5 tlbi vale2is, x21
31673+
D50C83D5 tlbi vmalls12e1is, x21
31674+
D50C8415 tlbi ipas2e1os, x21
31675+
D50C8435 tlbi ipas2e1, x21
31676+
D50C8455 tlbi ripas2e1, x21
31677+
D50C8475 tlbi ripas2e1os, x21
31678+
D50C8495 tlbi ipas2le1os, x21
31679+
D50C84B5 tlbi ipas2le1, x21
31680+
D50C84D5 tlbi ripas2le1, x21
31681+
D50C84F5 tlbi ripas2le1os, x21
31682+
D50C8535 tlbi rvae2os, x21
31683+
D50C8555 tlbi vmallws2e1os, x21
31684+
D50C85B5 tlbi rvale2os, x21
31685+
D50C8635 tlbi rvae2, x21
31686+
D50C8655 tlbi vmallws2e1, x21
31687+
D50C86B5 tlbi rvale2, x21
31688+
D50C8715 tlbi alle2, x21
31689+
D50C8735 tlbi vae2, x21
31690+
D50C8795 tlbi alle1, x21
31691+
D50C87B5 tlbi vale2, x21
31692+
D50C87D5 tlbi vmalls12e1, x21
31693+
D50C9035 tlbi ipas2e1isnxs, x21
31694+
D50C9055 tlbi ripas2e1isnxs, x21
31695+
D50C90B5 tlbi ipas2le1isnxs, x21
31696+
D50C90D5 tlbi ripas2le1isnxs, x21
31697+
D50C9115 tlbi alle2osnxs, x21
31698+
D50C9135 tlbi vae2osnxs, x21
31699+
D50C9195 tlbi alle1osnxs, x21
31700+
D50C91B5 tlbi vale2osnxs, x21
31701+
D50C91D5 tlbi vmalls12e1osnxs, x21
31702+
D50C9235 tlbi rvae2isnxs, x21
31703+
D50C9255 tlbi vmallws2e1isnxs, x21
31704+
D50C92B5 tlbi rvale2isnxs, x21
31705+
D50C9315 tlbi alle2isnxs, x21
31706+
D50C9335 tlbi vae2isnxs, x21
31707+
D50C9395 tlbi alle1isnxs, x21
31708+
D50C93B5 tlbi vale2isnxs, x21
31709+
D50C93D5 tlbi vmalls12e1isnxs, x21
31710+
D50C9415 tlbi ipas2e1osnxs, x21
31711+
D50C9435 tlbi ipas2e1nxs, x21
31712+
D50C9455 tlbi ripas2e1nxs, x21
31713+
D50C9475 tlbi ripas2e1osnxs, x21
31714+
D50C9495 tlbi ipas2le1osnxs, x21
31715+
D50C94B5 tlbi ipas2le1nxs, x21
31716+
D50C94D5 tlbi ripas2le1nxs, x21
31717+
D50C94F5 tlbi ripas2le1osnxs, x21
31718+
D50C9535 tlbi rvae2osnxs, x21
31719+
D50C9555 tlbi vmallws2e1osnxs, x21
31720+
D50C95B5 tlbi rvale2osnxs, x21
31721+
D50C9635 tlbi rvae2nxs, x21
31722+
D50C9655 tlbi vmallws2e1nxs, x21
31723+
D50C96B5 tlbi rvale2nxs, x21
31724+
D50C9715 tlbi alle2nxs, x21
31725+
D50C9735 tlbi vae2nxs, x21
31726+
D50C9795 tlbi alle1nxs, x21
31727+
D50C97B5 tlbi vale2nxs, x21
31728+
D50C97D5 tlbi vmalls12e1nxs, x21
31729+
D50E8115 tlbi alle3os, x21
31730+
D50E8135 tlbi vae3os, x21
31731+
D50E8195 tlbi paallos, x21
31732+
D50E81B5 tlbi vale3os, x21
31733+
D50E8235 tlbi rvae3is, x21
31734+
D50E82B5 tlbi rvale3is, x21
31735+
D50E8315 tlbi alle3is, x21
31736+
D50E8335 tlbi vae3is, x21
31737+
D50E83B5 tlbi vale3is, x21
31738+
D50E8475 tlbi rpaos, x21
31739+
D50E84F5 tlbi rpalos, x21
31740+
D50E8535 tlbi rvae3os, x21
31741+
D50E85B5 tlbi rvale3os, x21
31742+
D50E8635 tlbi rvae3, x21
31743+
D50E86B5 tlbi rvale3, x21
31744+
D50E8715 tlbi alle3, x21
31745+
D50E8735 tlbi vae3, x21
31746+
D50E8795 tlbi paall, x21
31747+
D50E87B5 tlbi vale3, x21
31748+
D50E9115 tlbi alle3osnxs, x21
31749+
D50E9135 tlbi vae3osnxs, x21
31750+
D50E91B5 tlbi vale3osnxs, x21
31751+
D50E9235 tlbi rvae3isnxs, x21
31752+
D50E92B5 tlbi rvale3isnxs, x21
31753+
D50E9315 tlbi alle3isnxs, x21
31754+
D50E9335 tlbi vae3isnxs, x21
31755+
D50E93B5 tlbi vale3isnxs, x21
31756+
D50E9535 tlbi rvae3osnxs, x21
31757+
D50E95B5 tlbi rvale3osnxs, x21
31758+
D50E9635 tlbi rvae3nxs, x21
31759+
D50E96B5 tlbi rvale3nxs, x21
31760+
D50E9715 tlbi alle3nxs, x21
31761+
D50E9735 tlbi vae3nxs, x21
31762+
D50E97B5 tlbi vale3nxs, x21
31763+
D508811F tlbi vmalle1os
31764+
D508813F tlbi vae1os
31765+
D508815F tlbi aside1os
31766+
D508817F tlbi vaae1os
31767+
D50881BF tlbi vale1os
31768+
D50881FF tlbi vaale1os
31769+
D508823F tlbi rvae1is
31770+
D508827F tlbi rvaae1is
31771+
D50882BF tlbi rvale1is
31772+
D50882FF tlbi rvaale1is
31773+
D508831F tlbi vmalle1is
31774+
D508833F tlbi vae1is
31775+
D508835F tlbi aside1is
31776+
D508837F tlbi vaae1is
31777+
D50883BF tlbi vale1is
31778+
D50883FF tlbi vaale1is
31779+
D508853F tlbi rvae1os
31780+
D508857F tlbi rvaae1os
31781+
D50885BF tlbi rvale1os
31782+
D50885FF tlbi rvaale1os
31783+
D508863F tlbi rvae1
31784+
D508867F tlbi rvaae1
31785+
D50886BF tlbi rvale1
31786+
D50886FF tlbi rvaale1
31787+
D508871F tlbi vmalle1
31788+
D508873F tlbi vae1
31789+
D508875F tlbi aside1
31790+
D508877F tlbi vaae1
31791+
D50887BF tlbi vale1
31792+
D50887FF tlbi vaale1
31793+
D508911F tlbi vmalle1osnxs
31794+
D508913F tlbi vae1osnxs
31795+
D508915F tlbi aside1osnxs
31796+
D508917F tlbi vaae1osnxs
31797+
D50891BF tlbi vale1osnxs
31798+
D50891FF tlbi vaale1osnxs
31799+
D508923F tlbi rvae1isnxs
31800+
D508927F tlbi rvaae1isnxs
31801+
D50892BF tlbi rvale1isnxs
31802+
D50892FF tlbi rvaale1isnxs
31803+
D508931F tlbi vmalle1isnxs
31804+
D508933F tlbi vae1isnxs
31805+
D508935F tlbi aside1isnxs
31806+
D508937F tlbi vaae1isnxs
31807+
D50893BF tlbi vale1isnxs
31808+
D50893FF tlbi vaale1isnxs
31809+
D508953F tlbi rvae1osnxs
31810+
D508957F tlbi rvaae1osnxs
31811+
D50895BF tlbi rvale1osnxs
31812+
D50895FF tlbi rvaale1osnxs
31813+
D508963F tlbi rvae1nxs
31814+
D508967F tlbi rvaae1nxs
31815+
D50896BF tlbi rvale1nxs
31816+
D50896FF tlbi rvaale1nxs
31817+
D508971F tlbi vmalle1nxs
31818+
D508973F tlbi vae1nxs
31819+
D508975F tlbi aside1nxs
31820+
D508977F tlbi vaae1nxs
31821+
D50897BF tlbi vale1nxs
31822+
D50897FF tlbi vaale1nxs
31823+
D50C803F tlbi ipas2e1is
31824+
D50C805F tlbi ripas2e1is
31825+
D50C80BF tlbi ipas2le1is
31826+
D50C80DF tlbi ripas2le1is
31827+
D50C811F tlbi alle2os
31828+
D50C813F tlbi vae2os
31829+
D50C819F tlbi alle1os
31830+
D50C81BF tlbi vale2os
31831+
D50C81DF tlbi vmalls12e1os
31832+
D50C823F tlbi rvae2is
31833+
D50C825F tlbi vmallws2e1is
31834+
D50C82BF tlbi rvale2is
31835+
D50C831F tlbi alle2is
31836+
D50C833F tlbi vae2is
31837+
D50C839F tlbi alle1is
31838+
D50C83BF tlbi vale2is
31839+
D50C83DF tlbi vmalls12e1is
31840+
D50C841F tlbi ipas2e1os
31841+
D50C843F tlbi ipas2e1
31842+
D50C845F tlbi ripas2e1
31843+
D50C847F tlbi ripas2e1os
31844+
D50C849F tlbi ipas2le1os
31845+
D50C84BF tlbi ipas2le1
31846+
D50C84DF tlbi ripas2le1
31847+
D50C84FF tlbi ripas2le1os
31848+
D50C853F tlbi rvae2os
31849+
D50C855F tlbi vmallws2e1os
31850+
D50C85BF tlbi rvale2os
31851+
D50C863F tlbi rvae2
31852+
D50C865F tlbi vmallws2e1
31853+
D50C86BF tlbi rvale2
31854+
D50C871F tlbi alle2
31855+
D50C873F tlbi vae2
31856+
D50C879F tlbi alle1
31857+
D50C87BF tlbi vale2
31858+
D50C87DF tlbi vmalls12e1
31859+
D50C903F tlbi ipas2e1isnxs
31860+
D50C905F tlbi ripas2e1isnxs
31861+
D50C90BF tlbi ipas2le1isnxs
31862+
D50C90DF tlbi ripas2le1isnxs
31863+
D50C911F tlbi alle2osnxs
31864+
D50C913F tlbi vae2osnxs
31865+
D50C919F tlbi alle1osnxs
31866+
D50C91BF tlbi vale2osnxs
31867+
D50C91DF tlbi vmalls12e1osnxs
31868+
D50C923F tlbi rvae2isnxs
31869+
D50C925F tlbi vmallws2e1isnxs
31870+
D50C92BF tlbi rvale2isnxs
31871+
D50C931F tlbi alle2isnxs
31872+
D50C933F tlbi vae2isnxs
31873+
D50C939F tlbi alle1isnxs
31874+
D50C93BF tlbi vale2isnxs
31875+
D50C93DF tlbi vmalls12e1isnxs
31876+
D50C941F tlbi ipas2e1osnxs
31877+
D50C943F tlbi ipas2e1nxs
31878+
D50C945F tlbi ripas2e1nxs
31879+
D50C947F tlbi ripas2e1osnxs
31880+
D50C949F tlbi ipas2le1osnxs
31881+
D50C94BF tlbi ipas2le1nxs
31882+
D50C94DF tlbi ripas2le1nxs
31883+
D50C94FF tlbi ripas2le1osnxs
31884+
D50C953F tlbi rvae2osnxs
31885+
D50C955F tlbi vmallws2e1osnxs
31886+
D50C95BF tlbi rvale2osnxs
31887+
D50C963F tlbi rvae2nxs
31888+
D50C965F tlbi vmallws2e1nxs
31889+
D50C96BF tlbi rvale2nxs
31890+
D50C971F tlbi alle2nxs
31891+
D50C973F tlbi vae2nxs
31892+
D50C979F tlbi alle1nxs
31893+
D50C97BF tlbi vale2nxs
31894+
D50C97DF tlbi vmalls12e1nxs
31895+
D50E811F tlbi alle3os
31896+
D50E813F tlbi vae3os
31897+
D50E819F tlbi paallos
31898+
D50E81BF tlbi vale3os
31899+
D50E823F tlbi rvae3is
31900+
D50E82BF tlbi rvale3is
31901+
D50E831F tlbi alle3is
31902+
D50E833F tlbi vae3is
31903+
D50E83BF tlbi vale3is
31904+
D50E847F tlbi rpaos
31905+
D50E84FF tlbi rpalos
31906+
D50E853F tlbi rvae3os
31907+
D50E85BF tlbi rvale3os
31908+
D50E863F tlbi rvae3
31909+
D50E86BF tlbi rvale3
31910+
D50E871F tlbi alle3
31911+
D50E873F tlbi vae3
31912+
D50E879F tlbi paall
31913+
D50E87BF tlbi vale3
31914+
D50E911F tlbi alle3osnxs
31915+
D50E913F tlbi vae3osnxs
31916+
D50E91BF tlbi vale3osnxs
31917+
D50E923F tlbi rvae3isnxs
31918+
D50E92BF tlbi rvale3isnxs
31919+
D50E931F tlbi alle3isnxs
31920+
D50E933F tlbi vae3isnxs
31921+
D50E93BF tlbi vale3isnxs
31922+
D50E953F tlbi rvae3osnxs
31923+
D50E95BF tlbi rvale3osnxs
31924+
D50E963F tlbi rvae3nxs
31925+
D50E96BF tlbi rvale3nxs
31926+
D50E971F tlbi alle3nxs
31927+
D50E973F tlbi vae3nxs
31928+
D50E97BF tlbi vale3nxs
3158031929
D50D892E sys #0x5, c8, c9, #0x1, x14
3158131930
D50B8962 sys #0x3, c8, c9, #0x3, x2
3158231931
D50D8D10 sys #0x5, c8, c13, #0x0, x16

0 commit comments

Comments
 (0)