@@ -55,10 +55,9 @@ define void @fadd_v32f16(ptr %a, ptr %b) #0 {
5555; VBITS_GE_256-NEXT: ld1h { z2.h }, p0/z, [x0]
5656; VBITS_GE_256-NEXT: ld1h { z3.h }, p0/z, [x1]
5757; VBITS_GE_256-NEXT: fadd z0.h, p0/m, z0.h, z1.h
58- ; VBITS_GE_256-NEXT: movprfx z1, z2
59- ; VBITS_GE_256-NEXT: fadd z1.h, p0/m, z1.h, z3.h
58+ ; VBITS_GE_256-NEXT: fadd z2.h, p0/m, z2.h, z3.h
6059; VBITS_GE_256-NEXT: st1h { z0.h }, p0, [x0, x8, lsl #1]
61- ; VBITS_GE_256-NEXT: st1h { z1 .h }, p0, [x0]
60+ ; VBITS_GE_256-NEXT: st1h { z2 .h }, p0, [x0]
6261; VBITS_GE_256-NEXT: ret
6362;
6463; VBITS_GE_512-LABEL: fadd_v32f16:
@@ -154,10 +153,9 @@ define void @fadd_v16f32(ptr %a, ptr %b) #0 {
154153; VBITS_GE_256-NEXT: ld1w { z2.s }, p0/z, [x0]
155154; VBITS_GE_256-NEXT: ld1w { z3.s }, p0/z, [x1]
156155; VBITS_GE_256-NEXT: fadd z0.s, p0/m, z0.s, z1.s
157- ; VBITS_GE_256-NEXT: movprfx z1, z2
158- ; VBITS_GE_256-NEXT: fadd z1.s, p0/m, z1.s, z3.s
156+ ; VBITS_GE_256-NEXT: fadd z2.s, p0/m, z2.s, z3.s
159157; VBITS_GE_256-NEXT: st1w { z0.s }, p0, [x0, x8, lsl #2]
160- ; VBITS_GE_256-NEXT: st1w { z1 .s }, p0, [x0]
158+ ; VBITS_GE_256-NEXT: st1w { z2 .s }, p0, [x0]
161159; VBITS_GE_256-NEXT: ret
162160;
163161; VBITS_GE_512-LABEL: fadd_v16f32:
@@ -253,10 +251,9 @@ define void @fadd_v8f64(ptr %a, ptr %b) #0 {
253251; VBITS_GE_256-NEXT: ld1d { z2.d }, p0/z, [x0]
254252; VBITS_GE_256-NEXT: ld1d { z3.d }, p0/z, [x1]
255253; VBITS_GE_256-NEXT: fadd z0.d, p0/m, z0.d, z1.d
256- ; VBITS_GE_256-NEXT: movprfx z1, z2
257- ; VBITS_GE_256-NEXT: fadd z1.d, p0/m, z1.d, z3.d
254+ ; VBITS_GE_256-NEXT: fadd z2.d, p0/m, z2.d, z3.d
258255; VBITS_GE_256-NEXT: st1d { z0.d }, p0, [x0, x8, lsl #3]
259- ; VBITS_GE_256-NEXT: st1d { z1 .d }, p0, [x0]
256+ ; VBITS_GE_256-NEXT: st1d { z2 .d }, p0, [x0]
260257; VBITS_GE_256-NEXT: ret
261258;
262259; VBITS_GE_512-LABEL: fadd_v8f64:
@@ -660,10 +657,9 @@ define void @fma_v32f16(ptr %a, ptr %b, ptr %c) #0 {
660657; VBITS_GE_256-NEXT: ld1h { z4.h }, p0/z, [x1]
661658; VBITS_GE_256-NEXT: ld1h { z5.h }, p0/z, [x2]
662659; VBITS_GE_256-NEXT: fmad z0.h, p0/m, z1.h, z2.h
663- ; VBITS_GE_256-NEXT: movprfx z1, z5
664- ; VBITS_GE_256-NEXT: fmla z1.h, p0/m, z3.h, z4.h
660+ ; VBITS_GE_256-NEXT: fmad z3.h, p0/m, z4.h, z5.h
665661; VBITS_GE_256-NEXT: st1h { z0.h }, p0, [x0, x8, lsl #1]
666- ; VBITS_GE_256-NEXT: st1h { z1 .h }, p0, [x0]
662+ ; VBITS_GE_256-NEXT: st1h { z3 .h }, p0, [x0]
667663; VBITS_GE_256-NEXT: ret
668664;
669665; VBITS_GE_512-LABEL: fma_v32f16:
@@ -771,10 +767,9 @@ define void @fma_v16f32(ptr %a, ptr %b, ptr %c) #0 {
771767; VBITS_GE_256-NEXT: ld1w { z4.s }, p0/z, [x1]
772768; VBITS_GE_256-NEXT: ld1w { z5.s }, p0/z, [x2]
773769; VBITS_GE_256-NEXT: fmad z0.s, p0/m, z1.s, z2.s
774- ; VBITS_GE_256-NEXT: movprfx z1, z5
775- ; VBITS_GE_256-NEXT: fmla z1.s, p0/m, z3.s, z4.s
770+ ; VBITS_GE_256-NEXT: fmad z3.s, p0/m, z4.s, z5.s
776771; VBITS_GE_256-NEXT: st1w { z0.s }, p0, [x0, x8, lsl #2]
777- ; VBITS_GE_256-NEXT: st1w { z1 .s }, p0, [x0]
772+ ; VBITS_GE_256-NEXT: st1w { z3 .s }, p0, [x0]
778773; VBITS_GE_256-NEXT: ret
779774;
780775; VBITS_GE_512-LABEL: fma_v16f32:
@@ -881,10 +876,9 @@ define void @fma_v8f64(ptr %a, ptr %b, ptr %c) #0 {
881876; VBITS_GE_256-NEXT: ld1d { z4.d }, p0/z, [x1]
882877; VBITS_GE_256-NEXT: ld1d { z5.d }, p0/z, [x2]
883878; VBITS_GE_256-NEXT: fmad z0.d, p0/m, z1.d, z2.d
884- ; VBITS_GE_256-NEXT: movprfx z1, z5
885- ; VBITS_GE_256-NEXT: fmla z1.d, p0/m, z3.d, z4.d
879+ ; VBITS_GE_256-NEXT: fmad z3.d, p0/m, z4.d, z5.d
886880; VBITS_GE_256-NEXT: st1d { z0.d }, p0, [x0, x8, lsl #3]
887- ; VBITS_GE_256-NEXT: st1d { z1 .d }, p0, [x0]
881+ ; VBITS_GE_256-NEXT: st1d { z3 .d }, p0, [x0]
888882; VBITS_GE_256-NEXT: ret
889883;
890884; VBITS_GE_512-LABEL: fma_v8f64:
@@ -990,10 +984,9 @@ define void @fmul_v32f16(ptr %a, ptr %b) #0 {
990984; VBITS_GE_256-NEXT: ld1h { z2.h }, p0/z, [x0]
991985; VBITS_GE_256-NEXT: ld1h { z3.h }, p0/z, [x1]
992986; VBITS_GE_256-NEXT: fmul z0.h, p0/m, z0.h, z1.h
993- ; VBITS_GE_256-NEXT: movprfx z1, z2
994- ; VBITS_GE_256-NEXT: fmul z1.h, p0/m, z1.h, z3.h
987+ ; VBITS_GE_256-NEXT: fmul z2.h, p0/m, z2.h, z3.h
995988; VBITS_GE_256-NEXT: st1h { z0.h }, p0, [x0, x8, lsl #1]
996- ; VBITS_GE_256-NEXT: st1h { z1 .h }, p0, [x0]
989+ ; VBITS_GE_256-NEXT: st1h { z2 .h }, p0, [x0]
997990; VBITS_GE_256-NEXT: ret
998991;
999992; VBITS_GE_512-LABEL: fmul_v32f16:
@@ -1089,10 +1082,9 @@ define void @fmul_v16f32(ptr %a, ptr %b) #0 {
10891082; VBITS_GE_256-NEXT: ld1w { z2.s }, p0/z, [x0]
10901083; VBITS_GE_256-NEXT: ld1w { z3.s }, p0/z, [x1]
10911084; VBITS_GE_256-NEXT: fmul z0.s, p0/m, z0.s, z1.s
1092- ; VBITS_GE_256-NEXT: movprfx z1, z2
1093- ; VBITS_GE_256-NEXT: fmul z1.s, p0/m, z1.s, z3.s
1085+ ; VBITS_GE_256-NEXT: fmul z2.s, p0/m, z2.s, z3.s
10941086; VBITS_GE_256-NEXT: st1w { z0.s }, p0, [x0, x8, lsl #2]
1095- ; VBITS_GE_256-NEXT: st1w { z1 .s }, p0, [x0]
1087+ ; VBITS_GE_256-NEXT: st1w { z2 .s }, p0, [x0]
10961088; VBITS_GE_256-NEXT: ret
10971089;
10981090; VBITS_GE_512-LABEL: fmul_v16f32:
@@ -1188,10 +1180,9 @@ define void @fmul_v8f64(ptr %a, ptr %b) #0 {
11881180; VBITS_GE_256-NEXT: ld1d { z2.d }, p0/z, [x0]
11891181; VBITS_GE_256-NEXT: ld1d { z3.d }, p0/z, [x1]
11901182; VBITS_GE_256-NEXT: fmul z0.d, p0/m, z0.d, z1.d
1191- ; VBITS_GE_256-NEXT: movprfx z1, z2
1192- ; VBITS_GE_256-NEXT: fmul z1.d, p0/m, z1.d, z3.d
1183+ ; VBITS_GE_256-NEXT: fmul z2.d, p0/m, z2.d, z3.d
11931184; VBITS_GE_256-NEXT: st1d { z0.d }, p0, [x0, x8, lsl #3]
1194- ; VBITS_GE_256-NEXT: st1d { z1 .d }, p0, [x0]
1185+ ; VBITS_GE_256-NEXT: st1d { z2 .d }, p0, [x0]
11951186; VBITS_GE_256-NEXT: ret
11961187;
11971188; VBITS_GE_512-LABEL: fmul_v8f64:
@@ -1827,10 +1818,9 @@ define void @fsub_v32f16(ptr %a, ptr %b) #0 {
18271818; VBITS_GE_256-NEXT: ld1h { z2.h }, p0/z, [x0]
18281819; VBITS_GE_256-NEXT: ld1h { z3.h }, p0/z, [x1]
18291820; VBITS_GE_256-NEXT: fsub z0.h, p0/m, z0.h, z1.h
1830- ; VBITS_GE_256-NEXT: movprfx z1, z2
1831- ; VBITS_GE_256-NEXT: fsub z1.h, p0/m, z1.h, z3.h
1821+ ; VBITS_GE_256-NEXT: fsub z2.h, p0/m, z2.h, z3.h
18321822; VBITS_GE_256-NEXT: st1h { z0.h }, p0, [x0, x8, lsl #1]
1833- ; VBITS_GE_256-NEXT: st1h { z1 .h }, p0, [x0]
1823+ ; VBITS_GE_256-NEXT: st1h { z2 .h }, p0, [x0]
18341824; VBITS_GE_256-NEXT: ret
18351825;
18361826; VBITS_GE_512-LABEL: fsub_v32f16:
@@ -1926,10 +1916,9 @@ define void @fsub_v16f32(ptr %a, ptr %b) #0 {
19261916; VBITS_GE_256-NEXT: ld1w { z2.s }, p0/z, [x0]
19271917; VBITS_GE_256-NEXT: ld1w { z3.s }, p0/z, [x1]
19281918; VBITS_GE_256-NEXT: fsub z0.s, p0/m, z0.s, z1.s
1929- ; VBITS_GE_256-NEXT: movprfx z1, z2
1930- ; VBITS_GE_256-NEXT: fsub z1.s, p0/m, z1.s, z3.s
1919+ ; VBITS_GE_256-NEXT: fsub z2.s, p0/m, z2.s, z3.s
19311920; VBITS_GE_256-NEXT: st1w { z0.s }, p0, [x0, x8, lsl #2]
1932- ; VBITS_GE_256-NEXT: st1w { z1 .s }, p0, [x0]
1921+ ; VBITS_GE_256-NEXT: st1w { z2 .s }, p0, [x0]
19331922; VBITS_GE_256-NEXT: ret
19341923;
19351924; VBITS_GE_512-LABEL: fsub_v16f32:
@@ -2025,10 +2014,9 @@ define void @fsub_v8f64(ptr %a, ptr %b) #0 {
20252014; VBITS_GE_256-NEXT: ld1d { z2.d }, p0/z, [x0]
20262015; VBITS_GE_256-NEXT: ld1d { z3.d }, p0/z, [x1]
20272016; VBITS_GE_256-NEXT: fsub z0.d, p0/m, z0.d, z1.d
2028- ; VBITS_GE_256-NEXT: movprfx z1, z2
2029- ; VBITS_GE_256-NEXT: fsub z1.d, p0/m, z1.d, z3.d
2017+ ; VBITS_GE_256-NEXT: fsub z2.d, p0/m, z2.d, z3.d
20302018; VBITS_GE_256-NEXT: st1d { z0.d }, p0, [x0, x8, lsl #3]
2031- ; VBITS_GE_256-NEXT: st1d { z1 .d }, p0, [x0]
2019+ ; VBITS_GE_256-NEXT: st1d { z2 .d }, p0, [x0]
20322020; VBITS_GE_256-NEXT: ret
20332021;
20342022; VBITS_GE_512-LABEL: fsub_v8f64:
0 commit comments