84 changes: 42 additions & 42 deletions llvm/test/CodeGen/RISCV/memcmp.ll
Original file line number Diff line number Diff line change
Expand Up @@ -156,7 +156,7 @@ define i32 @bcmp_size_0(ptr %s1, ptr %s2) nounwind {
; CHECK-UNALIGNED-RV64-ZBKB-NEXT: addi sp, sp, 16
; CHECK-UNALIGNED-RV64-ZBKB-NEXT: ret
entry:
%bcmp = call i32 @bcmp(ptr %s1, ptr %s2, iXLen 0)
%bcmp = call signext i32 @bcmp(ptr %s1, ptr %s2, iXLen 0)
ret i32 %bcmp
}

Expand Down Expand Up @@ -257,7 +257,7 @@ define i32 @bcmp_size_1(ptr %s1, ptr %s2) nounwind {
; CHECK-UNALIGNED-RV64-ZBKB-NEXT: snez a0, a0
; CHECK-UNALIGNED-RV64-ZBKB-NEXT: ret
entry:
%bcmp = call i32 @bcmp(ptr %s1, ptr %s2, iXLen 1)
%bcmp = call signext i32 @bcmp(ptr %s1, ptr %s2, iXLen 1)
ret i32 %bcmp
}

Expand Down Expand Up @@ -390,7 +390,7 @@ define i32 @bcmp_size_2(ptr %s1, ptr %s2) nounwind {
; CHECK-UNALIGNED-RV64-ZBKB-NEXT: snez a0, a0
; CHECK-UNALIGNED-RV64-ZBKB-NEXT: ret
entry:
%bcmp = call i32 @bcmp(ptr %s1, ptr %s2, iXLen 2)
%bcmp = call signext i32 @bcmp(ptr %s1, ptr %s2, iXLen 2)
ret i32 %bcmp
}

Expand Down Expand Up @@ -571,7 +571,7 @@ define i32 @bcmp_size_3(ptr %s1, ptr %s2) nounwind {
; CHECK-UNALIGNED-RV64-ZBKB-NEXT: snez a0, a0
; CHECK-UNALIGNED-RV64-ZBKB-NEXT: ret
entry:
%bcmp = call i32 @bcmp(ptr %s1, ptr %s2, iXLen 3)
%bcmp = call signext i32 @bcmp(ptr %s1, ptr %s2, iXLen 3)
ret i32 %bcmp
}

Expand Down Expand Up @@ -772,7 +772,7 @@ define i32 @bcmp_size_4(ptr %s1, ptr %s2) nounwind {
; CHECK-UNALIGNED-RV64-ZBKB-NEXT: snez a0, a0
; CHECK-UNALIGNED-RV64-ZBKB-NEXT: ret
entry:
%bcmp = call i32 @bcmp(ptr %s1, ptr %s2, iXLen 4)
%bcmp = call signext i32 @bcmp(ptr %s1, ptr %s2, iXLen 4)
ret i32 %bcmp
}

Expand Down Expand Up @@ -1021,7 +1021,7 @@ define i32 @bcmp_size_5(ptr %s1, ptr %s2) nounwind {
; CHECK-UNALIGNED-RV64-ZBKB-NEXT: snez a0, a0
; CHECK-UNALIGNED-RV64-ZBKB-NEXT: ret
entry:
%bcmp = call i32 @bcmp(ptr %s1, ptr %s2, iXLen 5)
%bcmp = call signext i32 @bcmp(ptr %s1, ptr %s2, iXLen 5)
ret i32 %bcmp
}

Expand Down Expand Up @@ -1302,7 +1302,7 @@ define i32 @bcmp_size_6(ptr %s1, ptr %s2) nounwind {
; CHECK-UNALIGNED-RV64-ZBKB-NEXT: snez a0, a0
; CHECK-UNALIGNED-RV64-ZBKB-NEXT: ret
entry:
%bcmp = call i32 @bcmp(ptr %s1, ptr %s2, iXLen 6)
%bcmp = call signext i32 @bcmp(ptr %s1, ptr %s2, iXLen 6)
ret i32 %bcmp
}

