Changeset View
Changeset View
Standalone View
Standalone View
llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-interleave.ll
Show First 20 Lines • Show All 363 Lines • ▼ Show 20 Lines | |||||
define <64 x i32> @interleave_v32i32(<32 x i32> %x, <32 x i32> %y) { | define <64 x i32> @interleave_v32i32(<32 x i32> %x, <32 x i32> %y) { | ||||
; RV32-V128-LABEL: interleave_v32i32: | ; RV32-V128-LABEL: interleave_v32i32: | ||||
; RV32-V128: # %bb.0: | ; RV32-V128: # %bb.0: | ||||
; RV32-V128-NEXT: addi sp, sp, -16 | ; RV32-V128-NEXT: addi sp, sp, -16 | ||||
; RV32-V128-NEXT: .cfi_def_cfa_offset 16 | ; RV32-V128-NEXT: .cfi_def_cfa_offset 16 | ||||
; RV32-V128-NEXT: csrr a0, vlenb | ; RV32-V128-NEXT: csrr a0, vlenb | ||||
; RV32-V128-NEXT: slli a0, a0, 4 | ; RV32-V128-NEXT: slli a0, a0, 4 | ||||
; RV32-V128-NEXT: sub sp, sp, a0 | ; RV32-V128-NEXT: sub sp, sp, a0 | ||||
; RV32-V128-NEXT: .cfi_escape 0x0f, 0x0d, 0x72, 0x00, 0x11, 0x10, 0x22, 0x11, 0x10, 0x92, 0xa2, 0x38, 0x00, 0x1e, 0x22 # sp + 16 + 16 * vlenb | |||||
; RV32-V128-NEXT: lui a0, %hi(.LCPI15_0) | ; RV32-V128-NEXT: lui a0, %hi(.LCPI15_0) | ||||
; RV32-V128-NEXT: addi a0, a0, %lo(.LCPI15_0) | ; RV32-V128-NEXT: addi a0, a0, %lo(.LCPI15_0) | ||||
; RV32-V128-NEXT: li a1, 32 | ; RV32-V128-NEXT: li a1, 32 | ||||
; RV32-V128-NEXT: vsetvli zero, a1, e32, m8, ta, ma | ; RV32-V128-NEXT: vsetvli zero, a1, e32, m8, ta, ma | ||||
; RV32-V128-NEXT: vle32.v v0, (a0) | ; RV32-V128-NEXT: vle32.v v0, (a0) | ||||
; RV32-V128-NEXT: vmv8r.v v24, v8 | ; RV32-V128-NEXT: vmv8r.v v24, v8 | ||||
; RV32-V128-NEXT: addi a0, sp, 16 | ; RV32-V128-NEXT: addi a0, sp, 16 | ||||
; RV32-V128-NEXT: vs8r.v v8, (a0) # Unknown-size Folded Spill | ; RV32-V128-NEXT: vs8r.v v8, (a0) # Unknown-size Folded Spill | ||||
Show All 34 Lines | |||||
; | ; | ||||
; RV64-V128-LABEL: interleave_v32i32: | ; RV64-V128-LABEL: interleave_v32i32: | ||||
; RV64-V128: # %bb.0: | ; RV64-V128: # %bb.0: | ||||
; RV64-V128-NEXT: addi sp, sp, -16 | ; RV64-V128-NEXT: addi sp, sp, -16 | ||||
; RV64-V128-NEXT: .cfi_def_cfa_offset 16 | ; RV64-V128-NEXT: .cfi_def_cfa_offset 16 | ||||
; RV64-V128-NEXT: csrr a0, vlenb | ; RV64-V128-NEXT: csrr a0, vlenb | ||||
; RV64-V128-NEXT: slli a0, a0, 4 | ; RV64-V128-NEXT: slli a0, a0, 4 | ||||
; RV64-V128-NEXT: sub sp, sp, a0 | ; RV64-V128-NEXT: sub sp, sp, a0 | ||||
; RV64-V128-NEXT: .cfi_escape 0x0f, 0x0d, 0x72, 0x00, 0x11, 0x10, 0x22, 0x11, 0x10, 0x92, 0xa2, 0x38, 0x00, 0x1e, 0x22 # sp + 16 + 16 * vlenb | |||||
; RV64-V128-NEXT: lui a0, %hi(.LCPI15_0) | ; RV64-V128-NEXT: lui a0, %hi(.LCPI15_0) | ||||
; RV64-V128-NEXT: addi a0, a0, %lo(.LCPI15_0) | ; RV64-V128-NEXT: addi a0, a0, %lo(.LCPI15_0) | ||||
; RV64-V128-NEXT: li a1, 32 | ; RV64-V128-NEXT: li a1, 32 | ||||
; RV64-V128-NEXT: vsetvli zero, a1, e32, m8, ta, ma | ; RV64-V128-NEXT: vsetvli zero, a1, e32, m8, ta, ma | ||||
; RV64-V128-NEXT: vle32.v v0, (a0) | ; RV64-V128-NEXT: vle32.v v0, (a0) | ||||
; RV64-V128-NEXT: vmv8r.v v24, v8 | ; RV64-V128-NEXT: vmv8r.v v24, v8 | ||||
; RV64-V128-NEXT: addi a0, sp, 16 | ; RV64-V128-NEXT: addi a0, sp, 16 | ||||
; RV64-V128-NEXT: vs8r.v v8, (a0) # Unknown-size Folded Spill | ; RV64-V128-NEXT: vs8r.v v8, (a0) # Unknown-size Folded Spill | ||||
▲ Show 20 Lines • Show All 47 Lines • Show Last 20 Lines |