Page MenuHomePhabricator
Feed Advanced Search

Sep 20 2017

gadi.haber updated the diff for D38035: [X86][SKX] Added codegen regression test for avx512 instructions scheduling.NFC..

Updated diff after adding -mattr=+avx512vpopcntdq to the test: avx512vpopcntdq-schedule-intrinsics.ll

Sep 20 2017, 7:53 AM
gadi.haber updated the diff for D38035: [X86][SKX] Added codegen regression test for avx512 instructions scheduling.NFC..

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 20 2017, 3:48 AM
gadi.haber retitled D38035: [X86][SKX] Added codegen regression test for avx512 instructions scheduling.NFC. from [X86][SKX] Added codegen regression test for avx512 instructions scheduling to [X86][SKX] Added codegen regression test for avx512 instructions scheduling.NFC..
Sep 20 2017, 3:42 AM

Sep 19 2017

gadi.haber created D38035: [X86][SKX] Added codegen regression test for avx512 instructions scheduling.NFC..
Sep 19 2017, 6:22 AM

Sep 18 2017

gadi.haber committed rL313613: [X86][Skylake] Adding the scheduling information for the SkylakeClient target.
[X86][Skylake] Adding the scheduling information for the SkylakeClient target
Sep 18 2017, 11:21 PM
gadi.haber closed D37294: [X86][Skylake] Adding the scheduling information for the SkylakeClient target by committing rL313613: [X86][Skylake] Adding the scheduling information for the SkylakeClient target.
Sep 18 2017, 11:21 PM

Sep 17 2017

gadi.haber added a comment to D37294: [X86][Skylake] Adding the scheduling information for the SkylakeClient target.

If you do not see standing issues, please accept the review so we can focus on SKylakeServer. Thanx!

Sep 17 2017, 11:02 PM

Sep 15 2017

gadi.haber added a comment to D37294: [X86][Skylake] Adding the scheduling information for the SkylakeClient target.

Yes. Make sense. I will start with extending the avx512 scheduling test coverage.

Sep 15 2017, 10:47 PM
gadi.haber added a comment to D37294: [X86][Skylake] Adding the scheduling information for the SkylakeClient target.

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 15 2017, 1:26 AM

Sep 14 2017

gadi.haber updated the diff for D37294: [X86][Skylake] Adding the scheduling information for the SkylakeClient target.

corrected updated diff to use git diff HEAD^

Sep 14 2017, 1:39 AM
gadi.haber added a comment to D37294: [X86][Skylake] Adding the scheduling information for the SkylakeClient target.

good catch on the missing scheduling for gather instructions!

Sep 14 2017, 1:31 AM
gadi.haber updated the diff for D37294: [X86][Skylake] Adding the scheduling information for the SkylakeClient target.

Updated diff after fixing scheduling information was missing from avx2-schedule.ll test due to a typo bug in the X86SchedSkylakeCleint.td

Sep 14 2017, 1:31 AM

Sep 13 2017

gadi.haber updated the diff for D37294: [X86][Skylake] Adding the scheduling information for the SkylakeClient target.

Updated diff after rebase codegen tests + added VGATHER schedulings.

Sep 13 2017, 7:36 AM
gadi.haber committed rL313144: [X86][Skylake] Replacing -mcpu=skx by -mattr in a codegen test. NFC..
[X86][Skylake] Replacing -mcpu=skx by -mattr in a codegen test. NFC.
Sep 13 2017, 5:40 AM
gadi.haber created D37799: [X86][Skylake] Replacing -mcpu=skx by -mattr in a codegen test. NFC..
Sep 13 2017, 4:31 AM
gadi.haber committed rL313138: [X86][Skylake][KNL] Updating code gen regression test to use the KNL and….
[X86][Skylake][KNL] Updating code gen regression test to use the KNL and…
Sep 13 2017, 2:30 AM
gadi.haber committed rL313137: [X86][Skylake][KNL] Updating code gen regression test to use the KNL and….
[X86][Skylake][KNL] Updating code gen regression test to use the KNL and…
Sep 13 2017, 2:29 AM
gadi.haber committed rL313136: NFC..
NFC.
Sep 13 2017, 2:29 AM
gadi.haber updated the diff for D37796: [X86][Skylake][KNL] Updating code gen regression test to use the KNL and SKYLAKE prefixes. NFC,.

