| wolfspraul | has anyone worked with xilinx' new vivado design suite yet? | 10:49 |
|---|---|---|
| lekernel | hi | 11:01 |
| lekernel | anyone knows the clang command line option that disable usage of the hw divider, barrel shifter, etc. ? | 11:02 |
| lekernel | they are "SubtargetFeature" in LM32.td, but it's not well documented how this connects to the clang command line | 11:02 |
| Action: lekernel looks at stekern | 11:02 | |
| stekern | lekernel: -Xclang -target-feature -Xclang +feature | 11:09 |
| stekern | or -feature | 11:09 |
| stekern | to turn it off | 11:09 |
| lekernel | thanks! | 11:13 |
| lekernel | for some reason divider/barrel/etc. switches are commented out in clang... hmm | 11:15 |
| stekern | yeah, I just saw that when I went looking in there to make sure you have setFeatureEnabled implemented | 11:16 |
| lekernel | of course, clang has to redefine all the accepted target features... they couldn't simply pull it automatically from LM32.td | 11:16 |
| stekern | don't get me started on that... | 11:17 |
| lekernel | seems to work... or at least produces a convicing object file ;) | 11:49 |
| lekernel | testing the code now... | 11:49 |
| GitHub130 | [clang-lm32] sbourdeauducq pushed 1 new commit to master: http://git.io/n8SfTg | 11:51 |
| GitHub130 | [clang-lm32/master] LM32: add options to enable/disable barrel shifter, multiplier and divider - Sebastien Bourdeauducq | 11:51 |
| lekernel | meh. it doesn't. still tries to use the extensions... | 11:54 |
| lekernel | also there's no subtarget feature for the sign extender | 11:57 |
| stekern | does it work if you do: clang -c -S file.c -emit-llvm -o - | llc -mattr=feature -o - | 12:01 |
| stekern | looks like sign extending is implemented though, but you maybe want to be able to turn it off? | 12:05 |
| stekern | (assuming that you are speaking about sextb and sexth) | 12:07 |
| lekernel | yes, it can be turned off using CFG_SIGN_EXTEND_ENABLED in Verilog, but there's no option in clang/llvm to disable usage of the corresponding instructions | 12:07 |
| lekernel | will dive into llvm a bit later... need to deliver some gateware + lm32 software for http://tunka-hrjrg.desy.de/e98279/index_eng.html by next week | 12:11 |
| lekernel | i'll use gcc for now | 12:14 |
| stekern | lekernel_: I took a peek at why the target features aren't working, they are initialised to true in the constructor, but the subtarget features can only be turned on when parsing them (a -feature will just omit setting it to true), so any features that should be on by default should be handled by the feature parsing | 23:28 |
| stekern | I've got a patch that fixes it, I'll just go ahead and commit that, yell if I rather should post to the ML before committing | 23:29 |
| GitHub189 | [llvm-lm32] skristiansson pushed 1 new commit to master: http://git.io/n1n1JA | 23:38 |
| GitHub189 | [llvm-lm32/master] Initialise subtarget features to false in constructor - Stefan Kristiansson | 23:38 |
| --- Sat Jul 28 2012 | 00:00 | |
Generated by irclog2html.py 2.9.2 by Marius Gedminas - find it at mg.pov.lt!