Posts

Showing posts from April, 2024

Project update 1.2

 As the semester coming to an end today, I decided to show what I find and my potential solution for this issue. I wish I was a bit smarter and had more time to work on this issue as it's very interesting to me. Anyways, here are what I found so far that could potentially be beneficial in the future. All the files I mention below will be located in gcc/gcc/config/aarch64. What I found in the GCC repo that may be useful in the future: I believe I located the file that store all the values for the target_versions, it's a file called:  aarch64-option-extensions.def . There is another file called  aarch64-cores.def which included all the aarch64 architectures (in this file, they call those options "core options", if I understand correctly then they are the same). If this is the case, then the update process seems to be a bit easier as we already have the implementation to design for a specific architecture when we use target_version. Last but not least, in aarch64.cc , t...

Project Progress update 1.1

 So far I have spent lots of time researching and trying to understand how I can update the GCC code to accept another value target_clonse (in this case, we're aiming to add arch to the compiler). So far I have come to a few understanding and now I'm trying to identify where I can put my code in to update the compiler. However, this comes with lot of trials and errors. As the result, I will sum up both my understanding and what I have tried and failed so far March vs Mtune This one first confused me a lot. I didn't know the differences between the two. Turn out, -march is for a specific CPU architecture and -mtune is used when we want the program to run on all CPUs, but the compiler would choose those algorithms and functions that benefits the defined architecture Aarch64 march vs x86_64 march Although they use the same syntax, each GCC version for the specified architecture has a different range of values. Based on what I understand right now, it seems like in x86_64, you...