@@ -380,30 +380,18 @@ entry:
380
380
ret void
381
381
}
382
382
383
- ; TODO: Allow an undef initial element
384
383
define void @vnsrl_0_i8_undef3 (ptr %in , ptr %out ) {
385
384
; CHECK-LABEL: vnsrl_0_i8_undef3:
386
385
; CHECK: # %bb.0: # %entry
387
386
; CHECK-NEXT: vsetivli zero, 16, e8, mf2, ta, ma
388
387
; CHECK-NEXT: vle8.v v8, (a0)
389
- ; CHECK-NEXT: vmv.v.i v0, 8
390
- ; CHECK-NEXT: vsetivli zero, 8, e8, mf4, ta, mu
391
- ; CHECK-NEXT: vid.v v9
392
- ; CHECK-NEXT: li a0, -32
393
- ; CHECK-NEXT: vadd.vv v9, v9, v9
394
- ; CHECK-NEXT: vadd.vi v9, v9, -8
395
- ; CHECK-NEXT: vslidedown.vi v10, v8, 2
396
- ; CHECK-NEXT: vslidedown.vi v10, v8, 3, v0.t
397
- ; CHECK-NEXT: vmv.s.x v0, a0
398
- ; CHECK-NEXT: vsetivli zero, 8, e8, mf2, ta, ma
399
- ; CHECK-NEXT: vslidedown.vi v8, v8, 8
400
- ; CHECK-NEXT: vsetivli zero, 8, e8, mf4, ta, mu
401
- ; CHECK-NEXT: vrgather.vv v10, v8, v9, v0.t
402
- ; CHECK-NEXT: vse8.v v10, (a1)
388
+ ; CHECK-NEXT: vsetivli zero, 8, e8, mf4, ta, ma
389
+ ; CHECK-NEXT: vnsrl.wi v8, v8, 0
390
+ ; CHECK-NEXT: vse8.v v8, (a1)
403
391
; CHECK-NEXT: ret
404
392
entry:
405
393
%0 = load <16 x i8 >, ptr %in , align 1
406
- %shuffle.i5 = shufflevector <16 x i8 > %0 , <16 x i8 > poison, <8 x i32 > <i32 undef , i32 undef , i32 4 , i32 6 , i32 6 , i32 10 , i32 12 , i32 14 >
394
+ %shuffle.i5 = shufflevector <16 x i8 > %0 , <16 x i8 > poison, <8 x i32 > <i32 undef , i32 undef , i32 4 , i32 6 , i32 8 , i32 10 , i32 12 , i32 14 >
407
395
store <8 x i8 > %shuffle.i5 , ptr %out , align 1
408
396
ret void
409
397
}
0 commit comments