Changeset View
Changeset View
Standalone View
Standalone View
llvm/test/CodeGen/RISCV/rvv/fixed-vectors-bitreverse.ll
Show First 20 Lines • Show All 221 Lines • ▼ Show 20 Lines | |||||
; LMULMAX2-RV64-NEXT: vand.vx v27, v27, a1 | ; LMULMAX2-RV64-NEXT: vand.vx v27, v27, a1 | ||||
; LMULMAX2-RV64-NEXT: vsll.vi v25, v25, 24 | ; LMULMAX2-RV64-NEXT: vsll.vi v25, v25, 24 | ||||
; LMULMAX2-RV64-NEXT: vor.vv v25, v25, v27 | ; LMULMAX2-RV64-NEXT: vor.vv v25, v25, v27 | ||||
; LMULMAX2-RV64-NEXT: vor.vv v25, v25, v26 | ; LMULMAX2-RV64-NEXT: vor.vv v25, v25, v26 | ||||
; LMULMAX2-RV64-NEXT: lui a1, 61681 | ; LMULMAX2-RV64-NEXT: lui a1, 61681 | ||||
; LMULMAX2-RV64-NEXT: addiw a1, a1, -241 | ; LMULMAX2-RV64-NEXT: addiw a1, a1, -241 | ||||
; LMULMAX2-RV64-NEXT: vand.vx v26, v25, a1 | ; LMULMAX2-RV64-NEXT: vand.vx v26, v25, a1 | ||||
; LMULMAX2-RV64-NEXT: vsll.vi v26, v26, 4 | ; LMULMAX2-RV64-NEXT: vsll.vi v26, v26, 4 | ||||
; LMULMAX2-RV64-NEXT: lui a1, 241 | ; LMULMAX2-RV64-NEXT: lui a1, 1044721 | ||||
; LMULMAX2-RV64-NEXT: addiw a1, a1, -241 | ; LMULMAX2-RV64-NEXT: addiw a1, a1, -241 | ||||
; LMULMAX2-RV64-NEXT: slli a1, a1, 12 | ; LMULMAX2-RV64-NEXT: slli a1, a1, 36 | ||||
; LMULMAX2-RV64-NEXT: addi a1, a1, 240 | ; LMULMAX2-RV64-NEXT: srli a1, a1, 32 | ||||
; LMULMAX2-RV64-NEXT: vand.vx v25, v25, a1 | ; LMULMAX2-RV64-NEXT: vand.vx v25, v25, a1 | ||||
; LMULMAX2-RV64-NEXT: vsrl.vi v25, v25, 4 | ; LMULMAX2-RV64-NEXT: vsrl.vi v25, v25, 4 | ||||
; LMULMAX2-RV64-NEXT: vor.vv v25, v25, v26 | ; LMULMAX2-RV64-NEXT: vor.vv v25, v25, v26 | ||||
; LMULMAX2-RV64-NEXT: lui a1, 209715 | ; LMULMAX2-RV64-NEXT: lui a1, 209715 | ||||
; LMULMAX2-RV64-NEXT: addiw a1, a1, 819 | ; LMULMAX2-RV64-NEXT: addiw a1, a1, 819 | ||||
; LMULMAX2-RV64-NEXT: vand.vx v26, v25, a1 | ; LMULMAX2-RV64-NEXT: vand.vx v26, v25, a1 | ||||
; LMULMAX2-RV64-NEXT: vsll.vi v26, v26, 2 | ; LMULMAX2-RV64-NEXT: vsll.vi v26, v26, 2 | ||||
; LMULMAX2-RV64-NEXT: lui a1, 205 | ; LMULMAX2-RV64-NEXT: lui a1, 996147 | ||||
; LMULMAX2-RV64-NEXT: addiw a1, a1, -819 | ; LMULMAX2-RV64-NEXT: addiw a1, a1, 819 | ||||
; LMULMAX2-RV64-NEXT: slli a1, a1, 12 | ; LMULMAX2-RV64-NEXT: slli a1, a1, 34 | ||||
; LMULMAX2-RV64-NEXT: addi a1, a1, -820 | ; LMULMAX2-RV64-NEXT: srli a1, a1, 32 | ||||
; LMULMAX2-RV64-NEXT: vand.vx v25, v25, a1 | ; LMULMAX2-RV64-NEXT: vand.vx v25, v25, a1 | ||||
; LMULMAX2-RV64-NEXT: vsrl.vi v25, v25, 2 | ; LMULMAX2-RV64-NEXT: vsrl.vi v25, v25, 2 | ||||
; LMULMAX2-RV64-NEXT: vor.vv v25, v25, v26 | ; LMULMAX2-RV64-NEXT: vor.vv v25, v25, v26 | ||||
; LMULMAX2-RV64-NEXT: lui a1, 349525 | ; LMULMAX2-RV64-NEXT: lui a1, 349525 | ||||
; LMULMAX2-RV64-NEXT: addiw a1, a1, 1365 | ; LMULMAX2-RV64-NEXT: addiw a1, a1, 1365 | ||||
; LMULMAX2-RV64-NEXT: vand.vx v26, v25, a1 | ; LMULMAX2-RV64-NEXT: vand.vx v26, v25, a1 | ||||
; LMULMAX2-RV64-NEXT: vsll.vi v26, v26, 1 | ; LMULMAX2-RV64-NEXT: vsll.vi v26, v26, 1 | ||||
; LMULMAX2-RV64-NEXT: lui a1, 171 | ; LMULMAX2-RV64-NEXT: lui a1, 873813 | ||||
; LMULMAX2-RV64-NEXT: addiw a1, a1, -1365 | ; LMULMAX2-RV64-NEXT: addiw a1, a1, 1365 | ||||
; LMULMAX2-RV64-NEXT: slli a1, a1, 12 | ; LMULMAX2-RV64-NEXT: slli a1, a1, 33 | ||||
; LMULMAX2-RV64-NEXT: addi a1, a1, -1366 | ; LMULMAX2-RV64-NEXT: srli a1, a1, 32 | ||||
; LMULMAX2-RV64-NEXT: vand.vx v25, v25, a1 | ; LMULMAX2-RV64-NEXT: vand.vx v25, v25, a1 | ||||
; LMULMAX2-RV64-NEXT: vsrl.vi v25, v25, 1 | ; LMULMAX2-RV64-NEXT: vsrl.vi v25, v25, 1 | ||||
; LMULMAX2-RV64-NEXT: vor.vv v25, v25, v26 | ; LMULMAX2-RV64-NEXT: vor.vv v25, v25, v26 | ||||
; LMULMAX2-RV64-NEXT: vse32.v v25, (a0) | ; LMULMAX2-RV64-NEXT: vse32.v v25, (a0) | ||||
; LMULMAX2-RV64-NEXT: ret | ; LMULMAX2-RV64-NEXT: ret | ||||
; | ; | ||||
; LMULMAX1-RV32-LABEL: bitreverse_v4i32: | ; LMULMAX1-RV32-LABEL: bitreverse_v4i32: | ||||
; LMULMAX1-RV32: # %bb.0: | ; LMULMAX1-RV32: # %bb.0: | ||||
▲ Show 20 Lines • Show All 56 Lines • ▼ Show 20 Lines | |||||
; LMULMAX1-RV64-NEXT: vand.vx v27, v27, a1 | ; LMULMAX1-RV64-NEXT: vand.vx v27, v27, a1 | ||||
; LMULMAX1-RV64-NEXT: vsll.vi v25, v25, 24 | ; LMULMAX1-RV64-NEXT: vsll.vi v25, v25, 24 | ||||
; LMULMAX1-RV64-NEXT: vor.vv v25, v25, v27 | ; LMULMAX1-RV64-NEXT: vor.vv v25, v25, v27 | ||||
; LMULMAX1-RV64-NEXT: vor.vv v25, v25, v26 | ; LMULMAX1-RV64-NEXT: vor.vv v25, v25, v26 | ||||
; LMULMAX1-RV64-NEXT: lui a1, 61681 | ; LMULMAX1-RV64-NEXT: lui a1, 61681 | ||||
; LMULMAX1-RV64-NEXT: addiw a1, a1, -241 | ; LMULMAX1-RV64-NEXT: addiw a1, a1, -241 | ||||
; LMULMAX1-RV64-NEXT: vand.vx v26, v25, a1 | ; LMULMAX1-RV64-NEXT: vand.vx v26, v25, a1 | ||||
; LMULMAX1-RV64-NEXT: vsll.vi v26, v26, 4 | ; LMULMAX1-RV64-NEXT: vsll.vi v26, v26, 4 | ||||
; LMULMAX1-RV64-NEXT: lui a1, 241 | ; LMULMAX1-RV64-NEXT: lui a1, 1044721 | ||||
; LMULMAX1-RV64-NEXT: addiw a1, a1, -241 | ; LMULMAX1-RV64-NEXT: addiw a1, a1, -241 | ||||
; LMULMAX1-RV64-NEXT: slli a1, a1, 12 | ; LMULMAX1-RV64-NEXT: slli a1, a1, 36 | ||||
; LMULMAX1-RV64-NEXT: addi a1, a1, 240 | ; LMULMAX1-RV64-NEXT: srli a1, a1, 32 | ||||
; LMULMAX1-RV64-NEXT: vand.vx v25, v25, a1 | ; LMULMAX1-RV64-NEXT: vand.vx v25, v25, a1 | ||||
; LMULMAX1-RV64-NEXT: vsrl.vi v25, v25, 4 | ; LMULMAX1-RV64-NEXT: vsrl.vi v25, v25, 4 | ||||
; LMULMAX1-RV64-NEXT: vor.vv v25, v25, v26 | ; LMULMAX1-RV64-NEXT: vor.vv v25, v25, v26 | ||||
; LMULMAX1-RV64-NEXT: lui a1, 209715 | ; LMULMAX1-RV64-NEXT: lui a1, 209715 | ||||
; LMULMAX1-RV64-NEXT: addiw a1, a1, 819 | ; LMULMAX1-RV64-NEXT: addiw a1, a1, 819 | ||||
; LMULMAX1-RV64-NEXT: vand.vx v26, v25, a1 | ; LMULMAX1-RV64-NEXT: vand.vx v26, v25, a1 | ||||
; LMULMAX1-RV64-NEXT: vsll.vi v26, v26, 2 | ; LMULMAX1-RV64-NEXT: vsll.vi v26, v26, 2 | ||||
; LMULMAX1-RV64-NEXT: lui a1, 205 | ; LMULMAX1-RV64-NEXT: lui a1, 996147 | ||||
; LMULMAX1-RV64-NEXT: addiw a1, a1, -819 | ; LMULMAX1-RV64-NEXT: addiw a1, a1, 819 | ||||
; LMULMAX1-RV64-NEXT: slli a1, a1, 12 | ; LMULMAX1-RV64-NEXT: slli a1, a1, 34 | ||||
; LMULMAX1-RV64-NEXT: addi a1, a1, -820 | ; LMULMAX1-RV64-NEXT: srli a1, a1, 32 | ||||
; LMULMAX1-RV64-NEXT: vand.vx v25, v25, a1 | ; LMULMAX1-RV64-NEXT: vand.vx v25, v25, a1 | ||||
; LMULMAX1-RV64-NEXT: vsrl.vi v25, v25, 2 | ; LMULMAX1-RV64-NEXT: vsrl.vi v25, v25, 2 | ||||
; LMULMAX1-RV64-NEXT: vor.vv v25, v25, v26 | ; LMULMAX1-RV64-NEXT: vor.vv v25, v25, v26 | ||||
; LMULMAX1-RV64-NEXT: lui a1, 349525 | ; LMULMAX1-RV64-NEXT: lui a1, 349525 | ||||
; LMULMAX1-RV64-NEXT: addiw a1, a1, 1365 | ; LMULMAX1-RV64-NEXT: addiw a1, a1, 1365 | ||||
; LMULMAX1-RV64-NEXT: vand.vx v26, v25, a1 | ; LMULMAX1-RV64-NEXT: vand.vx v26, v25, a1 | ||||
; LMULMAX1-RV64-NEXT: vsll.vi v26, v26, 1 | ; LMULMAX1-RV64-NEXT: vsll.vi v26, v26, 1 | ||||
; LMULMAX1-RV64-NEXT: lui a1, 171 | ; LMULMAX1-RV64-NEXT: lui a1, 873813 | ||||
; LMULMAX1-RV64-NEXT: addiw a1, a1, -1365 | ; LMULMAX1-RV64-NEXT: addiw a1, a1, 1365 | ||||
; LMULMAX1-RV64-NEXT: slli a1, a1, 12 | ; LMULMAX1-RV64-NEXT: slli a1, a1, 33 | ||||
; LMULMAX1-RV64-NEXT: addi a1, a1, -1366 | ; LMULMAX1-RV64-NEXT: srli a1, a1, 32 | ||||
; LMULMAX1-RV64-NEXT: vand.vx v25, v25, a1 | ; LMULMAX1-RV64-NEXT: vand.vx v25, v25, a1 | ||||
; LMULMAX1-RV64-NEXT: vsrl.vi v25, v25, 1 | ; LMULMAX1-RV64-NEXT: vsrl.vi v25, v25, 1 | ||||
; LMULMAX1-RV64-NEXT: vor.vv v25, v25, v26 | ; LMULMAX1-RV64-NEXT: vor.vv v25, v25, v26 | ||||
; LMULMAX1-RV64-NEXT: vse32.v v25, (a0) | ; LMULMAX1-RV64-NEXT: vse32.v v25, (a0) | ||||
; LMULMAX1-RV64-NEXT: ret | ; LMULMAX1-RV64-NEXT: ret | ||||
%a = load <4 x i32>, <4 x i32>* %x | %a = load <4 x i32>, <4 x i32>* %x | ||||
%b = load <4 x i32>, <4 x i32>* %y | %b = load <4 x i32>, <4 x i32>* %y | ||||
%c = call <4 x i32> @llvm.bitreverse.v4i32(<4 x i32> %a) | %c = call <4 x i32> @llvm.bitreverse.v4i32(<4 x i32> %a) | ||||
▲ Show 20 Lines • Show All 670 Lines • ▼ Show 20 Lines | |||||
; LMULMAX2-RV64-NEXT: vand.vx v30, v30, a1 | ; LMULMAX2-RV64-NEXT: vand.vx v30, v30, a1 | ||||
; LMULMAX2-RV64-NEXT: vsll.vi v26, v26, 24 | ; LMULMAX2-RV64-NEXT: vsll.vi v26, v26, 24 | ||||
; LMULMAX2-RV64-NEXT: vor.vv v26, v26, v30 | ; LMULMAX2-RV64-NEXT: vor.vv v26, v26, v30 | ||||
; LMULMAX2-RV64-NEXT: vor.vv v26, v26, v28 | ; LMULMAX2-RV64-NEXT: vor.vv v26, v26, v28 | ||||
; LMULMAX2-RV64-NEXT: lui a1, 61681 | ; LMULMAX2-RV64-NEXT: lui a1, 61681 | ||||
; LMULMAX2-RV64-NEXT: addiw a1, a1, -241 | ; LMULMAX2-RV64-NEXT: addiw a1, a1, -241 | ||||
; LMULMAX2-RV64-NEXT: vand.vx v28, v26, a1 | ; LMULMAX2-RV64-NEXT: vand.vx v28, v26, a1 | ||||
; LMULMAX2-RV64-NEXT: vsll.vi v28, v28, 4 | ; LMULMAX2-RV64-NEXT: vsll.vi v28, v28, 4 | ||||
; LMULMAX2-RV64-NEXT: lui a1, 241 | ; LMULMAX2-RV64-NEXT: lui a1, 1044721 | ||||
; LMULMAX2-RV64-NEXT: addiw a1, a1, -241 | ; LMULMAX2-RV64-NEXT: addiw a1, a1, -241 | ||||
; LMULMAX2-RV64-NEXT: slli a1, a1, 12 | ; LMULMAX2-RV64-NEXT: slli a1, a1, 36 | ||||
; LMULMAX2-RV64-NEXT: addi a1, a1, 240 | ; LMULMAX2-RV64-NEXT: srli a1, a1, 32 | ||||
; LMULMAX2-RV64-NEXT: vand.vx v26, v26, a1 | ; LMULMAX2-RV64-NEXT: vand.vx v26, v26, a1 | ||||
; LMULMAX2-RV64-NEXT: vsrl.vi v26, v26, 4 | ; LMULMAX2-RV64-NEXT: vsrl.vi v26, v26, 4 | ||||
; LMULMAX2-RV64-NEXT: vor.vv v26, v26, v28 | ; LMULMAX2-RV64-NEXT: vor.vv v26, v26, v28 | ||||
; LMULMAX2-RV64-NEXT: lui a1, 209715 | ; LMULMAX2-RV64-NEXT: lui a1, 209715 | ||||
; LMULMAX2-RV64-NEXT: addiw a1, a1, 819 | ; LMULMAX2-RV64-NEXT: addiw a1, a1, 819 | ||||
; LMULMAX2-RV64-NEXT: vand.vx v28, v26, a1 | ; LMULMAX2-RV64-NEXT: vand.vx v28, v26, a1 | ||||
; LMULMAX2-RV64-NEXT: vsll.vi v28, v28, 2 | ; LMULMAX2-RV64-NEXT: vsll.vi v28, v28, 2 | ||||
; LMULMAX2-RV64-NEXT: lui a1, 205 | ; LMULMAX2-RV64-NEXT: lui a1, 996147 | ||||
; LMULMAX2-RV64-NEXT: addiw a1, a1, -819 | ; LMULMAX2-RV64-NEXT: addiw a1, a1, 819 | ||||
; LMULMAX2-RV64-NEXT: slli a1, a1, 12 | ; LMULMAX2-RV64-NEXT: slli a1, a1, 34 | ||||
; LMULMAX2-RV64-NEXT: addi a1, a1, -820 | ; LMULMAX2-RV64-NEXT: srli a1, a1, 32 | ||||
; LMULMAX2-RV64-NEXT: vand.vx v26, v26, a1 | ; LMULMAX2-RV64-NEXT: vand.vx v26, v26, a1 | ||||
; LMULMAX2-RV64-NEXT: vsrl.vi v26, v26, 2 | ; LMULMAX2-RV64-NEXT: vsrl.vi v26, v26, 2 | ||||
; LMULMAX2-RV64-NEXT: vor.vv v26, v26, v28 | ; LMULMAX2-RV64-NEXT: vor.vv v26, v26, v28 | ||||
; LMULMAX2-RV64-NEXT: lui a1, 349525 | ; LMULMAX2-RV64-NEXT: lui a1, 349525 | ||||
; LMULMAX2-RV64-NEXT: addiw a1, a1, 1365 | ; LMULMAX2-RV64-NEXT: addiw a1, a1, 1365 | ||||
; LMULMAX2-RV64-NEXT: vand.vx v28, v26, a1 | ; LMULMAX2-RV64-NEXT: vand.vx v28, v26, a1 | ||||
; LMULMAX2-RV64-NEXT: vsll.vi v28, v28, 1 | ; LMULMAX2-RV64-NEXT: vsll.vi v28, v28, 1 | ||||
; LMULMAX2-RV64-NEXT: lui a1, 171 | ; LMULMAX2-RV64-NEXT: lui a1, 873813 | ||||
; LMULMAX2-RV64-NEXT: addiw a1, a1, -1365 | ; LMULMAX2-RV64-NEXT: addiw a1, a1, 1365 | ||||
; LMULMAX2-RV64-NEXT: slli a1, a1, 12 | ; LMULMAX2-RV64-NEXT: slli a1, a1, 33 | ||||
; LMULMAX2-RV64-NEXT: addi a1, a1, -1366 | ; LMULMAX2-RV64-NEXT: srli a1, a1, 32 | ||||
; LMULMAX2-RV64-NEXT: vand.vx v26, v26, a1 | ; LMULMAX2-RV64-NEXT: vand.vx v26, v26, a1 | ||||
; LMULMAX2-RV64-NEXT: vsrl.vi v26, v26, 1 | ; LMULMAX2-RV64-NEXT: vsrl.vi v26, v26, 1 | ||||
; LMULMAX2-RV64-NEXT: vor.vv v26, v26, v28 | ; LMULMAX2-RV64-NEXT: vor.vv v26, v26, v28 | ||||
; LMULMAX2-RV64-NEXT: vse32.v v26, (a0) | ; LMULMAX2-RV64-NEXT: vse32.v v26, (a0) | ||||
; LMULMAX2-RV64-NEXT: ret | ; LMULMAX2-RV64-NEXT: ret | ||||
; | ; | ||||
; LMULMAX1-RV32-LABEL: bitreverse_v8i32: | ; LMULMAX1-RV32-LABEL: bitreverse_v8i32: | ||||
; LMULMAX1-RV32: # %bb.0: | ; LMULMAX1-RV32: # %bb.0: | ||||
▲ Show 20 Lines • Show All 85 Lines • ▼ Show 20 Lines | |||||
; LMULMAX1-RV64-NEXT: vand.vx v28, v28, a6 | ; LMULMAX1-RV64-NEXT: vand.vx v28, v28, a6 | ||||
; LMULMAX1-RV64-NEXT: vsll.vi v25, v25, 24 | ; LMULMAX1-RV64-NEXT: vsll.vi v25, v25, 24 | ||||
; LMULMAX1-RV64-NEXT: vor.vv v25, v25, v28 | ; LMULMAX1-RV64-NEXT: vor.vv v25, v25, v28 | ||||
; LMULMAX1-RV64-NEXT: vor.vv v25, v25, v27 | ; LMULMAX1-RV64-NEXT: vor.vv v25, v25, v27 | ||||
; LMULMAX1-RV64-NEXT: lui a4, 61681 | ; LMULMAX1-RV64-NEXT: lui a4, 61681 | ||||
; LMULMAX1-RV64-NEXT: addiw t1, a4, -241 | ; LMULMAX1-RV64-NEXT: addiw t1, a4, -241 | ||||
; LMULMAX1-RV64-NEXT: vand.vx v27, v25, t1 | ; LMULMAX1-RV64-NEXT: vand.vx v27, v25, t1 | ||||
; LMULMAX1-RV64-NEXT: vsll.vi v27, v27, 4 | ; LMULMAX1-RV64-NEXT: vsll.vi v27, v27, 4 | ||||
; LMULMAX1-RV64-NEXT: lui a5, 241 | ; LMULMAX1-RV64-NEXT: lui a5, 1044721 | ||||
; LMULMAX1-RV64-NEXT: addiw a5, a5, -241 | ; LMULMAX1-RV64-NEXT: addiw a5, a5, -241 | ||||
; LMULMAX1-RV64-NEXT: slli a5, a5, 12 | ; LMULMAX1-RV64-NEXT: slli a5, a5, 36 | ||||
; LMULMAX1-RV64-NEXT: addi a5, a5, 240 | ; LMULMAX1-RV64-NEXT: srli a5, a5, 32 | ||||
; LMULMAX1-RV64-NEXT: vand.vx v25, v25, a5 | ; LMULMAX1-RV64-NEXT: vand.vx v25, v25, a5 | ||||
; LMULMAX1-RV64-NEXT: vsrl.vi v25, v25, 4 | ; LMULMAX1-RV64-NEXT: vsrl.vi v25, v25, 4 | ||||
; LMULMAX1-RV64-NEXT: vor.vv v25, v25, v27 | ; LMULMAX1-RV64-NEXT: vor.vv v25, v25, v27 | ||||
; LMULMAX1-RV64-NEXT: lui a3, 209715 | ; LMULMAX1-RV64-NEXT: lui a3, 209715 | ||||
; LMULMAX1-RV64-NEXT: addiw a3, a3, 819 | ; LMULMAX1-RV64-NEXT: addiw a3, a3, 819 | ||||
; LMULMAX1-RV64-NEXT: vand.vx v27, v25, a3 | ; LMULMAX1-RV64-NEXT: vand.vx v27, v25, a3 | ||||
; LMULMAX1-RV64-NEXT: vsll.vi v27, v27, 2 | ; LMULMAX1-RV64-NEXT: vsll.vi v27, v27, 2 | ||||
; LMULMAX1-RV64-NEXT: lui a1, 205 | ; LMULMAX1-RV64-NEXT: lui a1, 996147 | ||||
; LMULMAX1-RV64-NEXT: addiw a1, a1, -819 | ; LMULMAX1-RV64-NEXT: addiw a1, a1, 819 | ||||
; LMULMAX1-RV64-NEXT: slli a1, a1, 12 | ; LMULMAX1-RV64-NEXT: slli a1, a1, 34 | ||||
; LMULMAX1-RV64-NEXT: addi a1, a1, -820 | ; LMULMAX1-RV64-NEXT: srli a1, a1, 32 | ||||
; LMULMAX1-RV64-NEXT: vand.vx v25, v25, a1 | ; LMULMAX1-RV64-NEXT: vand.vx v25, v25, a1 | ||||
; LMULMAX1-RV64-NEXT: vsrl.vi v25, v25, 2 | ; LMULMAX1-RV64-NEXT: vsrl.vi v25, v25, 2 | ||||
; LMULMAX1-RV64-NEXT: vor.vv v25, v25, v27 | ; LMULMAX1-RV64-NEXT: vor.vv v25, v25, v27 | ||||
; LMULMAX1-RV64-NEXT: lui a2, 349525 | ; LMULMAX1-RV64-NEXT: lui a2, 349525 | ||||
; LMULMAX1-RV64-NEXT: addiw a2, a2, 1365 | ; LMULMAX1-RV64-NEXT: addiw a2, a2, 1365 | ||||
; LMULMAX1-RV64-NEXT: vand.vx v27, v25, a2 | ; LMULMAX1-RV64-NEXT: vand.vx v27, v25, a2 | ||||
; LMULMAX1-RV64-NEXT: vsll.vi v27, v27, 1 | ; LMULMAX1-RV64-NEXT: vsll.vi v27, v27, 1 | ||||
; LMULMAX1-RV64-NEXT: lui a4, 171 | ; LMULMAX1-RV64-NEXT: lui a4, 873813 | ||||
; LMULMAX1-RV64-NEXT: addiw a4, a4, -1365 | ; LMULMAX1-RV64-NEXT: addiw a4, a4, 1365 | ||||
; LMULMAX1-RV64-NEXT: slli a4, a4, 12 | ; LMULMAX1-RV64-NEXT: slli a4, a4, 33 | ||||
; LMULMAX1-RV64-NEXT: addi a4, a4, -1366 | ; LMULMAX1-RV64-NEXT: srli a4, a4, 32 | ||||
; LMULMAX1-RV64-NEXT: vand.vx v25, v25, a4 | ; LMULMAX1-RV64-NEXT: vand.vx v25, v25, a4 | ||||
; LMULMAX1-RV64-NEXT: vsrl.vi v25, v25, 1 | ; LMULMAX1-RV64-NEXT: vsrl.vi v25, v25, 1 | ||||
; LMULMAX1-RV64-NEXT: vor.vv v25, v25, v27 | ; LMULMAX1-RV64-NEXT: vor.vv v25, v25, v27 | ||||
; LMULMAX1-RV64-NEXT: vsrl.vi v27, v26, 8 | ; LMULMAX1-RV64-NEXT: vsrl.vi v27, v26, 8 | ||||
; LMULMAX1-RV64-NEXT: vand.vx v27, v27, t0 | ; LMULMAX1-RV64-NEXT: vand.vx v27, v27, t0 | ||||
; LMULMAX1-RV64-NEXT: vsrl.vi v28, v26, 24 | ; LMULMAX1-RV64-NEXT: vsrl.vi v28, v26, 24 | ||||
; LMULMAX1-RV64-NEXT: vor.vv v27, v27, v28 | ; LMULMAX1-RV64-NEXT: vor.vv v27, v27, v28 | ||||
; LMULMAX1-RV64-NEXT: vsll.vi v28, v26, 8 | ; LMULMAX1-RV64-NEXT: vsll.vi v28, v26, 8 | ||||
▲ Show 20 Lines • Show All 521 Lines • Show Last 20 Lines |