This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Abt long long support


On Nov 6, 2006, at 9:30 PM, Mohamed Shafi wrote:
My target (non gcc/private one) fails for long long testcases

Does it work flawlessly otherwise, if not, fix all those problems first. After those are all fixed, then you can see if it then just works. In particular, you will want to ensure that 32 bit things work fine, first.


there are cases (with long long) which gets through, but not with the
right output. When i replace long long with long the testcases runs
fine, even those giving wrong output.
The target is not able to compile properly for simple statements like

long long a = 10;

So when i looked into the .md file i saw no patterns with DI machine
mode ,used for long long(am i right?), execpt

define_insn "adddi3" and define_insn "subdi3"

The .md file says that this is to prevent gcc from synthesising it,
though i didnt understand what that means.

Does this mean that in your md file you define adddi3 and subdi3? And, are the definition right or wrong? If wrong, why not fix them? I suspect they are wrong. For example if they expand to "", that is certainly wrong.


Any thoughts?

Yes, having us guess as why your port doesn't work, isn't productive for us. If you want to enable us to know why it doesn't work and help you, you can put the entire port up for easy access somewhere.


To do a port, you have to be able to synthesize testcases, run them through the compiler, read the output of the compiler, understand the target assembly language to know why it is wrong and then map that back to the target files. How many of these steps were you able to do for this case? For the last step, reading and understanding the gcc porting manual is useful, as is studying ports that are similar to yours.

You can help us answer your questions by including all the relevant details. Things that are relevant include the testcase, the output of -da and -fdump-all-trees, the generated .s file, and the relevant portions of the .md file.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]