IRC logs for #openrisc Monday, 2016-06-27

--- Log opened Mon Jun 27 00:00:12 2016
shornefyi, I fixed the gcc stage2 issue, just a few lines, ill post a patch (but it is already upstream)06:57
olofHmm... I'm having doubts that the saturation branch predictor in mor1kx works very well08:43
SMDwrkolof: what's wrong with it?08:45
SMDwrkpredict rate is too small?08:45
olofSMDwrk: The execute_{bf,bnf} signals aren't connected to anything08:47
SMDwrkAre they? Let me check08:48
olofIt looks like a simple type in mor1kx_branch_prediction.v I fixed that. But I can't figure out where to connect them one level higher up, in mor1kx_cpu_cappuccino.v08:49
olofI also removed the unused OPTION_OPERAND_WIDTH parameters in the branch_predictor* modules08:49
olofAh ok. I found the execute_op_{bf,bnf}_o signals in cpu_cappucino now. They were probably connected correctly, but the wires weren't declared08:51
SMDwrkolof: execute_bf_i is connected to branch_predictor at the cpu_cappucino file, and in branch_prediction there's a typo:08:53
SMDwrk>.execute_op_bnf_i                 (execute_op_bnf_i),08:53
SMDwrkshould be08:53
SMDwrk.execute_op_bnf_i                 (execute_bnf_i),08:53
olofYep08:53
olofI fixed that08:53
olofAnd added wire declarations for the signals in cpu_cappucino08:53
SMDwrkThanks and sorry for the mess(08:54
olofNo worries. Just surprised that we didn't see this before08:56
SMDwrkolof: me too, how did you find it?08:57
olofQuartus09:02
mor1kx[mor1kx] olofk opened pull request #36: Remove avalon if and fix some typos/missing wires (master...fixes) https://github.com/openrisc/mor1kx/pull/3609:04
olofI wonder if mor1kx will come online soon09:04
olof:)09:04
SMDwrkwhat do you mean by "online"?09:04
SMDwrkand also do you know any option to iverilog to strictly check the code?09:04
olofstekern installed a bot that joins this channel everytime there's a commit or PR to the mor1kx repo09:06
SMDwrkah09:06
olofI don't think Icarus has any linter, but I know that many people use the one in verilator09:06
olofBut there are actually some flags you could enable in icarus too09:07
ZipCPUWhile you are waiting, does anyone know if branch prediction can be done in GCC?  That is, I have two means of executing branches, one slow and one fast, and if the compiler could "guess" which branch would be taken, I could switch between them.09:07
olofLike -Wall09:07
olofZipCPU: At least Linux has some macros called LIKELY and similar things09:08
olofI think those are meant to handle that09:08
SMDwrkZipCPU I guess that can be done with some sort of profiling. You can run your prog with sample data and let gcc optimize code based on the result09:09
ZipCPUI'll look up LIKELY, but do either of you know what the hook looks when generating RTL for GCC?09:11
olofZipCPU: Not a clue. Just stumbled upon it in Linux and thought it was a bit funny :)09:12
ZipCPUGot it.  Okay, at least its a lead I can chase down.  Thanks.09:13
olofhttp://stackoverflow.com/questions/109710/likely-unlikely-macros-in-the-linux-kernel-how-do-they-work-whats-their09:15
ZipCPUAlready ahead of you--reading it now.09:15
olof:)09:16
ZipCPULooks like the code for branch prediction is found in gcc's gcc/predict.c file.09:25
ZipCPUIt also looks like the compiler attaches a "NOTE" the any branch RTL, indicating its probability ...09:28
mor1kx[mor1kx] skristiansson pushed 3 new commits to master: https://github.com/openrisc/mor1kx/compare/5b10fe0343a5...1011e11d48db17:13
mor1kxmor1kx/master b35efdf Olof Kindgren: Remove unmaintained avalon interface17:13
mor1kxmor1kx/master f842a61 Olof Kindgren: Fix typos and missing wires in branch prediction17:13
mor1kxmor1kx/master 1011e11 Stefan Kristiansson: Merge pull request #36 from olofk/fixes...17:13
shornefyi, gdb build on gcc 6.1 has got problems. many to list, I merged upstream master too, and still some issues18:57
shornemainly things about different signatures between gcc and gdb18:58
shorne/usr/include/string.h:596:26: error: declaration of ‘const char* basename(const char*) throw ()’ has a different exception specifier18:58
shorne extern "C++" const char *basename (const char *__filename)18:58
--- Log closed Tue Jun 28 00:00:14 2016

Generated by irclog2html.py 2.15.2 by Marius Gedminas - find it at mg.pov.lt!