Updated diff to include the --check-prefix=COMMON flag in the run commands.

Sep 13 2017, 1:42 AM
gadi.haber retitled D37796: [X86][Skylake][KNL] Updating code gen regression test to use the KNL and SKYLAKE prefixes. NFC, from [X86][Skylake][KNL] Updating code gen regression test to use the KNL and SKYLAKE prefixes to [X86][Skylake][KNL] Updating code gen regression test to use the KNL and SKYLAKE prefixes. NFC,.
Sep 13 2017, 1:22 AM
gadi.haber created D37796: [X86][Skylake][KNL] Updating code gen regression test to use the KNL and SKYLAKE prefixes. NFC,.
Sep 13 2017, 1:06 AM

Sep 12 2017

gadi.haber added a comment to D37294: [X86][Skylake] Adding the scheduling information for the SkylakeClient target.

Yes I'm working to add the GATHER instructions.

Sep 12 2017, 11:37 PM
gadi.haber added a comment to D37294: [X86][Skylake] Adding the scheduling information for the SkylakeClient target.

As an example here are the encodings coverage I have for the MULX32rm opcode:

Sep 12 2017, 3:02 AM

Sep 11 2017

gadi.haber added a comment to D37294: [X86][Skylake] Adding the scheduling information for the SkylakeClient target.

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.

Sep 11 2017, 11:12 AM
gadi.haber updated the diff for D37294: [X86][Skylake] Adding the scheduling information for the SkylakeClient target.

Updated after the following changes:

  1. modifying 3 Codegen tests to use the -mattr flag instead of the -mcpu flags.
  2. removing remaining AVX512 instructions for mask registers manipulations in X86SchedSkylake.td
  3. Changed the load latency from 4 cycles in HSW to 5 cycles.
  4. Better regrouping some of the instructions in X86SchedSkylake.td
Sep 11 2017, 5:20 AM
gadi.haber committed rL312909: [X86][SKX][KNL] Updating several CodeGen tests to use the attr flag instead of….
[X86][SKX][KNL] Updating several CodeGen tests to use the attr flag instead of…
Sep 11 2017, 4:27 AM
gadi.haber updated the diff for D37674: [X86][SKX][KNL] Updating several CodeGen tests to use the attr flag instead of mcpu flag.

generated new diff with all changes.

Sep 11 2017, 2:17 AM
gadi.haber updated the diff for D37674: [X86][SKX][KNL] Updating several CodeGen tests to use the attr flag instead of mcpu flag.

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 11 2017, 12:53 AM
gadi.haber created D37674: [X86][SKX][KNL] Updating several CodeGen tests to use the attr flag instead of mcpu flag.
Sep 11 2017, 12:23 AM

Sep 7 2017

gadi.haber added inline comments to D37294: [X86][Skylake] Adding the scheduling information for the SkylakeClient target.
Sep 7 2017, 9:51 PM

Sep 5 2017

gadi.haber added inline comments to D37294: [X86][Skylake] Adding the scheduling information for the SkylakeClient target.
Sep 5 2017, 6:09 AM
gadi.haber added inline comments to D37294: [X86][Skylake] Adding the scheduling information for the SkylakeClient target.
Sep 5 2017, 4:54 AM
gadi.haber added inline comments to D37294: [X86][Skylake] Adding the scheduling information for the SkylakeClient target.
Sep 5 2017, 4:08 AM

Sep 4 2017

gadi.haber updated the diff for D37294: [X86][Skylake] Adding the scheduling information for the SkylakeClient target.

Updated diff after removing all AVX512 instructions

Sep 4 2017, 2:37 AM
gadi.haber added a comment to D37294: [X86][Skylake] Adding the scheduling information for the SkylakeClient target.

Good point. All AVX512 ISA is disabled in SKL. Will update the diff file.

Sep 4 2017, 2:00 AM

Aug 30 2017

gadi.haber created D37294: [X86][Skylake] Adding the scheduling information for the SkylakeClient target.
Aug 30 2017, 5:59 AM
gadi.haber committed rL312103: [X86][Skylake] Fixing duplicated prefixes in the run command of Code Gen….
[X86][Skylake] Fixing duplicated prefixes in the run command of Code Gen…
Aug 30 2017, 1:10 AM
gadi.haber closed D37258: [X86][Skylake] Fixing duplicated prefixes in the run command of Code Gen regression tests by committing rL312103: [X86][Skylake] Fixing duplicated prefixes in the run command of Code Gen….
Aug 30 2017, 1:10 AM

