@@ -155,6 +155,7 @@ define <vscale x 8 x half> @dup_extract_nxv8f16_nxv4f16(<vscale x 4 x half> %dat
155155; CHECK-LABEL: dup_extract_nxv8f16_nxv4f16:
156156; CHECK: // %bb.0:
157157; CHECK-NEXT: mov z0.s, z0.s[1]
158+ ; CHECK-NEXT: mov z0.h, h0
158159; CHECK-NEXT: ret
159160 %1 = extractelement <vscale x 4 x half > %data , i16 1
160161 %.splatinsert = insertelement <vscale x 8 x half > poison, half %1 , i32 0
@@ -166,6 +167,7 @@ define <vscale x 8 x half> @dup_extract_nxv8f16_nxv2f16(<vscale x 2 x half> %dat
166167; CHECK-LABEL: dup_extract_nxv8f16_nxv2f16:
167168; CHECK: // %bb.0:
168169; CHECK-NEXT: mov z0.d, z0.d[1]
170+ ; CHECK-NEXT: mov z0.h, h0
169171; CHECK-NEXT: ret
170172 %1 = extractelement <vscale x 2 x half > %data , i16 1
171173 %.splatinsert = insertelement <vscale x 8 x half > poison, half %1 , i32 0
@@ -223,6 +225,7 @@ define <vscale x 4 x half> @dup_extract_nxv4f16_nxv2f16(<vscale x 2 x half> %dat
223225; CHECK-LABEL: dup_extract_nxv4f16_nxv2f16:
224226; CHECK: // %bb.0:
225227; CHECK-NEXT: mov z0.d, z0.d[1]
228+ ; CHECK-NEXT: mov z0.h, h0
226229; CHECK-NEXT: ret
227230 %1 = extractelement <vscale x 2 x half > %data , i16 1
228231 %.splatinsert = insertelement <vscale x 4 x half > poison, half %1 , i32 0
@@ -326,6 +329,7 @@ define <vscale x 4 x float> @dup_extract_nxv4f32_nxv2f32(<vscale x 2 x float> %d
326329; CHECK-LABEL: dup_extract_nxv4f32_nxv2f32:
327330; CHECK: // %bb.0:
328331; CHECK-NEXT: mov z0.d, z0.d[1]
332+ ; CHECK-NEXT: mov z0.s, s0
329333; CHECK-NEXT: ret
330334 %1 = extractelement <vscale x 2 x float > %data , i32 1
331335 %.splatinsert = insertelement <vscale x 4 x float > poison, float %1 , i32 0
@@ -452,6 +456,7 @@ define <vscale x 8 x bfloat> @dup_extract_nxv8bf16_nxv4bf16(<vscale x 4 x bfloat
452456; CHECK-LABEL: dup_extract_nxv8bf16_nxv4bf16:
453457; CHECK: // %bb.0:
454458; CHECK-NEXT: mov z0.s, z0.s[1]
459+ ; CHECK-NEXT: mov z0.h, h0
455460; CHECK-NEXT: ret
456461 %1 = extractelement <vscale x 4 x bfloat> %data , i16 1
457462 %.splatinsert = insertelement <vscale x 8 x bfloat> poison, bfloat %1 , i32 0
@@ -463,6 +468,7 @@ define <vscale x 8 x bfloat> @dup_extract_nxv8bf16_nxv2bf16(<vscale x 2 x bfloat
463468; CHECK-LABEL: dup_extract_nxv8bf16_nxv2bf16:
464469; CHECK: // %bb.0:
465470; CHECK-NEXT: mov z0.d, z0.d[1]
471+ ; CHECK-NEXT: mov z0.h, h0
466472; CHECK-NEXT: ret
467473 %1 = extractelement <vscale x 2 x bfloat> %data , i16 1
468474 %.splatinsert = insertelement <vscale x 8 x bfloat> poison, bfloat %1 , i32 0
@@ -520,6 +526,7 @@ define <vscale x 4 x bfloat> @dup_extract_nxv4bf16_nxv2bf16(<vscale x 2 x bfloat
520526; CHECK-LABEL: dup_extract_nxv4bf16_nxv2bf16:
521527; CHECK: // %bb.0:
522528; CHECK-NEXT: mov z0.d, z0.d[1]
529+ ; CHECK-NEXT: mov z0.h, h0
523530; CHECK-NEXT: ret
524531 %1 = extractelement <vscale x 2 x bfloat> %data , i16 1
525532 %.splatinsert = insertelement <vscale x 4 x bfloat> poison, bfloat %1 , i32 0
0 commit comments