aboutsummaryrefslogtreecommitdiff
path: root/llvm/test/CodeGen/AArch64/sve-fixed-length-fp-minmax.ll
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/test/CodeGen/AArch64/sve-fixed-length-fp-minmax.ll')
-rw-r--r--llvm/test/CodeGen/AArch64/sve-fixed-length-fp-minmax.ll60
1 files changed, 24 insertions, 36 deletions
diff --git a/llvm/test/CodeGen/AArch64/sve-fixed-length-fp-minmax.ll b/llvm/test/CodeGen/AArch64/sve-fixed-length-fp-minmax.ll
index de60dee..90a0499 100644
--- a/llvm/test/CodeGen/AArch64/sve-fixed-length-fp-minmax.ll
+++ b/llvm/test/CodeGen/AArch64/sve-fixed-length-fp-minmax.ll
@@ -55,10 +55,9 @@ define void @fmaxnm_v32f16(ptr %a, ptr %b) #0 {
; VBITS_EQ_256-NEXT: ld1h { z2.h }, p0/z, [x0]
; VBITS_EQ_256-NEXT: ld1h { z3.h }, p0/z, [x1]
; VBITS_EQ_256-NEXT: fmaxnm z0.h, p0/m, z0.h, z1.h
-; VBITS_EQ_256-NEXT: movprfx z1, z2
-; VBITS_EQ_256-NEXT: fmaxnm z1.h, p0/m, z1.h, z3.h
+; VBITS_EQ_256-NEXT: fmaxnm z2.h, p0/m, z2.h, z3.h
; VBITS_EQ_256-NEXT: st1h { z0.h }, p0, [x0, x8, lsl #1]
-; VBITS_EQ_256-NEXT: st1h { z1.h }, p0, [x0]
+; VBITS_EQ_256-NEXT: st1h { z2.h }, p0, [x0]
; VBITS_EQ_256-NEXT: ret
;
; VBITS_GE_512-LABEL: fmaxnm_v32f16:
@@ -154,10 +153,9 @@ define void @fmaxnm_v16f32(ptr %a, ptr %b) #0 {
; VBITS_EQ_256-NEXT: ld1w { z2.s }, p0/z, [x0]
; VBITS_EQ_256-NEXT: ld1w { z3.s }, p0/z, [x1]
; VBITS_EQ_256-NEXT: fmaxnm z0.s, p0/m, z0.s, z1.s
-; VBITS_EQ_256-NEXT: movprfx z1, z2
-; VBITS_EQ_256-NEXT: fmaxnm z1.s, p0/m, z1.s, z3.s
+; VBITS_EQ_256-NEXT: fmaxnm z2.s, p0/m, z2.s, z3.s
; VBITS_EQ_256-NEXT: st1w { z0.s }, p0, [x0, x8, lsl #2]
-; VBITS_EQ_256-NEXT: st1w { z1.s }, p0, [x0]
+; VBITS_EQ_256-NEXT: st1w { z2.s }, p0, [x0]
; VBITS_EQ_256-NEXT: ret
;
; VBITS_GE_512-LABEL: fmaxnm_v16f32:
@@ -253,10 +251,9 @@ define void @fmaxnm_v8f64(ptr %a, ptr %b) #0 {
; VBITS_EQ_256-NEXT: ld1d { z2.d }, p0/z, [x0]
; VBITS_EQ_256-NEXT: ld1d { z3.d }, p0/z, [x1]
; VBITS_EQ_256-NEXT: fmaxnm z0.d, p0/m, z0.d, z1.d
-; VBITS_EQ_256-NEXT: movprfx z1, z2
-; VBITS_EQ_256-NEXT: fmaxnm z1.d, p0/m, z1.d, z3.d
+; VBITS_EQ_256-NEXT: fmaxnm z2.d, p0/m, z2.d, z3.d
; VBITS_EQ_256-NEXT: st1d { z0.d }, p0, [x0, x8, lsl #3]
-; VBITS_EQ_256-NEXT: st1d { z1.d }, p0, [x0]
+; VBITS_EQ_256-NEXT: st1d { z2.d }, p0, [x0]
; VBITS_EQ_256-NEXT: ret
;
; VBITS_GE_512-LABEL: fmaxnm_v8f64:
@@ -356,10 +353,9 @@ define void @fminnm_v32f16(ptr %a, ptr %b) #0 {
; VBITS_EQ_256-NEXT: ld1h { z2.h }, p0/z, [x0]
; VBITS_EQ_256-NEXT: ld1h { z3.h }, p0/z, [x1]
; VBITS_EQ_256-NEXT: fminnm z0.h, p0/m, z0.h, z1.h
-; VBITS_EQ_256-NEXT: movprfx z1, z2
-; VBITS_EQ_256-NEXT: fminnm z1.h, p0/m, z1.h, z3.h
+; VBITS_EQ_256-NEXT: fminnm z2.h, p0/m, z2.h, z3.h
; VBITS_EQ_256-NEXT: st1h { z0.h }, p0, [x0, x8, lsl #1]
-; VBITS_EQ_256-NEXT: st1h { z1.h }, p0, [x0]
+; VBITS_EQ_256-NEXT: st1h { z2.h }, p0, [x0]
; VBITS_EQ_256-NEXT: ret
;
; VBITS_GE_512-LABEL: fminnm_v32f16:
@@ -455,10 +451,9 @@ define void @fminnm_v16f32(ptr %a, ptr %b) #0 {
; VBITS_EQ_256-NEXT: ld1w { z2.s }, p0/z, [x0]
; VBITS_EQ_256-NEXT: ld1w { z3.s }, p0/z, [x1]
; VBITS_EQ_256-NEXT: fminnm z0.s, p0/m, z0.s, z1.s
-; VBITS_EQ_256-NEXT: movprfx z1, z2
-; VBITS_EQ_256-NEXT: fminnm z1.s, p0/m, z1.s, z3.s
+; VBITS_EQ_256-NEXT: fminnm z2.s, p0/m, z2.s, z3.s
; VBITS_EQ_256-NEXT: st1w { z0.s }, p0, [x0, x8, lsl #2]
-; VBITS_EQ_256-NEXT: st1w { z1.s }, p0, [x0]
+; VBITS_EQ_256-NEXT: st1w { z2.s }, p0, [x0]
; VBITS_EQ_256-NEXT: ret
;
; VBITS_GE_512-LABEL: fminnm_v16f32:
@@ -554,10 +549,9 @@ define void @fminnm_v8f64(ptr %a, ptr %b) #0 {
; VBITS_EQ_256-NEXT: ld1d { z2.d }, p0/z, [x0]
; VBITS_EQ_256-NEXT: ld1d { z3.d }, p0/z, [x1]
; VBITS_EQ_256-NEXT: fminnm z0.d, p0/m, z0.d, z1.d
-; VBITS_EQ_256-NEXT: movprfx z1, z2
-; VBITS_EQ_256-NEXT: fminnm z1.d, p0/m, z1.d, z3.d
+; VBITS_EQ_256-NEXT: fminnm z2.d, p0/m, z2.d, z3.d
; VBITS_EQ_256-NEXT: st1d { z0.d }, p0, [x0, x8, lsl #3]
-; VBITS_EQ_256-NEXT: st1d { z1.d }, p0, [x0]
+; VBITS_EQ_256-NEXT: st1d { z2.d }, p0, [x0]
; VBITS_EQ_256-NEXT: ret
;
; VBITS_GE_512-LABEL: fminnm_v8f64:
@@ -657,10 +651,9 @@ define void @fmax_v32f16(ptr %a, ptr %b) #0 {
; VBITS_EQ_256-NEXT: ld1h { z2.h }, p0/z, [x0]
; VBITS_EQ_256-NEXT: ld1h { z3.h }, p0/z, [x1]
; VBITS_EQ_256-NEXT: fmax z0.h, p0/m, z0.h, z1.h
-; VBITS_EQ_256-NEXT: movprfx z1, z2
-; VBITS_EQ_256-NEXT: fmax z1.h, p0/m, z1.h, z3.h
+; VBITS_EQ_256-NEXT: fmax z2.h, p0/m, z2.h, z3.h
; VBITS_EQ_256-NEXT: st1h { z0.h }, p0, [x0, x8, lsl #1]
-; VBITS_EQ_256-NEXT: st1h { z1.h }, p0, [x0]
+; VBITS_EQ_256-NEXT: st1h { z2.h }, p0, [x0]
; VBITS_EQ_256-NEXT: ret
;
; VBITS_GE_512-LABEL: fmax_v32f16:
@@ -756,10 +749,9 @@ define void @fmax_v16f32(ptr %a, ptr %b) #0 {
; VBITS_EQ_256-NEXT: ld1w { z2.s }, p0/z, [x0]
; VBITS_EQ_256-NEXT: ld1w { z3.s }, p0/z, [x1]
; VBITS_EQ_256-NEXT: fmax z0.s, p0/m, z0.s, z1.s
-; VBITS_EQ_256-NEXT: movprfx z1, z2
-; VBITS_EQ_256-NEXT: fmax z1.s, p0/m, z1.s, z3.s
+; VBITS_EQ_256-NEXT: fmax z2.s, p0/m, z2.s, z3.s
; VBITS_EQ_256-NEXT: st1w { z0.s }, p0, [x0, x8, lsl #2]
-; VBITS_EQ_256-NEXT: st1w { z1.s }, p0, [x0]
+; VBITS_EQ_256-NEXT: st1w { z2.s }, p0, [x0]
; VBITS_EQ_256-NEXT: ret
;
; VBITS_GE_512-LABEL: fmax_v16f32:
@@ -855,10 +847,9 @@ define void @fmax_v8f64(ptr %a, ptr %b) #0 {
; VBITS_EQ_256-NEXT: ld1d { z2.d }, p0/z, [x0]
; VBITS_EQ_256-NEXT: ld1d { z3.d }, p0/z, [x1]
; VBITS_EQ_256-NEXT: fmax z0.d, p0/m, z0.d, z1.d
-; VBITS_EQ_256-NEXT: movprfx z1, z2
-; VBITS_EQ_256-NEXT: fmax z1.d, p0/m, z1.d, z3.d
+; VBITS_EQ_256-NEXT: fmax z2.d, p0/m, z2.d, z3.d
; VBITS_EQ_256-NEXT: st1d { z0.d }, p0, [x0, x8, lsl #3]
-; VBITS_EQ_256-NEXT: st1d { z1.d }, p0, [x0]
+; VBITS_EQ_256-NEXT: st1d { z2.d }, p0, [x0]
; VBITS_EQ_256-NEXT: ret
;
; VBITS_GE_512-LABEL: fmax_v8f64:
@@ -958,10 +949,9 @@ define void @fmin_v32f16(ptr %a, ptr %b) #0 {
; VBITS_EQ_256-NEXT: ld1h { z2.h }, p0/z, [x0]
; VBITS_EQ_256-NEXT: ld1h { z3.h }, p0/z, [x1]
; VBITS_EQ_256-NEXT: fmin z0.h, p0/m, z0.h, z1.h
-; VBITS_EQ_256-NEXT: movprfx z1, z2
-; VBITS_EQ_256-NEXT: fmin z1.h, p0/m, z1.h, z3.h
+; VBITS_EQ_256-NEXT: fmin z2.h, p0/m, z2.h, z3.h
; VBITS_EQ_256-NEXT: st1h { z0.h }, p0, [x0, x8, lsl #1]
-; VBITS_EQ_256-NEXT: st1h { z1.h }, p0, [x0]
+; VBITS_EQ_256-NEXT: st1h { z2.h }, p0, [x0]
; VBITS_EQ_256-NEXT: ret
;
; VBITS_GE_512-LABEL: fmin_v32f16:
@@ -1057,10 +1047,9 @@ define void @fmin_v16f32(ptr %a, ptr %b) #0 {
; VBITS_EQ_256-NEXT: ld1w { z2.s }, p0/z, [x0]
; VBITS_EQ_256-NEXT: ld1w { z3.s }, p0/z, [x1]
; VBITS_EQ_256-NEXT: fmin z0.s, p0/m, z0.s, z1.s
-; VBITS_EQ_256-NEXT: movprfx z1, z2
-; VBITS_EQ_256-NEXT: fmin z1.s, p0/m, z1.s, z3.s
+; VBITS_EQ_256-NEXT: fmin z2.s, p0/m, z2.s, z3.s
; VBITS_EQ_256-NEXT: st1w { z0.s }, p0, [x0, x8, lsl #2]
-; VBITS_EQ_256-NEXT: st1w { z1.s }, p0, [x0]
+; VBITS_EQ_256-NEXT: st1w { z2.s }, p0, [x0]
; VBITS_EQ_256-NEXT: ret
;
; VBITS_GE_512-LABEL: fmin_v16f32:
@@ -1156,10 +1145,9 @@ define void @fmin_v8f64(ptr %a, ptr %b) #0 {
; VBITS_EQ_256-NEXT: ld1d { z2.d }, p0/z, [x0]
; VBITS_EQ_256-NEXT: ld1d { z3.d }, p0/z, [x1]
; VBITS_EQ_256-NEXT: fmin z0.d, p0/m, z0.d, z1.d
-; VBITS_EQ_256-NEXT: movprfx z1, z2
-; VBITS_EQ_256-NEXT: fmin z1.d, p0/m, z1.d, z3.d
+; VBITS_EQ_256-NEXT: fmin z2.d, p0/m, z2.d, z3.d
; VBITS_EQ_256-NEXT: st1d { z0.d }, p0, [x0, x8, lsl #3]
-; VBITS_EQ_256-NEXT: st1d { z1.d }, p0, [x0]
+; VBITS_EQ_256-NEXT: st1d { z2.d }, p0, [x0]
; VBITS_EQ_256-NEXT: ret
;
; VBITS_GE_512-LABEL: fmin_v8f64: