81#define FL_WAVE8_SPREAD_TO_16(lane_u8_0, lane_u8_1, out_16) \
82 do { \
83 const u8 _a = (u8)(lane_u8_0); \
84 const u8 _b = (u8)(lane_u8_1); \
85 const u16 _even = \
86 (u16)((u16)::fl::detail::kTranspose4_16_LUT[_b & 0x0Fu] | \
87 ((u16)::fl::detail::kTranspose4_16_LUT[_b >> 4] << 8)); \
88 const u16 _odd = \
89 (u16)(((u16)::fl::detail::kTranspose4_16_LUT[_a & 0x0Fu] | \
90 ((u16)::fl::detail::kTranspose4_16_LUT[_a >> 4] << 8)) \
91 << 1); \
92 (out_16) |= (u16)(_even | _odd); \
93 } while (0)