; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py ; RUN: llc -mtriple=riscv32 -mattr=+v -riscv-v-vector-bits-min=128 -riscv-v-fixed-length-vector-lmul-max=4 \ ; RUN: -pre-RA-sched=list-burr -disable-machine-cse -verify-machineinstrs < %s | FileCheck %s ; RUN: llc -mtriple=riscv64 -mattr=+v -riscv-v-vector-bits-min=128 -riscv-v-fixed-length-vector-lmul-max=4 \ ; RUN: -pre-RA-sched=list-burr -disable-machine-cse -verify-machineinstrs < %s | FileCheck %s define <128 x i32> @ret_split_v128i32(<128 x i32>* %x) { ; CHECK-LABEL: ret_split_v128i32: ; CHECK: # %bb.0: ; CHECK-NEXT: vsetivli zero, 16, e32, m4, ta, mu ; CHECK-NEXT: vle32.v v8, (a1) ; CHECK-NEXT: vse32.v v8, (a0) ; CHECK-NEXT: addi a2, a1, 448 ; CHECK-NEXT: vle32.v v8, (a2) ; CHECK-NEXT: addi a2, a0, 448 ; CHECK-NEXT: vse32.v v8, (a2) ; CHECK-NEXT: addi a2, a1, 384 ; CHECK-NEXT: vle32.v v8, (a2) ; CHECK-NEXT: addi a2, a0, 384 ; CHECK-NEXT: vse32.v v8, (a2) ; CHECK-NEXT: addi a2, a1, 320 ; CHECK-NEXT: vle32.v v8, (a2) ; CHECK-NEXT: addi a2, a0, 320 ; CHECK-NEXT: vse32.v v8, (a2) ; CHECK-NEXT: addi a2, a1, 256 ; CHECK-NEXT: vle32.v v8, (a2) ; CHECK-NEXT: addi a2, a0, 256 ; CHECK-NEXT: vse32.v v8, (a2) ; CHECK-NEXT: addi a2, a1, 192 ; CHECK-NEXT: vle32.v v8, (a2) ; CHECK-NEXT: addi a2, a0, 192 ; CHECK-NEXT: vse32.v v8, (a2) ; CHECK-NEXT: addi a2, a1, 128 ; CHECK-NEXT: vle32.v v8, (a2) ; CHECK-NEXT: addi a2, a0, 128 ; CHECK-NEXT: vse32.v v8, (a2) ; CHECK-NEXT: addi a1, a1, 64 ; CHECK-NEXT: vle32.v v8, (a1) ; CHECK-NEXT: addi a0, a0, 64 ; CHECK-NEXT: vse32.v v8, (a0) ; CHECK-NEXT: ret %v = load <128 x i32>, <128 x i32>* %x ret <128 x i32> %v }