···158158 .previous \15915997:160160161161+162162+/*163163+ * Extract unaligned word that is split between two registers w0 and w1164164+ * into r regardless of machine endianness. SAR must be loaded with the165165+ * starting bit of the word (see __ssa8).166166+ */167167+168168+ .macro __src_b r, w0, w1169169+#ifdef __XTENSA_EB__170170+ src \r, \w0, \w1171171+#else172172+ src \r, \w1, \w0173173+#endif174174+ .endm175175+176176+/*177177+ * Load 2 lowest address bits of r into SAR for __src_b to extract unaligned178178+ * word starting at r from two registers loaded from consecutive aligned179179+ * addresses covering r regardless of machine endianness.180180+ *181181+ * r 0 1 2 3182182+ * LE SAR 0 8 16 24183183+ * BE SAR 32 24 16 8184184+ */185185+186186+ .macro __ssa8 r187187+#ifdef __XTENSA_EB__188188+ ssa8b \r189189+#else190190+ ssa8l \r191191+#endif192192+ .endm193193+161194#endif /* _XTENSA_ASMMACRO_H */