@@ -61,37 +61,97 @@ static void copy_kernel (BLASLONG n, FLOAT *x, FLOAT *y)
61
61
".align 5 \n"
62
62
"one%=: \n\t"
63
63
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
68
83
"lxvp 32, 0(%2) \n\t"
69
84
"lxvp 34, 32(%2) \n\t"
70
85
"lxvp 36, 64(%2) \n\t"
71
86
"lxvp 38, 96(%2) \n\t"
72
87
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
77
107
"lxvp 40, 128(%2) \n\t"
78
108
"lxvp 42, 160(%2) \n\t"
79
109
"lxvp 44, 192(%2) \n\t"
80
110
"lxvp 46, 224(%2) \n\t"
81
111
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
86
131
"lxvp 48, 256(%2) \n\t"
87
132
"lxvp 50, 288(%2) \n\t"
88
133
"lxvp 52, 320(%2) \n\t"
89
134
"lxvp 54, 352(%2) \n\t"
90
135
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
95
155
"lxvp 56, 384(%2) \n\t"
96
156
"lxvp 58, 416(%2) \n\t"
97
157
"lxvp 60, 448(%2) \n\t"
@@ -111,22 +171,73 @@ static void copy_kernel (BLASLONG n, FLOAT *x, FLOAT *y)
111
171
112
172
"two%=: \n\t"
113
173
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
130
241
131
242
"#n=%1 x=%4=%2 y=%0=%3"
132
243
:
0 commit comments