From e542202c2763c53c35d1bbe7a3853d683add1303 Mon Sep 17 00:00:00 2001 From: Brandon Wu Date: Tue, 8 Oct 2024 08:25:47 -0700 Subject: [PATCH] [RISCV] Update vector calling convention test for tuple type. NFC (#111336) --- llvm/test/CodeGen/RISCV/rvv/calling-conv.ll | 46 ++++++++++----------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/llvm/test/CodeGen/RISCV/rvv/calling-conv.ll b/llvm/test/CodeGen/RISCV/rvv/calling-conv.ll index e03698eeb9715..b229af5849fe9 100644 --- a/llvm/test/CodeGen/RISCV/rvv/calling-conv.ll +++ b/llvm/test/CodeGen/RISCV/rvv/calling-conv.ll @@ -87,7 +87,7 @@ define @caller_scalable_vector_split_indirect( %a } -define {, } @caller_tuple_return() { +define target("riscv.vector.tuple", , 2) @caller_tuple_return() { ; RV32-LABEL: caller_tuple_return: ; RV32: # %bb.0: ; RV32-NEXT: addi sp, sp, -16 @@ -95,9 +95,9 @@ define {, } @caller_tuple_return() { ; RV32-NEXT: sw ra, 12(sp) # 4-byte Folded Spill ; RV32-NEXT: .cfi_offset ra, -4 ; RV32-NEXT: call callee_tuple_return -; RV32-NEXT: vmv2r.v v12, v8 +; RV32-NEXT: vmv2r.v v6, v8 ; RV32-NEXT: vmv2r.v v8, v10 -; RV32-NEXT: vmv2r.v v10, v12 +; RV32-NEXT: vmv2r.v v10, v6 ; RV32-NEXT: lw ra, 12(sp) # 4-byte Folded Reload ; RV32-NEXT: addi sp, sp, 16 ; RV32-NEXT: ret @@ -109,32 +109,32 @@ define {, } @caller_tuple_return() { ; RV64-NEXT: sd ra, 8(sp) # 8-byte Folded Spill ; RV64-NEXT: .cfi_offset ra, -8 ; RV64-NEXT: call callee_tuple_return -; RV64-NEXT: vmv2r.v v12, v8 +; RV64-NEXT: vmv2r.v v6, v8 ; RV64-NEXT: vmv2r.v v8, v10 -; RV64-NEXT: vmv2r.v v10, v12 +; RV64-NEXT: vmv2r.v v10, v6 ; RV64-NEXT: ld ra, 8(sp) # 8-byte Folded Reload ; RV64-NEXT: addi sp, sp, 16 ; RV64-NEXT: ret - %a = call {, } @callee_tuple_return() - %b = extractvalue {, } %a, 0 - %c = extractvalue {, } %a, 1 - %d = insertvalue {, } poison, %c, 0 - %e = insertvalue {, } %d, %b, 1 - ret {, } %e + %a = call target("riscv.vector.tuple", , 2) @callee_tuple_return() + %b = call @llvm.riscv.tuple.extract.nxv4i32.triscv.vector.tuple_nxv16i8_2t(target("riscv.vector.tuple", , 2) %a, i32 0) + %c = call @llvm.riscv.tuple.extract.nxv4i32.triscv.vector.tuple_nxv16i8_2t(target("riscv.vector.tuple", , 2) %a, i32 1) + %d = call target("riscv.vector.tuple", , 2) @llvm.riscv.tuple.insert.triscv.vector.tuple_nxv16i8_2t.nxv4i32(target("riscv.vector.tuple", , 2) poison, %c, i32 0) + %e = call target("riscv.vector.tuple", , 2) @llvm.riscv.tuple.insert.triscv.vector.tuple_nxv16i8_2t.nxv4i32(target("riscv.vector.tuple", , 2) %d, %b, i32 1) + ret target("riscv.vector.tuple", , 2) %e } -declare {, } @callee_tuple_return() +declare target("riscv.vector.tuple", , 2) @callee_tuple_return() -define void @caller_tuple_argument({, } %x) { +define void @caller_tuple_argument(target("riscv.vector.tuple", , 2) %x) { ; RV32-LABEL: caller_tuple_argument: ; RV32: # %bb.0: ; RV32-NEXT: addi sp, sp, -16 ; RV32-NEXT: .cfi_def_cfa_offset 16 ; RV32-NEXT: sw ra, 12(sp) # 4-byte Folded Spill ; RV32-NEXT: .cfi_offset ra, -4 -; RV32-NEXT: vmv2r.v v12, v8 +; RV32-NEXT: vmv2r.v v6, v8 ; RV32-NEXT: vmv2r.v v8, v10 -; RV32-NEXT: vmv2r.v v10, v12 +; RV32-NEXT: vmv2r.v v10, v6 ; RV32-NEXT: call callee_tuple_argument ; RV32-NEXT: lw ra, 12(sp) # 4-byte Folded Reload ; RV32-NEXT: addi sp, sp, 16 @@ -146,19 +146,19 @@ define void @caller_tuple_argument({, } %x) ; RV64-NEXT: .cfi_def_cfa_offset 16 ; RV64-NEXT: sd ra, 8(sp) # 8-byte Folded Spill ; RV64-NEXT: .cfi_offset ra, -8 -; RV64-NEXT: vmv2r.v v12, v8 +; RV64-NEXT: vmv2r.v v6, v8 ; RV64-NEXT: vmv2r.v v8, v10 -; RV64-NEXT: vmv2r.v v10, v12 +; RV64-NEXT: vmv2r.v v10, v6 ; RV64-NEXT: call callee_tuple_argument ; RV64-NEXT: ld ra, 8(sp) # 8-byte Folded Reload ; RV64-NEXT: addi sp, sp, 16 ; RV64-NEXT: ret - %a = extractvalue {, } %x, 0 - %b = extractvalue {, } %x, 1 - %c = insertvalue {, } poison, %b, 0 - %d = insertvalue {, } %c, %a, 1 - call void @callee_tuple_argument({, } %d) + %a = call @llvm.riscv.tuple.extract.nxv4i32.triscv.vector.tuple_nxv16i8_2t(target("riscv.vector.tuple", , 2) %x, i32 0) + %b = call @llvm.riscv.tuple.extract.nxv4i32.triscv.vector.tuple_nxv16i8_2t(target("riscv.vector.tuple", , 2) %x, i32 1) + %c = call target("riscv.vector.tuple", , 2) @llvm.riscv.tuple.insert.triscv.vector.tuple_nxv16i8_2t.nxv4i32(target("riscv.vector.tuple", , 2) poison, %b, i32 0) + %d = call target("riscv.vector.tuple", , 2) @llvm.riscv.tuple.insert.triscv.vector.tuple_nxv16i8_2t.nxv4i32(target("riscv.vector.tuple", , 2) %c, %a, i32 1) + call void @callee_tuple_argument(target("riscv.vector.tuple", , 2) %d) ret void } -declare void @callee_tuple_argument({, }) +declare void @callee_tuple_argument(target("riscv.vector.tuple", , 2))