@@ -14040,7 +14040,6 @@ define <8 x i16> @mgather_gather_2xSEW(ptr %base) {
14040
14040
; RV32-LABEL: mgather_gather_2xSEW:
14041
14041
; RV32: # %bb.0:
14042
14042
; RV32-NEXT: lui a1, 16513
14043
- ; RV32-NEXT: addi a1, a1, 512
14044
14043
; RV32-NEXT: vsetivli zero, 4, e32, m1, ta, ma
14045
14044
; RV32-NEXT: vmv.s.x v9, a1
14046
14045
; RV32-NEXT: vluxei8.v v8, (a0), v9
@@ -14049,7 +14048,6 @@ define <8 x i16> @mgather_gather_2xSEW(ptr %base) {
14049
14048
; RV64V-LABEL: mgather_gather_2xSEW:
14050
14049
; RV64V: # %bb.0:
14051
14050
; RV64V-NEXT: lui a1, 16513
14052
- ; RV64V-NEXT: addiw a1, a1, 512
14053
14051
; RV64V-NEXT: vsetivli zero, 4, e32, m1, ta, ma
14054
14052
; RV64V-NEXT: vmv.s.x v9, a1
14055
14053
; RV64V-NEXT: vluxei8.v v8, (a0), v9
@@ -14099,15 +14097,15 @@ define <8 x i16> @mgather_gather_2xSEW(ptr %base) {
14099
14097
; RV64ZVE32F-NEXT: andi a2, a1, 4
14100
14098
; RV64ZVE32F-NEXT: beqz a2, .LBB112_3
14101
14099
; RV64ZVE32F-NEXT: .LBB112_11: # %cond.load4
14102
- ; RV64ZVE32F-NEXT: addi a2, a0, 18
14100
+ ; RV64ZVE32F-NEXT: addi a2, a0, 16
14103
14101
; RV64ZVE32F-NEXT: lh a2, 0(a2)
14104
14102
; RV64ZVE32F-NEXT: vsetivli zero, 3, e16, m1, tu, ma
14105
14103
; RV64ZVE32F-NEXT: vmv.s.x v9, a2
14106
14104
; RV64ZVE32F-NEXT: vslideup.vi v8, v9, 2
14107
14105
; RV64ZVE32F-NEXT: andi a2, a1, 8
14108
14106
; RV64ZVE32F-NEXT: beqz a2, .LBB112_4
14109
14107
; RV64ZVE32F-NEXT: .LBB112_12: # %cond.load7
14110
- ; RV64ZVE32F-NEXT: addi a2, a0, 20
14108
+ ; RV64ZVE32F-NEXT: addi a2, a0, 18
14111
14109
; RV64ZVE32F-NEXT: lh a2, 0(a2)
14112
14110
; RV64ZVE32F-NEXT: vsetivli zero, 4, e16, m1, tu, ma
14113
14111
; RV64ZVE32F-NEXT: vmv.s.x v9, a2
@@ -14147,7 +14145,7 @@ define <8 x i16> @mgather_gather_2xSEW(ptr %base) {
14147
14145
; RV64ZVE32F-NEXT: ret
14148
14146
%head = insertelement <8 x i1> poison, i1 true, i16 0
14149
14147
%allones = shufflevector <8 x i1> %head, <8 x i1> poison, <8 x i32> zeroinitializer
14150
- %ptrs = getelementptr inbounds i16, ptr %base, <8 x i32> <i32 0, i32 1, i32 9 , i32 10 , i32 4, i32 5, i32 2, i32 3>
14148
+ %ptrs = getelementptr inbounds i16, ptr %base, <8 x i32> <i32 0, i32 1, i32 8 , i32 9 , i32 4, i32 5, i32 2, i32 3>
14151
14149
%v = call <8 x i16> @llvm.masked.gather.v8i16.v8p0(<8 x ptr> %ptrs, i32 4, <8 x i1> %allones, <8 x i16> poison)
14152
14150
ret <8 x i16> %v
14153
14151
}
@@ -14274,19 +14272,19 @@ define <8 x i16> @mgather_gather_2xSEW_unaligned(ptr %base) {
14274
14272
define <8 x i16> @mgather_gather_2xSEW_unaligned2(ptr %base) {
14275
14273
; RV32-LABEL: mgather_gather_2xSEW_unaligned2:
14276
14274
; RV32: # %bb.0:
14277
- ; RV32-NEXT: lui a1, 16513
14278
- ; RV32-NEXT: addi a1, a1, 514
14279
- ; RV32-NEXT: vsetivli zero, 4, e32 , m1, ta, ma
14280
- ; RV32-NEXT: vmv.s.x v9, a1
14275
+ ; RV32-NEXT: lui a1, %hi(.LCPI114_0)
14276
+ ; RV32-NEXT: addi a1, a1, %lo(.LCPI114_0)
14277
+ ; RV32-NEXT: vsetivli zero, 8, e16 , m1, ta, ma
14278
+ ; RV32-NEXT: vle8.v v9, (a1)
14281
14279
; RV32-NEXT: vluxei8.v v8, (a0), v9
14282
14280
; RV32-NEXT: ret
14283
14281
;
14284
14282
; RV64V-LABEL: mgather_gather_2xSEW_unaligned2:
14285
14283
; RV64V: # %bb.0:
14286
- ; RV64V-NEXT: lui a1, 16513
14287
- ; RV64V-NEXT: addiw a1, a1, 514
14288
- ; RV64V-NEXT: vsetivli zero, 4, e32 , m1, ta, ma
14289
- ; RV64V-NEXT: vmv.s.x v9, a1
14284
+ ; RV64V-NEXT: lui a1, %hi(.LCPI114_0)
14285
+ ; RV64V-NEXT: addi a1, a1, %lo(.LCPI114_0)
14286
+ ; RV64V-NEXT: vsetivli zero, 8, e16 , m1, ta, ma
14287
+ ; RV64V-NEXT: vle8.v v9, (a1)
14290
14288
; RV64V-NEXT: vluxei8.v v8, (a0), v9
14291
14289
; RV64V-NEXT: ret
14292
14290
;
0 commit comments