Skip to content

Commit 0318bcf

Browse files
oscardssmithOscar Smith
authored andcommitted
add riscv tests
1 parent 460ac1b commit 0318bcf

File tree

2 files changed

+33
-0
lines changed

2 files changed

+33
-0
lines changed

llvm/test/CodeGen/RISCV/rv32zbc-zbkc-intrinsic.ll

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,17 @@ define i32 @clmul32(i32 %a, i32 %b) nounwind {
1515
ret i32 %tmp
1616
}
1717

18+
declare i32 @llvm.clmul.i32(i32 %a, i32 %b)
19+
20+
define i32 @generic_clmul32(i32 %a, i32 %b) nounwind {
21+
; RV32ZBC-ZBKC-LABEL: clmul32:
22+
; RV32ZBC-ZBKC: # %bb.0:
23+
; RV32ZBC-ZBKC-NEXT: clmul a0, a0, a1
24+
; RV32ZBC-ZBKC-NEXT: ret
25+
%tmp = call i32 @llvm.clmul.i32(i32 %a, i32 %b)
26+
ret i32 %tmp
27+
}
28+
1829
declare i32 @llvm.riscv.clmulh.i32(i32 %a, i32 %b)
1930

2031
define i32 @clmul32h(i32 %a, i32 %b) nounwind {

llvm/test/CodeGen/RISCV/rv64zbc-zbkc-intrinsic.ll

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,17 @@ define i64 @clmul64(i64 %a, i64 %b) nounwind {
1515
ret i64 %tmp
1616
}
1717

18+
declare i64 @llvm.clmul.i64(i64 %a, i64 %b)
19+
20+
define i64 @generic_clmul64(i64 %a, i64 %b) nounwind {
21+
; RV64ZBC-ZBKC-LABEL: clmul64:
22+
; RV64ZBC-ZBKC: # %bb.0:
23+
; RV64ZBC-ZBKC-NEXT: clmul a0, a0, a1
24+
; RV64ZBC-ZBKC-NEXT: ret
25+
%tmp = call i64 @llvm.clmul.i64(i64 %a, i64 %b)
26+
ret i64 %tmp
27+
}
28+
1829
declare i64 @llvm.riscv.clmulh.i64(i64 %a, i64 %b)
1930

2031
define i64 @clmul64h(i64 %a, i64 %b) nounwind {
@@ -37,6 +48,17 @@ define signext i32 @clmul32(i32 signext %a, i32 signext %b) nounwind {
3748
%tmp = call i32 @llvm.riscv.clmul.i32(i32 %a, i32 %b)
3849
ret i32 %tmp
3950
}
51+
declare i32 @llvm.clmul.i32(i32 %a, i32 %b)
52+
53+
define signext i32 @generic_clmul32(i32 signext %a, i32 signext %b) nounwind {
54+
; RV64ZBC-ZBKC-LABEL: clmul32:
55+
; RV64ZBC-ZBKC: # %bb.0:
56+
; RV64ZBC-ZBKC-NEXT: clmul a0, a0, a1
57+
; RV64ZBC-ZBKC-NEXT: sext.w a0, a0
58+
; RV64ZBC-ZBKC-NEXT: ret
59+
%tmp = call i32 @llvm.clmul.i32(i32 %a, i32 %b)
60+
ret i32 %tmp
61+
}
4062

4163
declare i32 @llvm.riscv.clmulh.i32(i32 %a, i32 %b)
4264

0 commit comments

Comments
 (0)