<feed xmlns='http://www.w3.org/2005/Atom'>
<title>u-boot.git/arch/arc/lib/memcmp.S, branch master</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/'/>
<entry>
<title>arc: Get rid of handwritten string routines</title>
<updated>2018-03-21T13:21:34+00:00</updated>
<author>
<name>Alexey Brodkin</name>
<email>abrodkin@synopsys.com</email>
</author>
<published>2018-01-24T20:22:33+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=2178817c4a105ead044e054bf902f256e6d589c2'/>
<id>2178817c4a105ead044e054bf902f256e6d589c2</id>
<content type='text'>
U-Boot is a bit special piese of software because it is being
only executed once on power-on as compared to operating system
for example. That's why we don't care much about performance
optimizations instead we're more concerned about size. And up-to-date
compilers might produce much smaller code compared to
performance-optimized routines copy-pasted from the Linux kernel.

Here's an example:
-------------------------------&gt;8--------------------------
--- size_asm_strings.txt
+++ size_c_strings.txt
@@ -1,2 +1,2 @@
    text	   data	    bss	    dec	    hex	filename
- 121260	   3784	   3308	 128352	  1f560	u-boot
+ 120448	   3784	   3308	 127540	  1f234	u-boot
-------------------------------&gt;8--------------------------

See we were able to shave off ~800 bytes of .text section.

Also usage of string routines implemented in C gives us an ability
to support more HW flavors for free: generated instructions will match
our target as long as correct compiler option is used.

Signed-off-by: Alexey Brodkin &lt;abrodkin@synopsys.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
U-Boot is a bit special piese of software because it is being
only executed once on power-on as compared to operating system
for example. That's why we don't care much about performance
optimizations instead we're more concerned about size. And up-to-date
compilers might produce much smaller code compared to
performance-optimized routines copy-pasted from the Linux kernel.

Here's an example:
-------------------------------&gt;8--------------------------
--- size_asm_strings.txt
+++ size_c_strings.txt
@@ -1,2 +1,2 @@
    text	   data	    bss	    dec	    hex	filename
- 121260	   3784	   3308	 128352	  1f560	u-boot
+ 120448	   3784	   3308	 127540	  1f234	u-boot
-------------------------------&gt;8--------------------------

See we were able to shave off ~800 bytes of .text section.

Also usage of string routines implemented in C gives us an ability
to support more HW flavors for free: generated instructions will match
our target as long as correct compiler option is used.

Signed-off-by: Alexey Brodkin &lt;abrodkin@synopsys.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>arc: memcmp - fix zero-delay loop utilization</title>
<updated>2015-02-09T13:41:20+00:00</updated>
<author>
<name>Igor Guryanov</name>
<email>guryanov@synopsys.com</email>
</author>
<published>2015-02-03T10:58:09+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=f958a91fa5cefd0cda76c887ee0488fb9158496e'/>
<id>f958a91fa5cefd0cda76c887ee0488fb9158496e</id>
<content type='text'>
It's prohibited to put branch instruction in the very end of zero-delay
loop. On execution this causes "Illegal instruction" exception.

Signed-off-by: Alexey Brodkin &lt;abrodkin@synopsys.com&gt;
Signed-off-by: Igor Guryanov &lt;guryanov@synopsys.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
It's prohibited to put branch instruction in the very end of zero-delay
loop. On execution this causes "Illegal instruction" exception.

Signed-off-by: Alexey Brodkin &lt;abrodkin@synopsys.com&gt;
Signed-off-by: Igor Guryanov &lt;guryanov@synopsys.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>arc: add library functions</title>
<updated>2014-02-07T13:14:32+00:00</updated>
<author>
<name>Alexey Brodkin</name>
<email>Alexey.Brodkin@synopsys.com</email>
</author>
<published>2014-02-04T08:56:15+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=2272382879d93d37e7964554cea5b0583c94c247'/>
<id>2272382879d93d37e7964554cea5b0583c94c247</id>
<content type='text'>
These are library functions used by ARC700 architecture.

Signed-off-by: Alexey Brodkin &lt;abrodkin@synopsys.com&gt;

Cc: Vineet Gupta &lt;vgupta@synopsys.com&gt;
Cc: Francois Bedard &lt;fbedard@synopsys.com&gt;
Cc: Wolfgang Denk &lt;wd@denx.de&gt;
Cc: Heiko Schocher &lt;hs@denx.de&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
These are library functions used by ARC700 architecture.

Signed-off-by: Alexey Brodkin &lt;abrodkin@synopsys.com&gt;

Cc: Vineet Gupta &lt;vgupta@synopsys.com&gt;
Cc: Francois Bedard &lt;fbedard@synopsys.com&gt;
Cc: Wolfgang Denk &lt;wd@denx.de&gt;
Cc: Heiko Schocher &lt;hs@denx.de&gt;
</pre>
</div>
</content>
</entry>
</feed>
