<table cellspacing="0" cellpadding="0" border="0" ><tr><td valign="top" style="font: inherit;">Srry fr earlier incomplete mail..<br><br>Hi All,<br> I am very new to ORC and wanted to use it for some optimizations over NEON.<br>To start with I just wrote a simple float array addition program using ORC. <br>Surprisingly
the normally compiled version (which uses simple addition) works much
much faster than the NEON version. I am not sure if I was able to
utilize ORC properly or not.<br><br>C Code:<br> float a[10];<br> float b[10];<br> float c[10];<br> int i;<br> //initialization <br>for(i=0;i<10;i++)<br> {<br>
a[i]=3.14159*100*(i+1);<br> b[i]=5.00956*10*i;<br> <br> }<br> <br> for(i=0;i<10;i++)<br> {<br> c[i]=a[i]+b[i];<br> //printf("\n\na[%d]=%f b[%d]=%f c[%d]=%f \n",i,a[i],i,b[i],i,c[i]);<br> }<br><br>orc file for the addition:<br>.function add_s32<br>.dest 4 d1 float<br>.source 4 s1 float<br>.source 4 s2 float<br><br>addf d1, s1, s2<br><br>C file using ORC generated function: (orcc --implementation
add.orc)<br>after initialization I wrote <br><br>add_s32(c,a,b,10);<br><br>Now when I run the ORC binary with ORC_DEBUG=3 I get the statement "compiling for target "neon" " which makes me beleive that ORC is working for correct platform.<br>But when I run both the versions the normal addition is working much better (more than 100 times better) than the ORC code.<br><br>Am I missing sumthing or else where exactly can ORC help me optimze my module.<br><br>Thanks for you time<br><br>Prateek <br><br><br></td></tr></table><br>