-
Notifications
You must be signed in to change notification settings - Fork 1
riscv_use_real_ext_names_on_testcases
Tsukasa OI edited this page Nov 19, 2022
·
4 revisions
- Status: WITHDRAWN
(will be superseded by another testing patchset) - Branch:
riscv-use-real-ext-names-on-testcases
- Tracking PR: #57 (view Pull Request and Diff)
- Mailing List:
- PATCH v1 (2022-09-23)
- PATCH v1 (PING 1) (2022-10-26)
Most of the RISC-V GAS testsuite uses real extension names but there are a few counterexamples. I will talk about following tests:
-
b-ext
andb-ext-64
, forZb*
exceptZbk*
-
k-ext
andk-ext-64
, forZk*
andZbk*
They:
- provide unnecessary confusion (that major
B
andK
extensions exist), for example shown in: https://sourceware.org/bugzilla/show_bug.cgi?id=29341 and - do not test separate extension (they are multiple subextensions).
To avoid confusion and test individual extensions separately, this patchset provides per-extension testcases and removes b-ext{,-64}
and k-ext{,-64}
.
There's another effect. Splitting B
testcases will clarify that zext.h
and zext.w
(seemingly similar) instructions belong to different extension:
-
zext.h
(RV32/64_Zbb
) -
zext.w
(RV64_Zba
) ← notZbb
!
- Split
b-ext
andb-ext-64
to:zba{,-64}
zbb{,-64}
zbc
zbs{,-64}
- Reuse existing
zk*
andzbk*
testcases because they are fine as is, - Add new testcases for separate extension:
-
zkr
(along withZicsr
, to testseed
CSR accessibility) -
zkt
(just to test extension support)
-
- Remove:
b-ext{,-64}
k-ext{,-64}
For vector-insn*
, I'll leave this for now but it might possible to split (e.g. to three testcases for two instruction classes and INSN_V_EEW64
).
Still, I think this is not as important as b-ext{,-64}
and k-ext{,-64}
and I don't complain about using vector-insn*
names themselves.