Aug 29 2017

gadi.haber created D37258: [X86][Skylake] Fixing duplicated prefixes in the run command of Code Gen regression tests.
Aug 29 2017, 3:37 AM

Aug 28 2017

gadi.haber committed rL311879: [X86][Haswell] Updating HSW instruction scheduling information.
[X86][Haswell] Updating HSW instruction scheduling information
Aug 28 2017, 3:05 AM
gadi.haber closed D36663: [X86][Haswell] Updating HSW instruction scheduling information by committing rL311879: [X86][Haswell] Updating HSW instruction scheduling information.
Aug 28 2017, 3:05 AM

Aug 27 2017

gadi.haber updated the diff for D36663: [X86][Haswell] Updating HSW instruction scheduling information.

Updated diff following comments by Craig. Brought back BSWAP(16|32) + fixed ports for the MUL and IMUL 16 and 32.

Aug 27 2017, 1:39 AM
gadi.haber added inline comments to D36663: [X86][Haswell] Updating HSW instruction scheduling information.
Aug 27 2017, 1:02 AM

Aug 23 2017

gadi.haber updated the diff for D36663: [X86][Haswell] Updating HSW instruction scheduling information.

Updated diff file after comments by Craig Topper about differences in MUL and IMUL instructions for 8 vs. 16 vs 32 vs 64 bits.

Aug 23 2017, 5:12 AM
gadi.haber added a comment to D36388: [X86][SandyBridge] Additional updates to the SNB instructions scheduling information .

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 23 2017, 12:28 AM

Aug 21 2017

gadi.haber added inline comments to D36663: [X86][Haswell] Updating HSW instruction scheduling information.
Aug 21 2017, 1:04 AM
gadi.haber added inline comments to D36663: [X86][Haswell] Updating HSW instruction scheduling information.
Aug 21 2017, 12:03 AM

Aug 20 2017

gadi.haber added inline comments to D36663: [X86][Haswell] Updating HSW instruction scheduling information.
Aug 20 2017, 5:51 AM
gadi.haber updated the diff for D36663: [X86][Haswell] Updating HSW instruction scheduling information.

Updated diff after comments by Craig. Found missing some of the IMUL instrs + added the rr_REV instructions.

Aug 20 2017, 5:48 AM
gadi.haber added inline comments to D36663: [X86][Haswell] Updating HSW instruction scheduling information.
Aug 20 2017, 5:46 AM
gadi.haber added a comment to D36663: [X86][Haswell] Updating HSW instruction scheduling information.

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.

Aug 20 2017, 4:18 AM
gadi.haber added a comment to D36663: [X86][Haswell] Updating HSW instruction scheduling information.

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 20 2017, 3:56 AM

Aug 16 2017

gadi.haber added a comment to D36388: [X86][SandyBridge] Additional updates to the SNB instructions scheduling information .

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?

Aug 16 2017, 10:56 PM
gadi.haber added a comment to D36388: [X86][SandyBridge] Additional updates to the SNB instructions scheduling information .

20% is high. Try to verify if this is not code alignment related.

Aug 16 2017, 3:03 AM

Aug 14 2017

gadi.haber accepted D36658: [AVX512] Make the itinerary parameter actually pass through the the AVX512_maskable_common multiclass .
Aug 14 2017, 1:39 AM
gadi.haber added a comment to D36658: [AVX512] Make the itinerary parameter actually pass through the the AVX512_maskable_common multiclass .

Yes, This is correct.

Aug 14 2017, 1:39 AM

Aug 13 2017

