From f38a7ce4cbde705c72183bf2713612be773e3b0f Mon Sep 17 00:00:00 2001
From: Tom Rondeau <tom@trondeau.com>
Date: Sun, 17 Nov 2013 16:09:31 -0500
Subject: blocks: switch all blocks to use the VOLK dispatchers for alignment
 handling.

---
 gr-blocks/lib/endian_swap_impl.cc | 59 ++++++++++++---------------------------
 1 file changed, 18 insertions(+), 41 deletions(-)

(limited to 'gr-blocks/lib/endian_swap_impl.cc')

diff --git a/gr-blocks/lib/endian_swap_impl.cc b/gr-blocks/lib/endian_swap_impl.cc
index 3c263e40a3..604e8b9ad8 100644
--- a/gr-blocks/lib/endian_swap_impl.cc
+++ b/gr-blocks/lib/endian_swap_impl.cc
@@ -60,47 +60,24 @@ namespace gr {
       char *out = (char*)output_items[0];
 
       int nbytes(output_signature()->sizeof_stream_item(0));
-      if(is_unaligned()) {
-        switch(nbytes){
-        case 1:
-          memcpy(out,in,noutput_items);
-          break;
-        case 2:
-          memcpy(out,in,2*noutput_items);
-          volk_16u_byteswap_u((uint16_t*)out,noutput_items);
-          break;
-        case 4:
-          memcpy(out,in,4*noutput_items);
-          volk_32u_byteswap_u((uint32_t*)out,noutput_items);
-          break;
-        case 8:
-          memcpy(out,in,8*noutput_items);
-          volk_64u_byteswap_u((uint64_t*)out,noutput_items);
-          break;
-        default:
-          throw std::runtime_error("itemsize is not valid for endian_swap!");
-        } 
-      }
-      else {
-        switch(nbytes) {
-        case 1:
-          memcpy(out,in,noutput_items);
-          break;
-        case 2:
-          memcpy(out,in,2*noutput_items);
-          volk_16u_byteswap_a((uint16_t*)out,noutput_items);
-          break;
-        case 4:
-          memcpy(out,in,4*noutput_items);
-          volk_32u_byteswap_a((uint32_t*)out,noutput_items);
-          break;
-        case 8:
-          memcpy(out,in,8*noutput_items);
-          volk_64u_byteswap_a((uint64_t*)out,noutput_items);
-          break;
-        default:
-          throw std::runtime_error("itemsize is not valid for endian_swap!");
-        }
+      switch(nbytes){
+      case 1:
+        memcpy(out,in,noutput_items);
+        break;
+      case 2:
+        memcpy(out,in,2*noutput_items);
+        volk_16u_byteswap((uint16_t*)out,noutput_items);
+        break;
+      case 4:
+        memcpy(out,in,4*noutput_items);
+        volk_32u_byteswap((uint32_t*)out,noutput_items);
+        break;
+      case 8:
+        memcpy(out,in,8*noutput_items);
+        volk_64u_byteswap((uint64_t*)out,noutput_items);
+        break;
+      default:
+        throw std::runtime_error("itemsize is not valid for endian_swap!");
       }
 
       return noutput_items;
-- 
cgit v1.2.3