The git master branch for gcc in the mspgcc project has been updated with support for all MSP430 multiplier peripherals, including the 2xx family one that doesn't need explicit sign extension, and the MPY32 in 4xx/5xx/6xx chips.
I won't have a chance to bundle this into a release until this weekend at the earliest, but I'd appreciate it if people who mirror the git repository would give it a shot, as it's a pretty significant change and I don't have a lot of complex integer arithmetic code to test it with. If your program gets different results than mspgcc-20110612, please file a bug report with as much detail as possible. Note that I removed -mforce-hwmul, and made -mdisable-hwmul emit a deprecation warning (it doesn't really do what you think it it does, and hasn't for months, since it still links in libc code with MPY instructions). If you added the flag eight years ago and haven't removed it yet (TinyOS folks, this means you) please try hardware multiplier support again. You might want to pull into your msp430mcu repository too, as the flags that allow compile-time identification of available multiplier peripherals have been updated. Peter b3bc594 [2011-07-05 17:09:07 -0500] Update for release 203cd7e [2011-07-05 17:03:47 -0500] SF 3354800 put back -mdisable-hwmul 5a9eec4 [2011-07-05 16:42:49 -0500] SF 3354807 ICE with -mmpy=16 on 32-bit constant multiplies c17a05a [2011-07-05 16:08:47 -0500] Update for release 356dce9 [2011-07-05 15:56:40 -0500] Fix illegal extraction of low part of constant multiplication operand 29af6de [2011-07-05 15:19:06 -0500] Complete support for MPY32 339ecc8 [2011-07-05 15:06:47 -0500] Tested hardware multiply for non-MPY32 support e018493 [2011-07-05 15:01:28 -0500] Tiny optimization in mulsidi3 0808b4d [2011-07-05 14:59:27 -0500] Add library functions for widen-to-64 multiply a74eec7 [2011-07-05 14:33:06 -0500] Validate muldi3 391b168 [2011-07-05 10:39:24 -0500] Use mode iterators for multiplication insns 3fd730b [2011-07-05 10:03:32 -0500] Clean up multiplication f6048bb [2011-07-05 09:03:08 -0500] Use correct "can't happen" function 5ceb03b [2011-07-05 07:21:04 -0500] Remove patterns from non-expanded RTL templates c8d5bff [2011-07-04 21:29:21 -0500] Avoid unnecessary sign extension on mulqihi operations c692ec0 [2011-07-04 21:24:19 -0500] Refine multiplier peripheral indicator values c979dee [2011-07-04 21:16:18 -0500] SF 3354053 remove -mforce-hwmul, -mdisable-hwmul c4cc7fd [2011-07-04 20:13:07 -0500] Fix indentation defe95e [2011-07-04 15:43:25 -0500] More syntax cleanup 7ae064f [2011-07-04 15:38:45 -0500] Syntax cleanup c6f5686 [2011-07-04 14:57:11 -0500] SF 3317421 -Os generates unrecognized insn for multiply-by-constant e534b53 [2011-07-04 14:08:58 -0500] Run things through GNU indent again c6b9d85 [2011-07-04 13:44:11 -0500] Eliminate special insns for MPY peripheral access 7301357 [2011-07-04 12:56:41 -0500] Rework multiply interrupt protection insns 81c5841 [2011-07-04 07:30:03 -0500] pophi sr clobbers condition codes 596fe75 [2011-07-04 08:02:06 -0500] Clean up msp430_init_once 4f1b02a [2011-06-25 15:15:52 -0500] Remove distracting disabled code 2b1e36a [2011-06-25 15:01:31 -0500] Reformat macros so they are readable 0aa02ac [2011-06-25 15:00:52 -0500] Remove unreferenced multiply-related registers 0b0cd25 [2011-06-25 13:43:53 -0500] Remove outdated push helper functions b680b48 [2011-06-25 13:20:43 -0500] SF 3317711 path to ldscripts broken if installation moved 73007d8 [2011-06-25 11:07:53 -0500] Patch provided by submitter ------------------------------------------------------------------------------ All of the data generated in your IT infrastructure is seriously valuable. Why? It contains a definitive record of application performance, security threats, fraudulent activity, and more. Splunk takes this data and makes sense of it. IT sense. And common sense. http://p.sf.net/sfu/splunk-d2d-c2 _______________________________________________ Mspgcc-users mailing list Mspgcc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mspgcc-users