Expand Down Expand Up @@ -1607,7 +1607,7 @@ define i32 @bcmp_size_7(ptr %s1, ptr %s2) nounwind {
; CHECK-UNALIGNED-RV64-ZBKB-NEXT: snez a0, a0
; CHECK-UNALIGNED-RV64-ZBKB-NEXT: ret
entry:
%bcmp = call i32 @bcmp(ptr %s1, ptr %s2, iXLen 7)
%bcmp = call signext i32 @bcmp(ptr %s1, ptr %s2, iXLen 7)
ret i32 %bcmp
}

Expand Down Expand Up @@ -1944,7 +1944,7 @@ define i32 @bcmp_size_8(ptr %s1, ptr %s2) nounwind {
; CHECK-UNALIGNED-RV64-ZBKB-NEXT: snez a0, a0
; CHECK-UNALIGNED-RV64-ZBKB-NEXT: ret
entry:
%bcmp = call i32 @bcmp(ptr %s1, ptr %s2, iXLen 8)
%bcmp = call signext i32 @bcmp(ptr %s1, ptr %s2, iXLen 8)
ret i32 %bcmp
}

Expand Down Expand Up @@ -2519,7 +2519,7 @@ define i32 @bcmp_size_15(ptr %s1, ptr %s2) nounwind {
; CHECK-UNALIGNED-RV64-ZBKB-NEXT: snez a0, a0
; CHECK-UNALIGNED-RV64-ZBKB-NEXT: ret
entry:
%bcmp = call i32 @bcmp(ptr %s1, ptr %s2, iXLen 15)
%bcmp = call signext i32 @bcmp(ptr %s1, ptr %s2, iXLen 15)
ret i32 %bcmp
}

Expand Down Expand Up @@ -3140,7 +3140,7 @@ define i32 @bcmp_size_16(ptr %s1, ptr %s2) nounwind {
; CHECK-UNALIGNED-RV64-ZBKB-NEXT: snez a0, a0
; CHECK-UNALIGNED-RV64-ZBKB-NEXT: ret
entry:
%bcmp = call i32 @bcmp(ptr %s1, ptr %s2, iXLen 16)
%bcmp = call signext i32 @bcmp(ptr %s1, ptr %s2, iXLen 16)
ret i32 %bcmp
}

Expand Down Expand Up @@ -3841,7 +3841,7 @@ define i32 @bcmp_size_31(ptr %s1, ptr %s2) nounwind {
; CHECK-UNALIGNED-RV64-ZBKB-NEXT: snez a0, a0
; CHECK-UNALIGNED-RV64-ZBKB-NEXT: ret
entry:
%bcmp = call i32 @bcmp(ptr %s1, ptr %s2, iXLen 31)
%bcmp = call signext i32 @bcmp(ptr %s1, ptr %s2, iXLen 31)
ret i32 %bcmp
}

Expand Down Expand Up @@ -5034,7 +5034,7 @@ define i32 @bcmp_size_32(ptr %s1, ptr %s2) nounwind {
; CHECK-UNALIGNED-RV64-ZBKB-NEXT: snez a0, a0
; CHECK-UNALIGNED-RV64-ZBKB-NEXT: ret
entry:
%bcmp = call i32 @bcmp(ptr %s1, ptr %s2, iXLen 32)
%bcmp = call signext i32 @bcmp(ptr %s1, ptr %s2, iXLen 32)
ret i32 %bcmp
}

Expand Down Expand Up @@ -5237,7 +5237,7 @@ define i32 @bcmp_size_63(ptr %s1, ptr %s2) nounwind {
; CHECK-UNALIGNED-RV64-ZBKB-NEXT: snez a0, a0
; CHECK-UNALIGNED-RV64-ZBKB-NEXT: ret
entry:
%bcmp = call i32 @bcmp(ptr %s1, ptr %s2, iXLen 63)
%bcmp = call signext i32 @bcmp(ptr %s1, ptr %s2, iXLen 63)
ret i32 %bcmp
}

