[ixp1200] C-Compiler with Optimizations and ua_get/ua_set

Robert Klima robert at tvk.rwth-aachen.de
Tue Jun 24 11:24:53 EDT 2003


Hi,

everyone wants lean and fast code, so do I. :) Unfortunately the IXA
SDK C-Compiler refuses to properly compile the ua_get/ua_set
instructions when optimization ist turned on (-O switch set for example
  via workbench Build:Settings:C-Compiler:Optimize:Speed).
The ua_get/ua_set instructions lead to compile time errors like this :
  "Unable to determine memory region for ua_set"

This does not happen when the compiler is told not to do optimization,
so I suspect it to be a bug. The unoptimized code is far bigger (tested
with ua_get/ua_set commented out) and innapropriate for serious testing.
As I suspect unaligned access to be a common thing here my question into
the round :

Anyone seen this, too ? And more important - howto overcome this Problem ?
By the way - switching to assembly code is not an option to me. ;)

Example follows :
#include "ixp.h"
void main (void) {
  __declspec(sdram) long long *ptr;
  ua_set_16(ptr,0,1234);
}
void exit (unsigned int arg) {
}

With best regards and thanks in advance.

Yours, Robert Klima.




More information about the ixp1200 mailing list