@@ -61,37 +61,97 @@ static void copy_kernel (BLASLONG n, FLOAT *x, FLOAT *y)
6161 ".align 5 \n"
6262 "one%=: \n\t"
6363
64- "stxvp 32, 0(%3) \n\t"
65- "stxvp 34, 32(%3) \n\t"
66- "stxvp 36, 64(%3) \n\t"
67- "stxvp 38, 96(%3) \n\t"
64+ #if (__BYTE_ORDER__ == __ORDER_BIG_ENDIAN__ )
65+ "stxv 32, 0(%3) \n\t"
66+ "stxv 33, 16(%3) \n\t"
67+ "stxv 34, 32(%3) \n\t"
68+ "stxv 35, 48(%3) \n\t"
69+ "stxv 36, 64(%3) \n\t"
70+ "stxv 37, 80(%3) \n\t"
71+ "stxv 38, 96(%3) \n\t"
72+ "stxv 39, 112(%3) \n\t"
73+ #else
74+ "stxv 33, 0(%3) \n\t"
75+ "stxv 32, 16(%3) \n\t"
76+ "stxv 35, 32(%3) \n\t"
77+ "stxv 34, 48(%3) \n\t"
78+ "stxv 37, 64(%3) \n\t"
79+ "stxv 36, 80(%3) \n\t"
80+ "stxv 39, 96(%3) \n\t"
81+ "stxv 38, 112(%3) \n\t"
82+ #endif
6883 "lxvp 32, 0(%2) \n\t"
6984 "lxvp 34, 32(%2) \n\t"
7085 "lxvp 36, 64(%2) \n\t"
7186 "lxvp 38, 96(%2) \n\t"
7287
73- "stxvp 40, 128(%3) \n\t"
74- "stxvp 42, 160(%3) \n\t"
75- "stxvp 44, 192(%3) \n\t"
76- "stxvp 46, 224(%3) \n\t"
88+ #if (__BYTE_ORDER__ == __ORDER_BIG_ENDIAN__ )
89+ "stxv 40, 128(%3) \n\t"
90+ "stxv 41, 144(%3) \n\t"
91+ "stxv 42, 160(%3) \n\t"
92+ "stxv 43, 176(%3) \n\t"
93+ "stxv 44, 192(%3) \n\t"
94+ "stxv 45, 208(%3) \n\t"
95+ "stxv 46, 224(%3) \n\t"
96+ "stxv 47, 240(%3) \n\t"
97+ #else
98+ "stxv 41, 128(%3) \n\t"
99+ "stxv 40, 144(%3) \n\t"
100+ "stxv 43, 160(%3) \n\t"
101+ "stxv 42, 176(%3) \n\t"
102+ "stxv 45, 192(%3) \n\t"
103+ "stxv 44, 208(%3) \n\t"
104+ "stxv 47, 224(%3) \n\t"
105+ "stxv 46, 240(%3) \n\t"
106+ #endif
77107 "lxvp 40, 128(%2) \n\t"
78108 "lxvp 42, 160(%2) \n\t"
79109 "lxvp 44, 192(%2) \n\t"
80110 "lxvp 46, 224(%2) \n\t"
81111
82- "stxvp 48, 256(%3) \n\t"
83- "stxvp 50, 288(%3) \n\t"
84- "stxvp 52, 320(%3) \n\t"
85- "stxvp 54, 352(%3) \n\t"
112+ #if (__BYTE_ORDER__ == __ORDER_BIG_ENDIAN__ )
113+ "stxv 48, 256(%3) \n\t"
114+ "stxv 49, 272(%3) \n\t"
115+ "stxv 50, 288(%3) \n\t"
116+ "stxv 51, 304(%3) \n\t"
117+ "stxv 52, 320(%3) \n\t"
118+ "stxv 53, 336(%3) \n\t"
119+ "stxv 54, 352(%3) \n\t"
120+ "stxv 55, 368(%3) \n\t"
121+ #else
122+ "stxv 49, 256(%3) \n\t"
123+ "stxv 48, 272(%3) \n\t"
124+ "stxv 51, 288(%3) \n\t"
125+ "stxv 50, 304(%3) \n\t"
126+ "stxv 53, 320(%3) \n\t"
127+ "stxv 52, 336(%3) \n\t"
128+ "stxv 55, 352(%3) \n\t"
129+ "stxv 54, 368(%3) \n\t"
130+ #endif
86131 "lxvp 48, 256(%2) \n\t"
87132 "lxvp 50, 288(%2) \n\t"
88133 "lxvp 52, 320(%2) \n\t"
89134 "lxvp 54, 352(%2) \n\t"
90135
91- "stxvp 56, 384(%3) \n\t"
92- "stxvp 58, 416(%3) \n\t"
93- "stxvp 60, 448(%3) \n\t"
94- "stxvp 62, 480(%3) \n\t"
136+ #if (__BYTE_ORDER__ == __ORDER_BIG_ENDIAN__ )
137+ "stxv 56, 384(%3) \n\t"
138+ "stxv 57, 400(%3) \n\t"
139+ "stxv 58, 416(%3) \n\t"
140+ "stxv 59, 432(%3) \n\t"
141+ "stxv 60, 448(%3) \n\t"
142+ "stxv 61, 464(%3) \n\t"
143+ "stxv 62, 480(%3) \n\t"
144+ "stxv 63, 496(%3) \n\t"
145+ #else
146+ "stxv 57, 384(%3) \n\t"
147+ "stxv 56, 400(%3) \n\t"
148+ "stxv 59, 416(%3) \n\t"
149+ "stxv 58, 432(%3) \n\t"
150+ "stxv 61, 448(%3) \n\t"
151+ "stxv 60, 464(%3) \n\t"
152+ "stxv 63, 480(%3) \n\t"
153+ "stxv 62, 496(%3) \n\t"
154+ #endif
95155 "lxvp 56, 384(%2) \n\t"
96156 "lxvp 58, 416(%2) \n\t"
97157 "lxvp 60, 448(%2) \n\t"
@@ -111,22 +171,73 @@ static void copy_kernel (BLASLONG n, FLOAT *x, FLOAT *y)
111171
112172 "two%=: \n\t"
113173
114- "stxvp 32, 0(%3) \n\t"
115- "stxvp 34, 32(%3) \n\t"
116- "stxvp 36, 64(%3) \n\t"
117- "stxvp 38, 96(%3) \n\t"
118- "stxvp 40, 128(%3) \n\t"
119- "stxvp 42, 160(%3) \n\t"
120- "stxvp 44, 192(%3) \n\t"
121- "stxvp 46, 224(%3) \n\t"
122- "stxvp 48, 256(%3) \n\t"
123- "stxvp 50, 288(%3) \n\t"
124- "stxvp 52, 320(%3) \n\t"
125- "stxvp 54, 352(%3) \n\t"
126- "stxvp 56, 384(%3) \n\t"
127- "stxvp 58, 416(%3) \n\t"
128- "stxvp 60, 448(%3) \n\t"
129- "stxvp 62, 480(%3) \n\t"
174+ #if (__BYTE_ORDER__ == __ORDER_BIG_ENDIAN__ )
175+ "stxv 32, 0(%3) \n\t"
176+ "stxv 33, 16(%3) \n\t"
177+ "stxv 34, 32(%3) \n\t"
178+ "stxv 35, 48(%3) \n\t"
179+ "stxv 36, 64(%3) \n\t"
180+ "stxv 37, 80(%3) \n\t"
181+ "stxv 38, 96(%3) \n\t"
182+ "stxv 39, 112(%3) \n\t"
183+ "stxv 40, 128(%3) \n\t"
184+ "stxv 41, 144(%3) \n\t"
185+ "stxv 42, 160(%3) \n\t"
186+ "stxv 43, 176(%3) \n\t"
187+ "stxv 44, 192(%3) \n\t"
188+ "stxv 45, 208(%3) \n\t"
189+ "stxv 46, 224(%3) \n\t"
190+ "stxv 47, 240(%3) \n\t"
191+ "stxv 48, 256(%3) \n\t"
192+ "stxv 49, 272(%3) \n\t"
193+ "stxv 50, 288(%3) \n\t"
194+ "stxv 51, 304(%3) \n\t"
195+ "stxv 52, 320(%3) \n\t"
196+ "stxv 53, 336(%3) \n\t"
197+ "stxv 54, 352(%3) \n\t"
198+ "stxv 55, 368(%3) \n\t"
199+ "stxv 56, 384(%3) \n\t"
200+ "stxv 57, 400(%3) \n\t"
201+ "stxv 58, 416(%3) \n\t"
202+ "stxv 59, 432(%3) \n\t"
203+ "stxv 60, 448(%3) \n\t"
204+ "stxv 61, 464(%3) \n\t"
205+ "stxv 62, 480(%3) \n\t"
206+ "stxv 63, 496(%3) \n\t"
207+ #else
208+ "stxv 33, 0(%3) \n\t"
209+ "stxv 32, 16(%3) \n\t"
210+ "stxv 35, 32(%3) \n\t"
211+ "stxv 34, 48(%3) \n\t"
212+ "stxv 37, 64(%3) \n\t"
213+ "stxv 36, 80(%3) \n\t"
214+ "stxv 39, 96(%3) \n\t"
215+ "stxv 38, 112(%3) \n\t"
216+ "stxv 41, 128(%3) \n\t"
217+ "stxv 40, 144(%3) \n\t"
218+ "stxv 43, 160(%3) \n\t"
219+ "stxv 42, 176(%3) \n\t"
220+ "stxv 45, 192(%3) \n\t"
221+ "stxv 44, 208(%3) \n\t"
222+ "stxv 47, 224(%3) \n\t"
223+ "stxv 46, 240(%3) \n\t"
224+ "stxv 49, 256(%3) \n\t"
225+ "stxv 48, 272(%3) \n\t"
226+ "stxv 51, 288(%3) \n\t"
227+ "stxv 50, 304(%3) \n\t"
228+ "stxv 53, 320(%3) \n\t"
229+ "stxv 52, 336(%3) \n\t"
230+ "stxv 55, 352(%3) \n\t"
231+ "stxv 54, 368(%3) \n\t"
232+ "stxv 57, 384(%3) \n\t"
233+ "stxv 56, 400(%3) \n\t"
234+ "stxv 59, 416(%3) \n\t"
235+ "stxv 58, 432(%3) \n\t"
236+ "stxv 61, 448(%3) \n\t"
237+ "stxv 60, 464(%3) \n\t"
238+ "stxv 63, 480(%3) \n\t"
239+ "stxv 62, 496(%3) \n\t"
240+ #endif
130241
131242 "#n=%1 x=%4=%2 y=%0=%3"
132243 :
0 commit comments