Expand Down Expand Up @@ -6446,7 +6446,7 @@ define i32 @bcmp_size_64(ptr %s1, ptr %s2) nounwind {
; CHECK-UNALIGNED-RV64-ZBKB-NEXT: snez a0, a0
; CHECK-UNALIGNED-RV64-ZBKB-NEXT: ret
entry:
%bcmp = call i32 @bcmp(ptr %s1, ptr %s2, iXLen 64)
%bcmp = call signext i32 @bcmp(ptr %s1, ptr %s2, iXLen 64)
ret i32 %bcmp
}

Expand Down Expand Up @@ -6571,7 +6571,7 @@ define i32 @bcmp_size_127(ptr %s1, ptr %s2) nounwind {
; CHECK-UNALIGNED-RV64-ZBKB-NEXT: addi sp, sp, 16
; CHECK-UNALIGNED-RV64-ZBKB-NEXT: ret
entry:
%bcmp = call i32 @bcmp(ptr %s1, ptr %s2, iXLen 127)
%bcmp = call signext i32 @bcmp(ptr %s1, ptr %s2, iXLen 127)
ret i32 %bcmp
}

Expand Down Expand Up @@ -6696,7 +6696,7 @@ define i32 @bcmp_size_128(ptr %s1, ptr %s2) nounwind {
; CHECK-UNALIGNED-RV64-ZBKB-NEXT: addi sp, sp, 16
; CHECK-UNALIGNED-RV64-ZBKB-NEXT: ret
entry:
%bcmp = call i32 @bcmp(ptr %s1, ptr %s2, iXLen 128)
%bcmp = call signext i32 @bcmp(ptr %s1, ptr %s2, iXLen 128)
ret i32 %bcmp
}

Expand Down Expand Up @@ -6809,7 +6809,7 @@ define i32 @bcmp_size_runtime(ptr %s1, ptr %s2, iXLen %len) nounwind {
; CHECK-UNALIGNED-RV64-ZBKB-NEXT: addi sp, sp, 16
; CHECK-UNALIGNED-RV64-ZBKB-NEXT: ret
entry:
%bcmp = call i32 @bcmp(ptr %s1, ptr %s2, iXLen %len)
%bcmp = call signext i32 @bcmp(ptr %s1, ptr %s2, iXLen %len)
ret i32 %bcmp
}

Expand Down Expand Up @@ -7010,7 +7010,7 @@ define i1 @bcmp_eq_zero(ptr %s1, ptr %s2) nounwind {
; CHECK-UNALIGNED-RV64-ZBKB-NEXT: seqz a0, a0
; CHECK-UNALIGNED-RV64-ZBKB-NEXT: ret
entry:
%bcmp = call i32 @bcmp(ptr %s1, ptr %s2, iXLen 4)
%bcmp = call signext i32 @bcmp(ptr %s1, ptr %s2, iXLen 4)
%ret = icmp eq i32 %bcmp, 0
ret i1 %ret
}
Expand Down Expand Up @@ -7076,7 +7076,7 @@ define i1 @bcmp_lt_zero(ptr %s1, ptr %s2) nounwind {
; CHECK-UNALIGNED-RV64-ZBKB-NEXT: li a0, 0
; CHECK-UNALIGNED-RV64-ZBKB-NEXT: ret
entry:
%bcmp = call i32 @bcmp(ptr %s1, ptr %s2, iXLen 4)
%bcmp = call signext i32 @bcmp(ptr %s1, ptr %s2, iXLen 4)
%ret = icmp slt i32 %bcmp, 0
ret i1 %ret
}
Expand Down Expand Up @@ -7278,7 +7278,7 @@ define i1 @bcmp_gt_zero(ptr %s1, ptr %s2) nounwind {
; CHECK-UNALIGNED-RV64-ZBKB-NEXT: snez a0, a0
; CHECK-UNALIGNED-RV64-ZBKB-NEXT: ret
entry:
%bcmp = call i32 @bcmp(ptr %s1, ptr %s2, iXLen 4)
%bcmp = call signext i32 @bcmp(ptr %s1, ptr %s2, iXLen 4)
%ret = icmp sgt i32 %bcmp, 0
ret i1 %ret
}
Expand Down Expand Up @@ -7344,7 +7344,7 @@ define i32 @memcmp_size_0(ptr %s1, ptr %s2) nounwind {
; CHECK-UNALIGNED-RV64-ZBKB-NEXT: li a0, 0
; CHECK-UNALIGNED-RV64-ZBKB-NEXT: ret
entry:
%memcmp = call i32 @memcmp(ptr %s1, ptr %s2, iXLen 0)
%memcmp = call signext i32 @memcmp(ptr %s1, ptr %s2, iXLen 0)
ret i32 %memcmp
}

