This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH 0/5] Add support -mcpu=thunderxt88pass1 and needed changes to support that
- From: Kyrill Tkachov <kyrylo dot tkachov at arm dot com>
- To: Andrew Pinski <apinski at cavium dot com>, gcc-patches at gcc dot gnu dot org
- Date: Thu, 19 Nov 2015 12:08:38 +0000
- Subject: Re: [PATCH 0/5] Add support -mcpu=thunderxt88pass1 and needed changes to support that
- Authentication-results: sourceware.org; auth=none
- References: <1447798238-29608-1-git-send-email-apinski at cavium dot com>
Hi Andrew,
On 17/11/15 22:10, Andrew Pinski wrote:
To Add support for -mcpu=thunderxt88pass1, I needed to fix up a few
things in the support for -mcpu=native. First was I wanted to do the same
cleanup that was done for some of the other .def files and move the
#undef into the .def files instead of the .h files.
Second to make it easier to understand the implemention_id and part numbers
are really numbers, move them over to use integer to compare against
instead of strings which allows for easier comparisons later on.
Third fix the way we compare imp and part num; that is instead of finding
the part number and then comparing the imp, we find both numbers first
and then search for the ones that match.
Add a comment to the aarch64-cores.def file in front of each group of cores
to signify the groups of company's cores.
And all of this allows for adding variant for the check of the cores
which allows for thunderxt88pass1 to be added.
The reason why thunderxt88pass1 is seperate from thunderx is because
thunderx is changed to be an ARMv8.1 arch core while thunderxt88pass1
is still an ARMv8 arch core.
I tested each of these patches seperately.
I tried these patches out on a big.LITTLE system with 2 Cortex-A57 and 4 Cortex-A53
cores and the code doesn't detect it properly anymore. Can you have a look please?
The Linux /proc/cpuinfo for that system looks like what's described here:
https://lists.linaro.org/pipermail/cross-distro/2014-October/000750.html
Look for the entry "[3] arm64, v3.17 + this patch, Juno platform "
You can put that into a file, point the fopen call in driver-aarch64.c to that file
and use that to debug the issue.
Thanks,
Kyrill
Ok for the trunk even though I missed out on stage 1?
Thanks,
Andrew
Andrew Pinski (5):
[AARCH64]: Move #undef into .def files.
[AARCH64] Change IMP and PART over to integers from strings.
[AARCH64] Fix part num and implement indendent.
{AARCH64] Add comment for the company's cores.
[AARCH64] Add variant support to -m*=native and add thunderxt88pass1.
gcc/common/config/aarch64/aarch64-common.c | 5 +-
gcc/config/aarch64/aarch64-arches.def | 1 +
gcc/config/aarch64/aarch64-cores.def | 43 ++++--
gcc/config/aarch64/aarch64-fusion-pairs.def | 1 +
gcc/config/aarch64/aarch64-option-extensions.def | 2 +
gcc/config/aarch64/aarch64-opts.h | 4 +-
gcc/config/aarch64/aarch64-protos.h | 4 -
gcc/config/aarch64/aarch64-tune.md | 2 +-
gcc/config/aarch64/aarch64-tuning-flags.def | 1 +
gcc/config/aarch64/aarch64.c | 7 +-
gcc/config/aarch64/aarch64.h | 3 +-
gcc/config/aarch64/driver-aarch64.c | 169 +++++++++++++----------
12 files changed, 136 insertions(+), 106 deletions(-)