diff --git a/lib/viterbi_decoder/base.h b/lib/viterbi_decoder/base.h index 0c2d66b..908f3b7 100644 --- a/lib/viterbi_decoder/base.h +++ b/lib/viterbi_decoder/base.h @@ -41,9 +41,9 @@ protected: // Position in circular buffer where the current decoded byte is stored int d_store_pos; // Metrics for each state - unsigned char d_mmresult[64] __attribute__((aligned(16))); + alignas(16) unsigned char d_mmresult[64]; // Paths for each state - unsigned char d_ppresult[TRACEBACK_MAX][64] __attribute__((aligned(16))); + alignas(16) unsigned char d_ppresult[TRACEBACK_MAX][64]; int d_ntraceback; int d_k; diff --git a/lib/viterbi_decoder/viterbi_decoder_generic.h b/lib/viterbi_decoder/viterbi_decoder_generic.h index 35ea4d5..6229e40 100644 --- a/lib/viterbi_decoder/viterbi_decoder_generic.h +++ b/lib/viterbi_decoder/viterbi_decoder_generic.h @@ -37,10 +37,10 @@ private: unsigned char c[32]; } d_branchtab27_generic[2]; - unsigned char d_metric0_generic[64] __attribute__((aligned(16))); - unsigned char d_metric1_generic[64] __attribute__((aligned(16))); - unsigned char d_path0_generic[64] __attribute__((aligned(16))); - unsigned char d_path1_generic[64] __attribute__((aligned(16))); + alignas(16) unsigned char d_metric0_generic[64]; + alignas(16) unsigned char d_metric1_generic[64]; + alignas(16) unsigned char d_path0_generic[64]; + alignas(16) unsigned char d_path1_generic[64]; void reset(); diff --git a/lib/viterbi_decoder/viterbi_decoder_x86.h b/lib/viterbi_decoder/viterbi_decoder_x86.h index f3986ed..808fbe2 100644 --- a/lib/viterbi_decoder/viterbi_decoder_x86.h +++ b/lib/viterbi_decoder/viterbi_decoder_x86.h @@ -39,10 +39,10 @@ private: __m128i v[2]; } d_branchtab27_sse2[2]; - __m128i d_metric0[4] __attribute__((aligned(16))); - __m128i d_metric1[4] __attribute__((aligned(16))); - __m128i d_path0[4] __attribute__((aligned(16))); - __m128i d_path1[4] __attribute__((aligned(16))); + alignas(16) __m128i d_metric0[4]; + alignas(16) __m128i d_metric1[4]; + alignas(16) __m128i d_path0[4]; + alignas(16) __m128i d_path1[4]; virtual void reset();