Expand Down Expand Up @@ -7433,7 +7433,7 @@ define i32 @memcmp_size_1(ptr %s1, ptr %s2) nounwind {
; CHECK-UNALIGNED-RV64-ZBKB-NEXT: sub a0, a0, a1
; CHECK-UNALIGNED-RV64-ZBKB-NEXT: ret
entry:
%memcmp = call i32 @memcmp(ptr %s1, ptr %s2, iXLen 1)
%memcmp = call signext i32 @memcmp(ptr %s1, ptr %s2, iXLen 1)
ret i32 %memcmp
}

Expand Down Expand Up @@ -7610,7 +7610,7 @@ define i32 @memcmp_size_2(ptr %s1, ptr %s2) nounwind {
; CHECK-UNALIGNED-RV64-ZBKB-NEXT: sub a0, a0, a1
; CHECK-UNALIGNED-RV64-ZBKB-NEXT: ret
entry:
%memcmp = call i32 @memcmp(ptr %s1, ptr %s2, iXLen 2)
%memcmp = call signext i32 @memcmp(ptr %s1, ptr %s2, iXLen 2)
ret i32 %memcmp
}

Expand Down Expand Up @@ -7911,7 +7911,7 @@ define i32 @memcmp_size_3(ptr %s1, ptr %s2) nounwind {
; CHECK-UNALIGNED-RV64-ZBKB-NEXT: ori a0, a0, 1
; CHECK-UNALIGNED-RV64-ZBKB-NEXT: ret
entry:
%memcmp = call i32 @memcmp(ptr %s1, ptr %s2, iXLen 3)
%memcmp = call signext i32 @memcmp(ptr %s1, ptr %s2, iXLen 3)
ret i32 %memcmp
}

Expand Down Expand Up @@ -8190,7 +8190,7 @@ define i32 @memcmp_size_4(ptr %s1, ptr %s2) nounwind {
; CHECK-UNALIGNED-RV64-ZBKB-NEXT: sub a0, a2, a0
; CHECK-UNALIGNED-RV64-ZBKB-NEXT: ret
entry:
%memcmp = call i32 @memcmp(ptr %s1, ptr %s2, iXLen 4)
%memcmp = call signext i32 @memcmp(ptr %s1, ptr %s2, iXLen 4)
ret i32 %memcmp
}

Expand Down Expand Up @@ -8553,7 +8553,7 @@ define i32 @memcmp_size_5(ptr %s1, ptr %s2) nounwind {
; CHECK-UNALIGNED-RV64-ZBKB-NEXT: ori a0, a0, 1
; CHECK-UNALIGNED-RV64-ZBKB-NEXT: ret
entry:
%memcmp = call i32 @memcmp(ptr %s1, ptr %s2, iXLen 5)
%memcmp = call signext i32 @memcmp(ptr %s1, ptr %s2, iXLen 5)
ret i32 %memcmp
}

Expand Down Expand Up @@ -9026,7 +9026,7 @@ define i32 @memcmp_size_6(ptr %s1, ptr %s2) nounwind {
; CHECK-UNALIGNED-RV64-ZBKB-NEXT: ori a0, a0, 1
; CHECK-UNALIGNED-RV64-ZBKB-NEXT: ret
entry:
%memcmp = call i32 @memcmp(ptr %s1, ptr %s2, iXLen 6)
%memcmp = call signext i32 @memcmp(ptr %s1, ptr %s2, iXLen 6)
ret i32 %memcmp
}

