Skip to content

Commit e542202

Browse files
authored
[RISCV] Update vector calling convention test for tuple type. NFC (#111336)
1 parent 64f7e1b commit e542202

File tree

1 file changed

+23
-23
lines changed

1 file changed

+23
-23
lines changed

llvm/test/CodeGen/RISCV/rvv/calling-conv.ll

Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -87,17 +87,17 @@ define <vscale x 32 x i32> @caller_scalable_vector_split_indirect(<vscale x 32 x
8787
ret <vscale x 32 x i32> %a
8888
}
8989

90-
define {<vscale x 4 x i32>, <vscale x 4 x i32>} @caller_tuple_return() {
90+
define target("riscv.vector.tuple", <vscale x 16 x i8>, 2) @caller_tuple_return() {
9191
; RV32-LABEL: caller_tuple_return:
9292
; RV32: # %bb.0:
9393
; RV32-NEXT: addi sp, sp, -16
9494
; RV32-NEXT: .cfi_def_cfa_offset 16
9595
; RV32-NEXT: sw ra, 12(sp) # 4-byte Folded Spill
9696
; RV32-NEXT: .cfi_offset ra, -4
9797
; RV32-NEXT: call callee_tuple_return
98-
; RV32-NEXT: vmv2r.v v12, v8
98+
; RV32-NEXT: vmv2r.v v6, v8
9999
; RV32-NEXT: vmv2r.v v8, v10
100-
; RV32-NEXT: vmv2r.v v10, v12
100+
; RV32-NEXT: vmv2r.v v10, v6
101101
; RV32-NEXT: lw ra, 12(sp) # 4-byte Folded Reload
102102
; RV32-NEXT: addi sp, sp, 16
103103
; RV32-NEXT: ret
@@ -109,32 +109,32 @@ define {<vscale x 4 x i32>, <vscale x 4 x i32>} @caller_tuple_return() {
109109
; RV64-NEXT: sd ra, 8(sp) # 8-byte Folded Spill
110110
; RV64-NEXT: .cfi_offset ra, -8
111111
; RV64-NEXT: call callee_tuple_return
112-
; RV64-NEXT: vmv2r.v v12, v8
112+
; RV64-NEXT: vmv2r.v v6, v8
113113
; RV64-NEXT: vmv2r.v v8, v10
114-
; RV64-NEXT: vmv2r.v v10, v12
114+
; RV64-NEXT: vmv2r.v v10, v6
115115
; RV64-NEXT: ld ra, 8(sp) # 8-byte Folded Reload
116116
; RV64-NEXT: addi sp, sp, 16
117117
; RV64-NEXT: ret
118-
%a = call {<vscale x 4 x i32>, <vscale x 4 x i32>} @callee_tuple_return()
119-
%b = extractvalue {<vscale x 4 x i32>, <vscale x 4 x i32>} %a, 0
120-
%c = extractvalue {<vscale x 4 x i32>, <vscale x 4 x i32>} %a, 1
121-
%d = insertvalue {<vscale x 4 x i32>, <vscale x 4 x i32>} poison, <vscale x 4 x i32> %c, 0
122-
%e = insertvalue {<vscale x 4 x i32>, <vscale x 4 x i32>} %d, <vscale x 4 x i32> %b, 1
123-
ret {<vscale x 4 x i32>, <vscale x 4 x i32>} %e
118+
%a = call target("riscv.vector.tuple", <vscale x 16 x i8>, 2) @callee_tuple_return()
119+
%b = call <vscale x 4 x i32> @llvm.riscv.tuple.extract.nxv4i32.triscv.vector.tuple_nxv16i8_2t(target("riscv.vector.tuple", <vscale x 16 x i8>, 2) %a, i32 0)
120+
%c = call <vscale x 4 x i32> @llvm.riscv.tuple.extract.nxv4i32.triscv.vector.tuple_nxv16i8_2t(target("riscv.vector.tuple", <vscale x 16 x i8>, 2) %a, i32 1)
121+
%d = call target("riscv.vector.tuple", <vscale x 16 x i8>, 2) @llvm.riscv.tuple.insert.triscv.vector.tuple_nxv16i8_2t.nxv4i32(target("riscv.vector.tuple", <vscale x 16 x i8>, 2) poison, <vscale x 4 x i32> %c, i32 0)
122+
%e = call target("riscv.vector.tuple", <vscale x 16 x i8>, 2) @llvm.riscv.tuple.insert.triscv.vector.tuple_nxv16i8_2t.nxv4i32(target("riscv.vector.tuple", <vscale x 16 x i8>, 2) %d, <vscale x 4 x i32> %b, i32 1)
123+
ret target("riscv.vector.tuple", <vscale x 16 x i8>, 2) %e
124124
}
125125

126-
declare {<vscale x 4 x i32>, <vscale x 4 x i32>} @callee_tuple_return()
126+
declare target("riscv.vector.tuple", <vscale x 16 x i8>, 2) @callee_tuple_return()
127127

128-
define void @caller_tuple_argument({<vscale x 4 x i32>, <vscale x 4 x i32>} %x) {
128+
define void @caller_tuple_argument(target("riscv.vector.tuple", <vscale x 16 x i8>, 2) %x) {
129129
; RV32-LABEL: caller_tuple_argument:
130130
; RV32: # %bb.0:
131131
; RV32-NEXT: addi sp, sp, -16
132132
; RV32-NEXT: .cfi_def_cfa_offset 16
133133
; RV32-NEXT: sw ra, 12(sp) # 4-byte Folded Spill
134134
; RV32-NEXT: .cfi_offset ra, -4
135-
; RV32-NEXT: vmv2r.v v12, v8
135+
; RV32-NEXT: vmv2r.v v6, v8
136136
; RV32-NEXT: vmv2r.v v8, v10
137-
; RV32-NEXT: vmv2r.v v10, v12
137+
; RV32-NEXT: vmv2r.v v10, v6
138138
; RV32-NEXT: call callee_tuple_argument
139139
; RV32-NEXT: lw ra, 12(sp) # 4-byte Folded Reload
140140
; RV32-NEXT: addi sp, sp, 16
@@ -146,19 +146,19 @@ define void @caller_tuple_argument({<vscale x 4 x i32>, <vscale x 4 x i32>} %x)
146146
; RV64-NEXT: .cfi_def_cfa_offset 16
147147
; RV64-NEXT: sd ra, 8(sp) # 8-byte Folded Spill
148148
; RV64-NEXT: .cfi_offset ra, -8
149-
; RV64-NEXT: vmv2r.v v12, v8
149+
; RV64-NEXT: vmv2r.v v6, v8
150150
; RV64-NEXT: vmv2r.v v8, v10
151-
; RV64-NEXT: vmv2r.v v10, v12
151+
; RV64-NEXT: vmv2r.v v10, v6
152152
; RV64-NEXT: call callee_tuple_argument
153153
; RV64-NEXT: ld ra, 8(sp) # 8-byte Folded Reload
154154
; RV64-NEXT: addi sp, sp, 16
155155
; RV64-NEXT: ret
156-
%a = extractvalue {<vscale x 4 x i32>, <vscale x 4 x i32>} %x, 0
157-
%b = extractvalue {<vscale x 4 x i32>, <vscale x 4 x i32>} %x, 1
158-
%c = insertvalue {<vscale x 4 x i32>, <vscale x 4 x i32>} poison, <vscale x 4 x i32> %b, 0
159-
%d = insertvalue {<vscale x 4 x i32>, <vscale x 4 x i32>} %c, <vscale x 4 x i32> %a, 1
160-
call void @callee_tuple_argument({<vscale x 4 x i32>, <vscale x 4 x i32>} %d)
156+
%a = call <vscale x 4 x i32> @llvm.riscv.tuple.extract.nxv4i32.triscv.vector.tuple_nxv16i8_2t(target("riscv.vector.tuple", <vscale x 16 x i8>, 2) %x, i32 0)
157+
%b = call <vscale x 4 x i32> @llvm.riscv.tuple.extract.nxv4i32.triscv.vector.tuple_nxv16i8_2t(target("riscv.vector.tuple", <vscale x 16 x i8>, 2) %x, i32 1)
158+
%c = call target("riscv.vector.tuple", <vscale x 16 x i8>, 2) @llvm.riscv.tuple.insert.triscv.vector.tuple_nxv16i8_2t.nxv4i32(target("riscv.vector.tuple", <vscale x 16 x i8>, 2) poison, <vscale x 4 x i32> %b, i32 0)
159+
%d = call target("riscv.vector.tuple", <vscale x 16 x i8>, 2) @llvm.riscv.tuple.insert.triscv.vector.tuple_nxv16i8_2t.nxv4i32(target("riscv.vector.tuple", <vscale x 16 x i8>, 2) %c, <vscale x 4 x i32> %a, i32 1)
160+
call void @callee_tuple_argument(target("riscv.vector.tuple", <vscale x 16 x i8>, 2) %d)
161161
ret void
162162
}
163163

164-
declare void @callee_tuple_argument({<vscale x 4 x i32>, <vscale x 4 x i32>})
164+
declare void @callee_tuple_argument(target("riscv.vector.tuple", <vscale x 16 x i8>, 2))

0 commit comments

Comments
 (0)