Details
- Reviewers
zixuan-wu - Commits
- rGf40682a930d6: [CSKY] Optimize subtraction with SUBI32/SUBI16
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
llvm/test/CodeGen/CSKY/base-i.ll | ||
---|---|---|
43 | Yes. I would like to show the upper boundary of ADDI16. |
llvm/lib/Target/CSKY/CSKYInstrInfo.td | ||
---|---|---|
537 | I think the similar Pat for SUBI16 should also be added when there is no SUBI32 |
llvm/lib/Target/CSKY/CSKYInstrInfo.td | ||
---|---|---|
537 | I have added in the file CSKYInstrInfo16Instr.td. |
BTW, as the check-all test is not enough, have you run llvm-test-suite sometimes although it's not needed every patch? I think should run llvm-test-suite in qemu from time to time.
Thanks. I will try. Further questions,
- Is there any QEMU pre-build package I can use?
- Also csky-binutils pre-build package, where I can download?
- Any other tools are needed to run llvm-test-suite ? Is there a wiki page for that ?
- You can download at https://xuantie.t-head.cn/community/download?id=4168444414324183040
- clang on csky depends to gcc runtime so it needs gcc toolchain, you can download at https://xuantie.t-head.cn/community/download?id=3854599713706024960
- Sorry about no document to describe the run process of llvm-test-suite in csky. But there is llvm build bot you can refer to. https://lab.llvm.org/staging/#/builders/215/builds/2795
I have run the SingleSource and MultiSource of the llvm-test-suite with this patch applied, there are several failures, and several link errors.
Failures of SingleSource
******************** ******************** Failed Tests (1): test-suite :: SingleSource/Benchmarks/SmallPT/smallpt.test Testing Time: 11971.65s Passed: 324 Failed: 1
Failures of MultiSource
******************** ******************** Failed Tests (4): test-suite :: MultiSource/Applications/ClamAV/clamscan.test test-suite :: MultiSource/Benchmarks/SciMark2-C/scimark2.test test-suite :: MultiSource/Benchmarks/TSVC/NodeSplitting-dbl/NodeSplitting-dbl.test test-suite :: MultiSource/Benchmarks/mafft/pairlocalalign.test Testing Time: 11903.17s Passed: 185 Failed: 4
And the cases disabled for link errors
MultiSource/Benchmarks/Bullet MultiSource/Benchmarks/tramp3d-v4 MultiSource/Benchmarks/7zip MultiSource/Benchmarks/PAQ8p SingleSource/Benchmarks/Misc-C++-EH SingleSource/Regression/C++/2003-06-08-BaseType.cpp SingleSource/UnitTests/AtomicOps.c
Is that result OK?
There is only one fail case clamscan.test, all of others should be passed.link error is about to add extra compiling flag of "-latomic".
As the two buildbot are success(exception for the only clamscan.test fails), https://lab.llvm.org/staging/#/builders/216/builds/1806 and https://lab.llvm.org/staging/#/builders/215/builds/2819, I think maybe you got wrong run command of qemu. And could you please provide your run command of qemu?
I run Qemu by defining -DTEST_SUITE_RUN_UNDER="/usr/bin/qemu-cskyv2" when doing cmake, without specifying other flags. And that is fine, I see that my patch does not cause any harm, this is enough. Thanks!
Also need specify library path and other options. Please see https://github.com/llvm/llvm-zorg/blob/8006da069b5776b01fc5204d267e65e48f86c80e/buildbot/osuosl/master/config/builders.py#L2615.
I think there is no oimm specific meaning, just use imm_neg or neg_imm would be fine.