Expand Down Expand Up @@ -9525,7 +9525,7 @@ define i32 @memcmp_size_7(ptr %s1, ptr %s2) nounwind {
; CHECK-UNALIGNED-RV64-ZBKB-NEXT: ori a0, a0, 1
; CHECK-UNALIGNED-RV64-ZBKB-NEXT: ret
entry:
%memcmp = call i32 @memcmp(ptr %s1, ptr %s2, iXLen 7)
%memcmp = call signext i32 @memcmp(ptr %s1, ptr %s2, iXLen 7)
ret i32 %memcmp
}

Expand Down Expand Up @@ -10058,7 +10058,7 @@ define i32 @memcmp_size_8(ptr %s1, ptr %s2) nounwind {
; CHECK-UNALIGNED-RV64-ZBKB-NEXT: sub a0, a2, a0
; CHECK-UNALIGNED-RV64-ZBKB-NEXT: ret
entry:
%memcmp = call i32 @memcmp(ptr %s1, ptr %s2, iXLen 8)
%memcmp = call signext i32 @memcmp(ptr %s1, ptr %s2, iXLen 8)
ret i32 %memcmp
}

Expand Down Expand Up @@ -10997,7 +10997,7 @@ define i32 @memcmp_size_15(ptr %s1, ptr %s2) nounwind {
; CHECK-UNALIGNED-RV64-ZBKB-NEXT: ori a0, a0, 1
; CHECK-UNALIGNED-RV64-ZBKB-NEXT: ret
entry:
%memcmp = call i32 @memcmp(ptr %s1, ptr %s2, iXLen 15)
%memcmp = call signext i32 @memcmp(ptr %s1, ptr %s2, iXLen 15)
ret i32 %memcmp
}

Expand Down Expand Up @@ -11992,7 +11992,7 @@ define i32 @memcmp_size_16(ptr %s1, ptr %s2) nounwind {
; CHECK-UNALIGNED-RV64-ZBKB-NEXT: ori a0, a0, 1
; CHECK-UNALIGNED-RV64-ZBKB-NEXT: ret
entry:
%memcmp = call i32 @memcmp(ptr %s1, ptr %s2, iXLen 16)
%memcmp = call signext i32 @memcmp(ptr %s1, ptr %s2, iXLen 16)
ret i32 %memcmp
}

Expand Down Expand Up @@ -13308,7 +13308,7 @@ define i32 @memcmp_size_31(ptr %s1, ptr %s2) nounwind {
; CHECK-UNALIGNED-RV64-ZBKB-NEXT: ori a0, a0, 1
; CHECK-UNALIGNED-RV64-ZBKB-NEXT: ret
entry:
%memcmp = call i32 @memcmp(ptr %s1, ptr %s2, iXLen 31)
%memcmp = call signext i32 @memcmp(ptr %s1, ptr %s2, iXLen 31)
ret i32 %memcmp
}

Expand Down Expand Up @@ -15172,7 +15172,7 @@ define i32 @memcmp_size_32(ptr %s1, ptr %s2) nounwind {
; CHECK-UNALIGNED-RV64-ZBKB-NEXT: ori a0, a0, 1
; CHECK-UNALIGNED-RV64-ZBKB-NEXT: ret
entry:
%memcmp = call i32 @memcmp(ptr %s1, ptr %s2, iXLen 32)
%memcmp = call signext i32 @memcmp(ptr %s1, ptr %s2, iXLen 32)
ret i32 %memcmp
}

Expand Down Expand Up @@ -15781,7 +15781,7 @@ define i32 @memcmp_size_63(ptr %s1, ptr %s2) nounwind {
; CHECK-UNALIGNED-RV64-ZBKB-NEXT: ori a0, a0, 1
; CHECK-UNALIGNED-RV64-ZBKB-NEXT: ret
entry:
%memcmp = call i32 @memcmp(ptr %s1, ptr %s2, iXLen 63)
%memcmp = call signext i32 @memcmp(ptr %s1, ptr %s2, iXLen 63)
ret i32 %memcmp
}

