]> git.ipfire.org Git - thirdparty/gcc.git/commit
Improve performance of byte-swapped I/O.
authorJanne Blomqvist <jb@gcc.gnu.org>
Wed, 23 Jan 2013 21:56:54 +0000 (23:56 +0200)
committerJanne Blomqvist <jb@gcc.gnu.org>
Wed, 23 Jan 2013 21:56:54 +0000 (23:56 +0200)
commitfacb23dc4ec9ced099de4b5a7a147ab8b972fa23
treef0cd204c1489f4588e613e65677efe4e43b3c72e
parentad3e2ad2ffc774435804519077ca46d15410c928
Improve performance of byte-swapped I/O.

2013-01-23  Janne Blomqvist  <jb@gcc.gnu.org>

* io/file_pos.c (unformatted_backspace): Use __builtin_bswapXX
instead of reverse_memcpy.
* io/io.h (reverse_memcpy): Remove prototype.
* io/transfer.c (reverse_memcpy): Make static, move towards
beginning of file.
(bswap_array): New function.
(unformatted_read): Use bswap_array to byte swap the data
in-place.
(unformatted_write): Use a larger temp buffer and bswap_array.
(us_read): Use __builtin_bswapXX instead of reverse_memcpy.
(write_us_marker): Likewise.

From-SVN: r195413
libgfortran/ChangeLog
libgfortran/io/file_pos.c
libgfortran/io/io.h
libgfortran/io/transfer.c