@@ -15093,33 +15093,33 @@ define <32 x i64> @mgather_strided_split(ptr %base) {
15093
15093
define <4 x i32> @masked_gather_widen_sew_negative_stride(ptr %base) {
15094
15094
; RV32V-LABEL: masked_gather_widen_sew_negative_stride:
15095
15095
; RV32V: # %bb.0:
15096
- ; RV32V-NEXT: addi a0, a0, -128
15097
- ; RV32V-NEXT: li a1, -128
15096
+ ; RV32V-NEXT: addi a0, a0, -120
15097
+ ; RV32V-NEXT: li a1, 120
15098
15098
; RV32V-NEXT: vsetivli zero, 2, e64, m1, ta, ma
15099
15099
; RV32V-NEXT: vlse64.v v8, (a0), a1
15100
15100
; RV32V-NEXT: ret
15101
15101
;
15102
15102
; RV64V-LABEL: masked_gather_widen_sew_negative_stride:
15103
15103
; RV64V: # %bb.0:
15104
- ; RV64V-NEXT: addi a0, a0, -128
15105
- ; RV64V-NEXT: li a1, -128
15104
+ ; RV64V-NEXT: addi a0, a0, -120
15105
+ ; RV64V-NEXT: li a1, 120
15106
15106
; RV64V-NEXT: vsetivli zero, 2, e64, m1, ta, ma
15107
15107
; RV64V-NEXT: vlse64.v v8, (a0), a1
15108
15108
; RV64V-NEXT: ret
15109
15109
;
15110
15110
; RV32ZVE32F-LABEL: masked_gather_widen_sew_negative_stride:
15111
15111
; RV32ZVE32F: # %bb.0:
15112
- ; RV32ZVE32F-NEXT: lui a1, 16392
15113
- ; RV32ZVE32F-NEXT: addi a1, a1, 1152
15112
+ ; RV32ZVE32F-NEXT: lui a1, 16393
15113
+ ; RV32ZVE32F-NEXT: addi a1, a1, -888
15114
15114
; RV32ZVE32F-NEXT: vsetivli zero, 4, e32, m1, ta, ma
15115
15115
; RV32ZVE32F-NEXT: vmv.s.x v9, a1
15116
15116
; RV32ZVE32F-NEXT: vluxei8.v v8, (a0), v9
15117
15117
; RV32ZVE32F-NEXT: ret
15118
15118
;
15119
15119
; RV64ZVE32F-LABEL: masked_gather_widen_sew_negative_stride:
15120
15120
; RV64ZVE32F: # %bb.0:
15121
- ; RV64ZVE32F-NEXT: addi a1, a0, 128
15122
- ; RV64ZVE32F-NEXT: lw a2, 132 (a0)
15121
+ ; RV64ZVE32F-NEXT: addi a1, a0, 136
15122
+ ; RV64ZVE32F-NEXT: lw a2, 140 (a0)
15123
15123
; RV64ZVE32F-NEXT: lw a3, 0(a0)
15124
15124
; RV64ZVE32F-NEXT: lw a0, 4(a0)
15125
15125
; RV64ZVE32F-NEXT: vsetivli zero, 4, e32, m1, ta, ma
@@ -15128,7 +15128,7 @@ define <4 x i32> @masked_gather_widen_sew_negative_stride(ptr %base) {
15128
15128
; RV64ZVE32F-NEXT: vslide1down.vx v8, v8, a3
15129
15129
; RV64ZVE32F-NEXT: vslide1down.vx v8, v8, a0
15130
15130
; RV64ZVE32F-NEXT: ret
15131
- %ptrs = getelementptr i32, ptr %base, <4 x i64> <i64 32 , i64 33 , i64 0, i64 1>
15131
+ %ptrs = getelementptr i32, ptr %base, <4 x i64> <i64 34 , i64 35 , i64 0, i64 1>
15132
15132
%x = call <4 x i32> @llvm.masked.gather.v4i32.v32p0(<4 x ptr> %ptrs, i32 8, <4 x i1> shufflevector(<4 x i1> insertelement(<4 x i1> poison, i1 true, i32 0), <4 x i1> poison, <4 x i32> zeroinitializer), <4 x i32> poison)
15133
15133
ret <4 x i32> %x
15134
15134
}
0 commit comments