gadi.haber created D36663: [X86][Haswell] Updating HSW instruction scheduling information.
Aug 13 2017, 11:55 PM
gadi.haber abandoned D36662: [X86][Haswell] Updating the HSW instruction scheduling.
Aug 13 2017, 11:53 PM
gadi.haber removed a reviewer for D36662: [X86][Haswell] Updating the HSW instruction scheduling: llvm-commits.
Aug 13 2017, 11:48 PM
gadi.haber added a reviewer for D36662: [X86][Haswell] Updating the HSW instruction scheduling: llvm-commits.
Aug 13 2017, 11:43 PM
gadi.haber updated subscribers of D36662: [X86][Haswell] Updating the HSW instruction scheduling.
Aug 13 2017, 11:12 PM
gadi.haber created D36662: [X86][Haswell] Updating the HSW instruction scheduling.
Aug 13 2017, 11:12 PM
gadi.haber committed rL310792: [X86][SandyBridge] Additional updates to the SNB instructions scheduling….
[X86][SandyBridge] Additional updates to the SNB instructions scheduling…
Aug 13 2017, 7:00 AM
gadi.haber closed D36388: [X86][SandyBridge] Additional updates to the SNB instructions scheduling information by committing rL310792: [X86][SandyBridge] Additional updates to the SNB instructions scheduling….
Aug 13 2017, 7:00 AM

Aug 8 2017

gadi.haber added a comment to D36388: [X86][SandyBridge] Additional updates to the SNB instructions scheduling information .

ping.

Aug 8 2017, 11:47 PM

Aug 7 2017

gadi.haber added a reviewer for D36388: [X86][SandyBridge] Additional updates to the SNB instructions scheduling information : aymanmus.
Aug 7 2017, 1:21 AM
gadi.haber created D36388: [X86][SandyBridge] Additional updates to the SNB instructions scheduling information .
Aug 7 2017, 1:01 AM

Jul 10 2017

gadi.haber committed rL307529: This patch completely replaces the scheduling information for the SandyBridge….
This patch completely replaces the scheduling information for the SandyBridge…
Jul 10 2017, 2:54 AM
gadi.haber closed D35019: [X86][SandyBridgel] Updating all scheduling information on each SNB instruction about latency, number of uOps and used ports by committing rL307529: This patch completely replaces the scheduling information for the SandyBridge….
Jul 10 2017, 2:53 AM

Jul 6 2017

gadi.haber updated the diff for D35019: [X86][SandyBridgel] Updating all scheduling information on each SNB instruction about latency, number of uOps and used ports.

2nd updated diff with cleaner diff on gather_address.ll test following comments by Zvi Rackover.

Jul 6 2017, 1:20 AM

Jul 5 2017

gadi.haber updated the diff for D35019: [X86][SandyBridgel] Updating all scheduling information on each SNB instruction about latency, number of uOps and used ports.

Updated diff following comments by zvi.

Jul 5 2017, 11:46 PM
gadi.haber added inline comments to D35019: [X86][SandyBridgel] Updating all scheduling information on each SNB instruction about latency, number of uOps and used ports.
Jul 5 2017, 10:38 PM
gadi.haber updated the summary of D35019: [X86][SandyBridgel] Updating all scheduling information on each SNB instruction about latency, number of uOps and used ports.
Jul 5 2017, 10:57 AM
gadi.haber created D35019: [X86][SandyBridgel] Updating all scheduling information on each SNB instruction about latency, number of uOps and used ports.
Jul 5 2017, 10:11 AM

Jul 4 2017

gadi.haber committed rL307108.
Jul 4 2017, 2:51 PM
gadi.haber closed D34934: [X86] Convert CodeGen test half.ll to be update_llc_test_checks friendly. NFC. by committing rL307108.
Jul 4 2017, 2:51 PM
gadi.haber updated the diff for D34934: [X86] Convert CodeGen test half.ll to be update_llc_test_checks friendly. NFC..

Updated diff after adding back a comment related to test_floatret function.

Jul 4 2017, 12:37 AM
gadi.haber committed rL307066: NFC commit..
NFC commit.
Jul 4 2017, 12:19 AM
gadi.haber closed D34935: [X86] Convert test "extractelement-legalization-store-ordering.ll" to be "update_llc_test_checks" tool friendly. NFC. by committing rL307066: NFC commit..
Jul 4 2017, 12:18 AM

Jul 3 2017

gadi.haber updated the diff for D34934: [X86] Convert CodeGen test half.ll to be update_llc_test_checks friendly. NFC..

Updated diff file after fixing comments provided by Simon.

Jul 3 2017, 1:00 PM
gadi.haber created D34935: [X86] Convert test "extractelement-legalization-store-ordering.ll" to be "update_llc_test_checks" tool friendly. NFC..
Jul 3 2017, 7:33 AM

Jul 2 2017

