Skip to content

Commit a10dde5

Browse files
committed
loongarch: Fixed {s/d/sc/dz}amin LASX opt
1 parent 6534d37 commit a10dde5

2 files changed

Lines changed: 23 additions & 8 deletions

File tree

kernel/loongarch64/amin_lasx.S

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -160,8 +160,8 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
160160
xvinsgr2vr.d VX1, t2, 1
161161
xvinsgr2vr.d VX1, t3, 2
162162
xvinsgr2vr.d VX1, t4, 3
163-
xvfmaxa.d VM1, VX0, VX1
164-
xvfmaxa.d VM0, VM0, VM1
163+
xvfmina.d VM1, VX0, VX1
164+
xvfmina.d VM0, VM0, VM1
165165
#else
166166
ld.w t1, X, 0
167167
add.d X, X, INCX
@@ -187,7 +187,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
187187
xvinsgr2vr.w VM1, t2, 5
188188
xvinsgr2vr.w VM1, t3, 6
189189
xvinsgr2vr.w VM1, t4, 7
190-
xvfmaxa.s VM0, VM0, VM1
190+
xvfmina.s VM0, VM0, VM1
191191
#endif
192192
addi.d I, I, -1
193193
blt $r0, I, .L21

kernel/loongarch64/camin_lasx.S

Lines changed: 20 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -116,15 +116,27 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
116116
#ifdef DOUBLE
117117
xvpickve.d x1, VM0, 0
118118
xvpickve.d x2, VM0, 1
119-
XVFMIN VM0, x1, x2
119+
XVFMIN VX0, x1, x2
120+
xvpickve.d x1, VM0, 2
121+
xvpickve.d x2, VM0, 3
122+
XVFMIN VX1, x1, x2
123+
XVFMIN VM0, VX0, VX1
120124
#else
121125
xvpickve.w x1, VM0, 0
122126
xvpickve.w x2, VM0, 1
123127
xvpickve.w x3, VM0, 2
124128
xvpickve.w x4, VM0, 3
129+
XVFMIN VX0, x1, x2
130+
XVFMIN VX1, x3, x4
131+
XVFMIN VX0, VX0, VX1
132+
xvpickve.w x1, VM0, 4
133+
xvpickve.w x2, VM0, 5
134+
xvpickve.w x3, VM0, 6
135+
xvpickve.w x4, VM0, 7
125136
XVFMIN VM0, x1, x2
126137
XVFMIN VM1, x3, x4
127138
XVFMIN VM0, VM0, VM1
139+
XVFMIN VM0, VM0, VX0
128140
#endif
129141
b .L23
130142
.align 3
@@ -159,7 +171,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
159171
FABS t4, t4
160172
ADD t1, t1, t2
161173
ADD t3, t3, t4
162-
FMIN s1, t1, t3
174+
FMIN s2, t1, t3
163175
LD t1, X, 0 * SIZE
164176
LD t2, X, 1 * SIZE
165177
add.d X, X, INCX
@@ -187,13 +199,16 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
187199
ADD t1, t1, t2
188200
ADD t3, t3, t4
189201
FMIN s4, t1, t3
202+
203+
FMIN s1, s1, s2
204+
FMIN s3, s3, s4
205+
FMIN a0, a0, s3
206+
FMIN a0, a0, s1
190207
blt $r0, I, .L21
191208
.align 3
192209

193210
.L22:
194-
FMIN s1, s1, s2
195-
FMIN s3, s3, s4
196-
FMIN s1, s1, s3
211+
MOV s1, a0
197212
.align 3
198213

199214
.L23: //N<8

0 commit comments

Comments
 (0)