On Sat, Oct 04, 2008 at 03:22:52PM -0400, Jeff Long wrote: >> >> Right now __moddi3, __umoddi3, __divdi3 and __udivdi3 contain inlined >> versions of __udivmoddi4. Un-inlining them should save about 5KB in >> the worst case, 4KB typical. I'm working on it. (These routines >> implement signed and unsigned 64-bit divides and mods. We use these >> in dealing with our 64-fixed point frequency representation.) >> > I just commented out all the lines in print_tune_result, and the size > of txrx went down to 21404. Adding -Os gives 20900 (didn't test these > builds). Did not test -Os version. >> >> Jeff, which RFX board are you using? >> > RFX2400 Rev30 12-26-2006 >> >> Eric >
With the un-inlining of __udivmoddi4, txrx is down 3100 bytes using -O2, nothing else changed: $ size txrx text data bss dec hex filename 21516 1348 2256 25120 6220 txrx $ nm --size-sort txrx ... 00000150 T __muldi3 0000015c T dbsm_init 0000016c T print_tune_result 00000188 T db_tune 000001a8 T start_rx_streaming_cmd 000001b4 T clocks_mimo_config 000001b8 T printf 000001d8 T calc_dxc_freq 000001dc t dbsm_process_helper 000001f8 T main 00000230 T rfx_set_freq 00000258 T tvrx_set_freq 0000026c T u2_init 00000708 T handle_control_chan_frame 000008f0 T __udivmoddi4 I'll work up a clean patch to the compiler and upload the source and generated binaries. I was also trying to use the -mxl-gp-opt -G 16384 options, but this triggers a bug (Xilinx AR #30271) that's fixed in EDK 10.1 SP1. They are currently not distributing the source for that (in violation of the GPL). I've just registered as a WebCase user; once I'm approved I'll attempt to open a ticket on this. (The bug is that they are putting "small" zero initialized items in the .bss section instead of the .sbss section.) I may be able to find and fix this quicker than I can get Xilinx to release the code :-/ -mxl-gp-opt -G 16384 should remove virtually all of the IMM instructions, since all accesses to statically allocated data will be based off of the small data base registers. Eric _______________________________________________ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org http://lists.gnu.org/mailman/listinfo/discuss-gnuradio