gadi.haber created D34934: [X86] Convert CodeGen test half.ll to be update_llc_test_checks friendly. NFC..
Jul 2 2017, 6:20 AM
gadi.haber committed rL306973: [X86] Rerun "update_llc_test_checks" tool on CodeGen tests. NFC..
[X86] Rerun "update_llc_test_checks" tool on CodeGen tests. NFC.
Jul 2 2017, 5:02 AM
gadi.haber closed D34933: [X86] Rerun "update_llc_test_checks" tool on CodeGen tests. NFC. by committing rL306973: [X86] Rerun "update_llc_test_checks" tool on CodeGen tests. NFC..
Jul 2 2017, 5:02 AM
gadi.haber created D34933: [X86] Rerun "update_llc_test_checks" tool on CodeGen tests. NFC..
Jul 2 2017, 4:32 AM

Jun 28 2017

gadi.haber abandoned D33897: [X86][SandyBridge,Haswell] Updating information on each instruction in HSW and SNB about latency, number of uOps and used ports.
Jun 28 2017, 11:15 PM
gadi.haber updated the summary of D33897: [X86][SandyBridge,Haswell] Updating information on each instruction in HSW and SNB about latency, number of uOps and used ports.
Jun 28 2017, 5:54 AM
gadi.haber updated subscribers of D33897: [X86][SandyBridge,Haswell] Updating information on each instruction in HSW and SNB about latency, number of uOps and used ports.
Jun 28 2017, 5:32 AM
gadi.haber added a comment to D33897: [X86][SandyBridge,Haswell] Updating information on each instruction in HSW and SNB about latency, number of uOps and used ports.

Dear Chandler.

Jun 28 2017, 5:19 AM
gadi.haber updated the summary of D33897: [X86][SandyBridge,Haswell] Updating information on each instruction in HSW and SNB about latency, number of uOps and used ports.
Jun 28 2017, 5:10 AM
gadi.haber added a reviewer for D33897: [X86][SandyBridge,Haswell] Updating information on each instruction in HSW and SNB about latency, number of uOps and used ports: chandlerc.
Jun 28 2017, 3:54 AM
gadi.haber reopened D33897: [X86][SandyBridge,Haswell] Updating information on each instruction in HSW and SNB about latency, number of uOps and used ports.

Following Chandler's comments I am reverting the commit to address the issues reported in the modified tests.

Jun 28 2017, 3:52 AM

Jun 27 2017

gadi.haber committed rL306414: Updated and extended the information about each instruction in HSW and SNB to….
Updated and extended the information about each instruction in HSW and SNB to…
Jun 27 2017, 8:06 AM
gadi.haber closed D33897: [X86][SandyBridge,Haswell] Updating information on each instruction in HSW and SNB about latency, number of uOps and used ports by committing rL306414: Updated and extended the information about each instruction in HSW and SNB to….
Jun 27 2017, 8:05 AM
gadi.haber updated the diff for D33897: [X86][SandyBridge,Haswell] Updating information on each instruction in HSW and SNB about latency, number of uOps and used ports.

rebase with latest LLVM version fro June 27 2017

Jun 27 2017, 7:36 AM

Jun 26 2017

gadi.haber added a comment to D33897: [X86][SandyBridge,Haswell] Updating information on each instruction in HSW and SNB about latency, number of uOps and used ports.

ping

Jun 26 2017, 4:20 AM

Jun 25 2017

gadi.haber updated the diff for D33897: [X86][SandyBridge,Haswell] Updating information on each instruction in HSW and SNB about latency, number of uOps and used ports.

Updated diff to include recent changes made to X86 schedule .td files for horizontal add/sub instructions

Jun 25 2017, 11:35 PM

Jun 19 2017

gadi.haber updated the diff for D33897: [X86][SandyBridge,Haswell] Updating information on each instruction in HSW and SNB about latency, number of uOps and used ports.

Updated diff following fixes made to 3 LITs under Codegen X86.

Jun 19 2017, 6:44 AM

Jun 7 2017

gadi.haber updated subscribers of D33897: [X86][SandyBridge,Haswell] Updating information on each instruction in HSW and SNB about latency, number of uOps and used ports.
Jun 7 2017, 1:15 AM
gadi.haber updated subscribers of D33897: [X86][SandyBridge,Haswell] Updating information on each instruction in HSW and SNB about latency, number of uOps and used ports.
Jun 7 2017, 12:58 AM