Changeset View
Changeset View
Standalone View
Standalone View
llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwmul.ll
Show First 20 Lines • Show All 271 Lines • ▼ Show 20 Lines | |||||
define <128 x i16> @vwmul_v128i16(<128 x i8>* %x, <128 x i8>* %y) { | define <128 x i16> @vwmul_v128i16(<128 x i8>* %x, <128 x i8>* %y) { | ||||
; CHECK-LABEL: vwmul_v128i16: | ; CHECK-LABEL: vwmul_v128i16: | ||||
; CHECK: # %bb.0: | ; CHECK: # %bb.0: | ||||
; CHECK-NEXT: addi sp, sp, -16 | ; CHECK-NEXT: addi sp, sp, -16 | ||||
; CHECK-NEXT: .cfi_def_cfa_offset 16 | ; CHECK-NEXT: .cfi_def_cfa_offset 16 | ||||
; CHECK-NEXT: csrr a2, vlenb | ; CHECK-NEXT: csrr a2, vlenb | ||||
; CHECK-NEXT: slli a2, a2, 3 | ; CHECK-NEXT: slli a2, a2, 3 | ||||
; CHECK-NEXT: sub sp, sp, a2 | ; CHECK-NEXT: sub sp, sp, a2 | ||||
; CHECK-NEXT: .cfi_escape 0x0f, 0x0d, 0x72, 0x00, 0x11, 0x10, 0x22, 0x11, 0x08, 0x92, 0xa2, 0x38, 0x00, 0x1e, 0x22 # sp + 16 + 8 * vlenb | |||||
; CHECK-NEXT: li a2, 128 | ; CHECK-NEXT: li a2, 128 | ||||
; CHECK-NEXT: vsetvli zero, a2, e8, m8, ta, ma | ; CHECK-NEXT: vsetvli zero, a2, e8, m8, ta, ma | ||||
; CHECK-NEXT: vle8.v v16, (a0) | ; CHECK-NEXT: vle8.v v16, (a0) | ||||
; CHECK-NEXT: vle8.v v24, (a1) | ; CHECK-NEXT: vle8.v v24, (a1) | ||||
; CHECK-NEXT: li a0, 64 | ; CHECK-NEXT: li a0, 64 | ||||
; CHECK-NEXT: vsetvli zero, a0, e8, m8, ta, ma | ; CHECK-NEXT: vsetvli zero, a0, e8, m8, ta, ma | ||||
; CHECK-NEXT: vslidedown.vx v8, v16, a0 | ; CHECK-NEXT: vslidedown.vx v8, v16, a0 | ||||
; CHECK-NEXT: addi a1, sp, 16 | ; CHECK-NEXT: addi a1, sp, 16 | ||||
Show All 20 Lines | |||||
define <64 x i32> @vwmul_v64i32(<64 x i16>* %x, <64 x i16>* %y) { | define <64 x i32> @vwmul_v64i32(<64 x i16>* %x, <64 x i16>* %y) { | ||||
; CHECK-LABEL: vwmul_v64i32: | ; CHECK-LABEL: vwmul_v64i32: | ||||
; CHECK: # %bb.0: | ; CHECK: # %bb.0: | ||||
; CHECK-NEXT: addi sp, sp, -16 | ; CHECK-NEXT: addi sp, sp, -16 | ||||
; CHECK-NEXT: .cfi_def_cfa_offset 16 | ; CHECK-NEXT: .cfi_def_cfa_offset 16 | ||||
; CHECK-NEXT: csrr a2, vlenb | ; CHECK-NEXT: csrr a2, vlenb | ||||
; CHECK-NEXT: slli a2, a2, 3 | ; CHECK-NEXT: slli a2, a2, 3 | ||||
; CHECK-NEXT: sub sp, sp, a2 | ; CHECK-NEXT: sub sp, sp, a2 | ||||
; CHECK-NEXT: .cfi_escape 0x0f, 0x0d, 0x72, 0x00, 0x11, 0x10, 0x22, 0x11, 0x08, 0x92, 0xa2, 0x38, 0x00, 0x1e, 0x22 # sp + 16 + 8 * vlenb | |||||
; CHECK-NEXT: li a2, 64 | ; CHECK-NEXT: li a2, 64 | ||||
; CHECK-NEXT: vsetvli zero, a2, e16, m8, ta, ma | ; CHECK-NEXT: vsetvli zero, a2, e16, m8, ta, ma | ||||
; CHECK-NEXT: vle16.v v16, (a0) | ; CHECK-NEXT: vle16.v v16, (a0) | ||||
; CHECK-NEXT: vle16.v v24, (a1) | ; CHECK-NEXT: vle16.v v24, (a1) | ||||
; CHECK-NEXT: li a0, 32 | ; CHECK-NEXT: li a0, 32 | ||||
; CHECK-NEXT: vsetvli zero, a0, e16, m8, ta, ma | ; CHECK-NEXT: vsetvli zero, a0, e16, m8, ta, ma | ||||
; CHECK-NEXT: vslidedown.vx v8, v16, a0 | ; CHECK-NEXT: vslidedown.vx v8, v16, a0 | ||||
; CHECK-NEXT: addi a1, sp, 16 | ; CHECK-NEXT: addi a1, sp, 16 | ||||
Show All 20 Lines | |||||
define <32 x i64> @vwmul_v32i64(<32 x i32>* %x, <32 x i32>* %y) { | define <32 x i64> @vwmul_v32i64(<32 x i32>* %x, <32 x i32>* %y) { | ||||
; CHECK-LABEL: vwmul_v32i64: | ; CHECK-LABEL: vwmul_v32i64: | ||||
; CHECK: # %bb.0: | ; CHECK: # %bb.0: | ||||
; CHECK-NEXT: addi sp, sp, -16 | ; CHECK-NEXT: addi sp, sp, -16 | ||||
; CHECK-NEXT: .cfi_def_cfa_offset 16 | ; CHECK-NEXT: .cfi_def_cfa_offset 16 | ||||
; CHECK-NEXT: csrr a2, vlenb | ; CHECK-NEXT: csrr a2, vlenb | ||||
; CHECK-NEXT: slli a2, a2, 3 | ; CHECK-NEXT: slli a2, a2, 3 | ||||
; CHECK-NEXT: sub sp, sp, a2 | ; CHECK-NEXT: sub sp, sp, a2 | ||||
; CHECK-NEXT: .cfi_escape 0x0f, 0x0d, 0x72, 0x00, 0x11, 0x10, 0x22, 0x11, 0x08, 0x92, 0xa2, 0x38, 0x00, 0x1e, 0x22 # sp + 16 + 8 * vlenb | |||||
; CHECK-NEXT: li a2, 32 | ; CHECK-NEXT: li a2, 32 | ||||
; CHECK-NEXT: vsetvli zero, a2, e32, m8, ta, ma | ; CHECK-NEXT: vsetvli zero, a2, e32, m8, ta, ma | ||||
; CHECK-NEXT: vle32.v v16, (a0) | ; CHECK-NEXT: vle32.v v16, (a0) | ||||
; CHECK-NEXT: vle32.v v24, (a1) | ; CHECK-NEXT: vle32.v v24, (a1) | ||||
; CHECK-NEXT: vsetivli zero, 16, e32, m8, ta, ma | ; CHECK-NEXT: vsetivli zero, 16, e32, m8, ta, ma | ||||
; CHECK-NEXT: vslidedown.vi v8, v16, 16 | ; CHECK-NEXT: vslidedown.vi v8, v16, 16 | ||||
; CHECK-NEXT: addi a0, sp, 16 | ; CHECK-NEXT: addi a0, sp, 16 | ||||
; CHECK-NEXT: vs8r.v v8, (a0) # Unknown-size Folded Spill | ; CHECK-NEXT: vs8r.v v8, (a0) # Unknown-size Folded Spill | ||||
▲ Show 20 Lines • Show All 543 Lines • Show Last 20 Lines |