Expand Down Expand Up @@ -17793,7 +17793,7 @@ define i32 @memcmp_size_64(ptr %s1, ptr %s2) nounwind {
; CHECK-UNALIGNED-RV64-ZBKB-NEXT: ori a0, a0, 1
; CHECK-UNALIGNED-RV64-ZBKB-NEXT: ret
entry:
%memcmp = call i32 @memcmp(ptr %s1, ptr %s2, iXLen 64)
%memcmp = call signext i32 @memcmp(ptr %s1, ptr %s2, iXLen 64)
ret i32 %memcmp
}

Expand Down Expand Up @@ -17918,7 +17918,7 @@ define i32 @memcmp_size_127(ptr %s1, ptr %s2) nounwind {
; CHECK-UNALIGNED-RV64-ZBKB-NEXT: addi sp, sp, 16
; CHECK-UNALIGNED-RV64-ZBKB-NEXT: ret
entry:
%memcmp = call i32 @memcmp(ptr %s1, ptr %s2, iXLen 127)
%memcmp = call signext i32 @memcmp(ptr %s1, ptr %s2, iXLen 127)
ret i32 %memcmp
}

Expand Down Expand Up @@ -18043,7 +18043,7 @@ define i32 @memcmp_size_128(ptr %s1, ptr %s2) nounwind {
; CHECK-UNALIGNED-RV64-ZBKB-NEXT: addi sp, sp, 16
; CHECK-UNALIGNED-RV64-ZBKB-NEXT: ret
entry:
%memcmp = call i32 @memcmp(ptr %s1, ptr %s2, iXLen 128)
%memcmp = call signext i32 @memcmp(ptr %s1, ptr %s2, iXLen 128)
ret i32 %memcmp
}

Expand Down Expand Up @@ -18156,7 +18156,7 @@ define i32 @memcmp_size_runtime(ptr %s1, ptr %s2, iXLen %len) nounwind {
; CHECK-UNALIGNED-RV64-ZBKB-NEXT: addi sp, sp, 16
; CHECK-UNALIGNED-RV64-ZBKB-NEXT: ret
entry:
%memcmp = call i32 @memcmp(ptr %s1, ptr %s2, iXLen %len)
%memcmp = call signext i32 @memcmp(ptr %s1, ptr %s2, iXLen %len)
ret i32 %memcmp
}

Expand Down Expand Up @@ -18357,7 +18357,7 @@ define i1 @memcmp_eq_zero(ptr %s1, ptr %s2) nounwind {
; CHECK-UNALIGNED-RV64-ZBKB-NEXT: seqz a0, a0
; CHECK-UNALIGNED-RV64-ZBKB-NEXT: ret
entry:
%memcmp = call i32 @memcmp(ptr %s1, ptr %s2, iXLen 4)
%memcmp = call signext i32 @memcmp(ptr %s1, ptr %s2, iXLen 4)
%ret = icmp eq i32 %memcmp, 0
ret i1 %ret
}
Expand Down Expand Up @@ -18613,7 +18613,7 @@ define i1 @memcmp_lt_zero(ptr %s1, ptr %s2) nounwind {
; CHECK-UNALIGNED-RV64-ZBKB-NEXT: sltu a0, a0, a1
; CHECK-UNALIGNED-RV64-ZBKB-NEXT: ret
entry:
%memcmp = call i32 @memcmp(ptr %s1, ptr %s2, iXLen 4)
%memcmp = call signext i32 @memcmp(ptr %s1, ptr %s2, iXLen 4)
%ret = icmp slt i32 %memcmp, 0
ret i1 %ret
}
Expand Down Expand Up @@ -18869,7 +18869,7 @@ define i1 @memcmp_gt_zero(ptr %s1, ptr %s2) nounwind {
; CHECK-UNALIGNED-RV64-ZBKB-NEXT: sltu a0, a1, a0
; CHECK-UNALIGNED-RV64-ZBKB-NEXT: ret
entry:
%memcmp = call i32 @memcmp(ptr %s1, ptr %s2, iXLen 4)
%memcmp = call signext i32 @memcmp(ptr %s1, ptr %s2, iXLen 4)
%ret = icmp sgt i32 %memcmp, 0
ret i1 %ret
}
Expand Down