@@ -401,11 +401,10 @@ define void @masked_load_sext_v32i8i16(ptr %ap, ptr %bp, ptr %c) #0 {
401401define void @masked_load_sext_v16i8i32 (ptr %ap , ptr %bp , ptr %c ) #0 {
402402; VBITS_GE_256-LABEL: masked_load_sext_v16i8i32:
403403; VBITS_GE_256: // %bb.0:
404- ; VBITS_GE_256-NEXT: ldr q0, [x1]
405404; VBITS_GE_256-NEXT: ptrue p0.b, vl16
405+ ; VBITS_GE_256-NEXT: ldr q0, [x1]
406406; VBITS_GE_256-NEXT: mov x8, #8 // =0x8
407- ; VBITS_GE_256-NEXT: cmeq v0.16b, v0.16b, #0
408- ; VBITS_GE_256-NEXT: cmpne p0.b, p0/z, z0.b, #0
407+ ; VBITS_GE_256-NEXT: cmpeq p0.b, p0/z, z0.b, #0
409408; VBITS_GE_256-NEXT: ld1b { z0.b }, p0/z, [x0]
410409; VBITS_GE_256-NEXT: ptrue p0.s, vl8
411410; VBITS_GE_256-NEXT: ext v1.16b, v0.16b, v0.16b, #8
@@ -436,11 +435,10 @@ define void @masked_load_sext_v16i8i32(ptr %ap, ptr %bp, ptr %c) #0 {
436435define void @masked_load_sext_v8i8i64 (ptr %ap , ptr %bp , ptr %c ) #0 {
437436; VBITS_GE_256-LABEL: masked_load_sext_v8i8i64:
438437; VBITS_GE_256: // %bb.0:
439- ; VBITS_GE_256-NEXT: ldr d0, [x1]
440438; VBITS_GE_256-NEXT: ptrue p0.b, vl8
439+ ; VBITS_GE_256-NEXT: ldr d0, [x1]
441440; VBITS_GE_256-NEXT: mov x8, #4 // =0x4
442- ; VBITS_GE_256-NEXT: cmeq v0.8b, v0.8b, #0
443- ; VBITS_GE_256-NEXT: cmpne p0.b, p0/z, z0.b, #0
441+ ; VBITS_GE_256-NEXT: cmpeq p0.b, p0/z, z0.b, #0
444442; VBITS_GE_256-NEXT: ld1b { z0.b }, p0/z, [x0]
445443; VBITS_GE_256-NEXT: ptrue p0.d, vl4
446444; VBITS_GE_256-NEXT: sshll v0.8h, v0.8b, #0
@@ -504,11 +502,10 @@ define void @masked_load_sext_v16i16i32(ptr %ap, ptr %bp, ptr %c) #0 {
504502define void @masked_load_sext_v8i16i64 (ptr %ap , ptr %bp , ptr %c ) #0 {
505503; VBITS_GE_256-LABEL: masked_load_sext_v8i16i64:
506504; VBITS_GE_256: // %bb.0:
507- ; VBITS_GE_256-NEXT: ldr q0, [x1]
508505; VBITS_GE_256-NEXT: ptrue p0.h, vl8
506+ ; VBITS_GE_256-NEXT: ldr q0, [x1]
509507; VBITS_GE_256-NEXT: mov x8, #4 // =0x4
510- ; VBITS_GE_256-NEXT: cmeq v0.8h, v0.8h, #0
511- ; VBITS_GE_256-NEXT: cmpne p0.h, p0/z, z0.h, #0
508+ ; VBITS_GE_256-NEXT: cmpeq p0.h, p0/z, z0.h, #0
512509; VBITS_GE_256-NEXT: ld1h { z0.h }, p0/z, [x0]
513510; VBITS_GE_256-NEXT: ptrue p0.d, vl4
514511; VBITS_GE_256-NEXT: ext v1.16b, v0.16b, v0.16b, #8
@@ -603,11 +600,10 @@ define void @masked_load_zext_v32i8i16(ptr %ap, ptr %bp, ptr %c) #0 {
603600define void @masked_load_zext_v16i8i32 (ptr %ap , ptr %bp , ptr %c ) #0 {
604601; VBITS_GE_256-LABEL: masked_load_zext_v16i8i32:
605602; VBITS_GE_256: // %bb.0:
606- ; VBITS_GE_256-NEXT: ldr q0, [x1]
607603; VBITS_GE_256-NEXT: ptrue p0.b, vl16
604+ ; VBITS_GE_256-NEXT: ldr q0, [x1]
608605; VBITS_GE_256-NEXT: mov x8, #8 // =0x8
609- ; VBITS_GE_256-NEXT: cmeq v0.16b, v0.16b, #0
610- ; VBITS_GE_256-NEXT: cmpne p0.b, p0/z, z0.b, #0
606+ ; VBITS_GE_256-NEXT: cmpeq p0.b, p0/z, z0.b, #0
611607; VBITS_GE_256-NEXT: ld1b { z0.b }, p0/z, [x0]
612608; VBITS_GE_256-NEXT: ptrue p0.s, vl8
613609; VBITS_GE_256-NEXT: ext v1.16b, v0.16b, v0.16b, #8
@@ -638,11 +634,10 @@ define void @masked_load_zext_v16i8i32(ptr %ap, ptr %bp, ptr %c) #0 {
638634define void @masked_load_zext_v8i8i64 (ptr %ap , ptr %bp , ptr %c ) #0 {
639635; VBITS_GE_256-LABEL: masked_load_zext_v8i8i64:
640636; VBITS_GE_256: // %bb.0:
641- ; VBITS_GE_256-NEXT: ldr d0, [x1]
642637; VBITS_GE_256-NEXT: ptrue p0.b, vl8
638+ ; VBITS_GE_256-NEXT: ldr d0, [x1]
643639; VBITS_GE_256-NEXT: mov x8, #4 // =0x4
644- ; VBITS_GE_256-NEXT: cmeq v0.8b, v0.8b, #0
645- ; VBITS_GE_256-NEXT: cmpne p0.b, p0/z, z0.b, #0
640+ ; VBITS_GE_256-NEXT: cmpeq p0.b, p0/z, z0.b, #0
646641; VBITS_GE_256-NEXT: ld1b { z0.b }, p0/z, [x0]
647642; VBITS_GE_256-NEXT: ptrue p0.d, vl4
648643; VBITS_GE_256-NEXT: ushll v0.8h, v0.8b, #0
@@ -706,11 +701,10 @@ define void @masked_load_zext_v16i16i32(ptr %ap, ptr %bp, ptr %c) #0 {
706701define void @masked_load_zext_v8i16i64 (ptr %ap , ptr %bp , ptr %c ) #0 {
707702; VBITS_GE_256-LABEL: masked_load_zext_v8i16i64:
708703; VBITS_GE_256: // %bb.0:
709- ; VBITS_GE_256-NEXT: ldr q0, [x1]
710704; VBITS_GE_256-NEXT: ptrue p0.h, vl8
705+ ; VBITS_GE_256-NEXT: ldr q0, [x1]
711706; VBITS_GE_256-NEXT: mov x8, #4 // =0x4
712- ; VBITS_GE_256-NEXT: cmeq v0.8h, v0.8h, #0
713- ; VBITS_GE_256-NEXT: cmpne p0.h, p0/z, z0.h, #0
707+ ; VBITS_GE_256-NEXT: cmpeq p0.h, p0/z, z0.h, #0
714708; VBITS_GE_256-NEXT: ld1h { z0.h }, p0/z, [x0]
715709; VBITS_GE_256-NEXT: ptrue p0.d, vl4
716710; VBITS_GE_256-NEXT: ext v1.16b, v0.16b, v0.16b, #8
0 commit comments