Updated diff after adding -mattr=+avx512vpopcntdq to the test: avx512vpopcntdq-schedule-intrinsics.ll
- Queries
- All Stories
- Search
- Advanced Search
- Transactions
- Transaction Logs
Advanced Search
Sep 20 2017
Updated diff after splitting the avx512 scheduling test into the following test files:
avx512bw-schedule-intrinsics.ll
avx512bwvl-schedule-intrinsics.ll
avx512cd-schedule-intrinsics.ll
avx512cdvl-schedule-intrinsics.ll
avx512dq-schedule-intrinsics.ll
avx512dqvl-schedule-intrinsics.ll
avx512-schedule-fma-intrinsics.ll
avx512-schedule-gather-scatter-intrin.ll
avx512-schedule-intrinsics.ll
avx512vpopcntdq-schedule-intrinsics.ll
Sep 19 2017
Sep 18 2017
Sep 17 2017
If you do not see standing issues, please accept the review so we can focus on SKylakeServer. Thanx!
Sep 15 2017
Yes. Make sense. I will start with extending the avx512 scheduling test coverage.
Please note that apart from this scheduling patch we have only one more large patch left - the SkylakeServer schedulings, which I like to submit for review as soon as this one is committed.
Sep 14 2017
corrected updated diff to use git diff HEAD^
good catch on the missing scheduling for gather instructions!
Updated diff after fixing scheduling information was missing from avx2-schedule.ll test due to a typo bug in the X86SchedSkylakeCleint.td
Sep 13 2017
Updated diff after rebase codegen tests + added VGATHER schedulings.
Updated diff to include the --check-prefix=COMMON flag in the run commands.
Sep 12 2017
Yes I'm working to add the GATHER instructions.
As an example here are the encodings coverage I have for the MULX32rm opcode:
Sep 11 2017
In fact, my next task after committing the SKL + SKX scheduling is to extend the MC tests to include all encodings coverage of all the instructions starting SNB.
Not sure if ALL encoding variations with all register types 8,16,32,64 will be included but at the moment I was able to gather more than 10K encodings coverage for about 5K LLVM opcodes.
Updated after the following changes:
- modifying 3 Codegen tests to use the -mattr flag instead of the -mcpu flags.
- removing remaining AVX512 instructions for mask registers manipulations in X86SchedSkylake.td
- Changed the load latency from 4 cycles in HSW to 5 cycles.
- Better regrouping some of the instructions in X86SchedSkylake.td
generated new diff with all changes.
Added the following comment to pr32329.ll:
"According to https://bugs.llvm.org/show_bug.cgi?id=32329 it checks DAG ISEL failure on SKX target"
Sep 7 2017
Sep 5 2017
Sep 4 2017
Updated diff after removing all AVX512 instructions
Good point. All AVX512 ISA is disabled in SKL. Will update the diff file.
Aug 30 2017
Aug 29 2017
Aug 28 2017
Aug 27 2017
Updated diff following comments by Craig. Brought back BSWAP(16|32) + fixed ports for the MUL and IMUL 16 and 32.
Aug 23 2017
Updated diff file after comments by Craig Topper about differences in MUL and IMUL instructions for 8 vs. 16 vs 32 vs 64 bits.
Unfortunately, splitting the patch creates an even worse case of unstable scheduling which produces regressions.
I am working on fine tuning the existing scheduling - which I hope to put on review soon.
Aug 21 2017
Aug 20 2017
Updated diff after comments by Craig. Found missing some of the IMUL instrs + added the rr_REV instructions.
Ignore my last comment.
I was able to retrieve the information for IMUL(16|32|64)rri8 and IMUL(16|32|64)rmi8
I will add them in.
Unfortunately, I could not retrieve the data about the mentioned IMUL instructions from the HSW architects.
I hope to dig into the archives together with the architects and search for all missing instructions in the next commits for both SNB, HSW and the next SKX and SKL patches.
Aug 16 2017
I see. Code alignment in X86 is indeed an issue.
There are currently two pending reviews for patches that start providing a fix for the code alignment issue in X86.
The reviews are in a pending state for quite some time now.
Maybe we can give them higher priority and get them in?
20% is high. Try to verify if this is not code alignment related.
Aug 14 2017
Yes, This is correct.
Aug 13 2017
Aug 8 2017
ping.
Aug 7 2017
Jul 10 2017
Jul 6 2017
2nd updated diff with cleaner diff on gather_address.ll test following comments by Zvi Rackover.
Jul 5 2017
Updated diff following comments by zvi.
Jul 4 2017
Updated diff after adding back a comment related to test_floatret function.
Jul 3 2017
Updated diff file after fixing comments provided by Simon.
Jul 2 2017
Jun 28 2017
Dear Chandler.
Following Chandler's comments I am reverting the commit to address the issues reported in the modified tests.
Jun 27 2017
rebase with latest LLVM version fro June 27 2017
Jun 26 2017
ping
Jun 25 2017
Updated diff to include recent changes made to X86 schedule .td files for horizontal add/sub instructions
Jun 19 2017
Updated diff following fixes made to 3 LITs under Codegen X86.