@@ -6702,10 +6702,8 @@ define i1 @memcmp_le_zero(ptr %s1, ptr %s2) nounwind {
6702
6702
; CHECK-UNALIGNED-RV32-ZBB-NEXT: lw a1, 0(a1)
6703
6703
; CHECK-UNALIGNED-RV32-ZBB-NEXT: rev8 a0, a0
6704
6704
; CHECK-UNALIGNED-RV32-ZBB-NEXT: rev8 a1, a1
6705
- ; CHECK-UNALIGNED-RV32-ZBB-NEXT: sltu a2, a1, a0
6706
- ; CHECK-UNALIGNED-RV32-ZBB-NEXT: sltu a0, a0, a1
6707
- ; CHECK-UNALIGNED-RV32-ZBB-NEXT: sub a2, a2, a0
6708
- ; CHECK-UNALIGNED-RV32-ZBB-NEXT: slti a0, a2, 1
6705
+ ; CHECK-UNALIGNED-RV32-ZBB-NEXT: sltu a0, a1, a0
6706
+ ; CHECK-UNALIGNED-RV32-ZBB-NEXT: xori a0, a0, 1
6709
6707
; CHECK-UNALIGNED-RV32-ZBB-NEXT: ret
6710
6708
;
6711
6709
; CHECK-UNALIGNED-RV64-ZBB-LABEL: memcmp_le_zero:
@@ -6716,10 +6714,8 @@ define i1 @memcmp_le_zero(ptr %s1, ptr %s2) nounwind {
6716
6714
; CHECK-UNALIGNED-RV64-ZBB-NEXT: rev8 a1, a1
6717
6715
; CHECK-UNALIGNED-RV64-ZBB-NEXT: srli a0, a0, 32
6718
6716
; CHECK-UNALIGNED-RV64-ZBB-NEXT: srli a1, a1, 32
6719
- ; CHECK-UNALIGNED-RV64-ZBB-NEXT: sltu a2, a1, a0
6720
- ; CHECK-UNALIGNED-RV64-ZBB-NEXT: sltu a0, a0, a1
6721
- ; CHECK-UNALIGNED-RV64-ZBB-NEXT: sub a2, a2, a0
6722
- ; CHECK-UNALIGNED-RV64-ZBB-NEXT: slti a0, a2, 1
6717
+ ; CHECK-UNALIGNED-RV64-ZBB-NEXT: sltu a0, a1, a0
6718
+ ; CHECK-UNALIGNED-RV64-ZBB-NEXT: xori a0, a0, 1
6723
6719
; CHECK-UNALIGNED-RV64-ZBB-NEXT: ret
6724
6720
;
6725
6721
; CHECK-UNALIGNED-RV32-ZBKB-LABEL: memcmp_le_zero:
@@ -6728,10 +6724,8 @@ define i1 @memcmp_le_zero(ptr %s1, ptr %s2) nounwind {
6728
6724
; CHECK-UNALIGNED-RV32-ZBKB-NEXT: lw a1, 0(a1)
6729
6725
; CHECK-UNALIGNED-RV32-ZBKB-NEXT: rev8 a0, a0
6730
6726
; CHECK-UNALIGNED-RV32-ZBKB-NEXT: rev8 a1, a1
6731
- ; CHECK-UNALIGNED-RV32-ZBKB-NEXT: sltu a2, a1, a0
6732
- ; CHECK-UNALIGNED-RV32-ZBKB-NEXT: sltu a0, a0, a1
6733
- ; CHECK-UNALIGNED-RV32-ZBKB-NEXT: sub a2, a2, a0
6734
- ; CHECK-UNALIGNED-RV32-ZBKB-NEXT: slti a0, a2, 1
6727
+ ; CHECK-UNALIGNED-RV32-ZBKB-NEXT: sltu a0, a1, a0
6728
+ ; CHECK-UNALIGNED-RV32-ZBKB-NEXT: xori a0, a0, 1
6735
6729
; CHECK-UNALIGNED-RV32-ZBKB-NEXT: ret
6736
6730
;
6737
6731
; CHECK-UNALIGNED-RV64-ZBKB-LABEL: memcmp_le_zero:
@@ -6742,10 +6736,8 @@ define i1 @memcmp_le_zero(ptr %s1, ptr %s2) nounwind {
6742
6736
; CHECK-UNALIGNED-RV64-ZBKB-NEXT: rev8 a1, a1
6743
6737
; CHECK-UNALIGNED-RV64-ZBKB-NEXT: srli a0, a0, 32
6744
6738
; CHECK-UNALIGNED-RV64-ZBKB-NEXT: srli a1, a1, 32
6745
- ; CHECK-UNALIGNED-RV64-ZBKB-NEXT: sltu a2, a1, a0
6746
- ; CHECK-UNALIGNED-RV64-ZBKB-NEXT: sltu a0, a0, a1
6747
- ; CHECK-UNALIGNED-RV64-ZBKB-NEXT: sub a2, a2, a0
6748
- ; CHECK-UNALIGNED-RV64-ZBKB-NEXT: slti a0, a2, 1
6739
+ ; CHECK-UNALIGNED-RV64-ZBKB-NEXT: sltu a0, a1, a0
6740
+ ; CHECK-UNALIGNED-RV64-ZBKB-NEXT: xori a0, a0, 1
6749
6741
; CHECK-UNALIGNED-RV64-ZBKB-NEXT: ret
6750
6742
;
6751
6743
; CHECK-UNALIGNED-RV32-V-LABEL: memcmp_le_zero:
@@ -6902,10 +6894,7 @@ define i1 @memcmp_ge_zero(ptr %s1, ptr %s2) nounwind {
6902
6894
; CHECK-UNALIGNED-RV32-ZBB-NEXT: lw a1, 0(a1)
6903
6895
; CHECK-UNALIGNED-RV32-ZBB-NEXT: rev8 a0, a0
6904
6896
; CHECK-UNALIGNED-RV32-ZBB-NEXT: rev8 a1, a1
6905
- ; CHECK-UNALIGNED-RV32-ZBB-NEXT: sltu a2, a1, a0
6906
6897
; CHECK-UNALIGNED-RV32-ZBB-NEXT: sltu a0, a0, a1
6907
- ; CHECK-UNALIGNED-RV32-ZBB-NEXT: sub a2, a2, a0
6908
- ; CHECK-UNALIGNED-RV32-ZBB-NEXT: slti a0, a2, 0
6909
6898
; CHECK-UNALIGNED-RV32-ZBB-NEXT: xori a0, a0, 1
6910
6899
; CHECK-UNALIGNED-RV32-ZBB-NEXT: ret
6911
6900
;
@@ -6917,10 +6906,7 @@ define i1 @memcmp_ge_zero(ptr %s1, ptr %s2) nounwind {
6917
6906
; CHECK-UNALIGNED-RV64-ZBB-NEXT: rev8 a1, a1
6918
6907
; CHECK-UNALIGNED-RV64-ZBB-NEXT: srli a0, a0, 32
6919
6908
; CHECK-UNALIGNED-RV64-ZBB-NEXT: srli a1, a1, 32
6920
- ; CHECK-UNALIGNED-RV64-ZBB-NEXT: sltu a2, a1, a0
6921
6909
; CHECK-UNALIGNED-RV64-ZBB-NEXT: sltu a0, a0, a1
6922
- ; CHECK-UNALIGNED-RV64-ZBB-NEXT: sub a2, a2, a0
6923
- ; CHECK-UNALIGNED-RV64-ZBB-NEXT: slti a0, a2, 0
6924
6910
; CHECK-UNALIGNED-RV64-ZBB-NEXT: xori a0, a0, 1
6925
6911
; CHECK-UNALIGNED-RV64-ZBB-NEXT: ret
6926
6912
;
@@ -6930,10 +6916,7 @@ define i1 @memcmp_ge_zero(ptr %s1, ptr %s2) nounwind {
6930
6916
; CHECK-UNALIGNED-RV32-ZBKB-NEXT: lw a1, 0(a1)
6931
6917
; CHECK-UNALIGNED-RV32-ZBKB-NEXT: rev8 a0, a0
6932
6918
; CHECK-UNALIGNED-RV32-ZBKB-NEXT: rev8 a1, a1
6933
- ; CHECK-UNALIGNED-RV32-ZBKB-NEXT: sltu a2, a1, a0
6934
6919
; CHECK-UNALIGNED-RV32-ZBKB-NEXT: sltu a0, a0, a1
6935
- ; CHECK-UNALIGNED-RV32-ZBKB-NEXT: sub a2, a2, a0
6936
- ; CHECK-UNALIGNED-RV32-ZBKB-NEXT: slti a0, a2, 0
6937
6920
; CHECK-UNALIGNED-RV32-ZBKB-NEXT: xori a0, a0, 1
6938
6921
; CHECK-UNALIGNED-RV32-ZBKB-NEXT: ret
6939
6922
;
@@ -6945,10 +6928,7 @@ define i1 @memcmp_ge_zero(ptr %s1, ptr %s2) nounwind {
6945
6928
; CHECK-UNALIGNED-RV64-ZBKB-NEXT: rev8 a1, a1
6946
6929
; CHECK-UNALIGNED-RV64-ZBKB-NEXT: srli a0, a0, 32
6947
6930
; CHECK-UNALIGNED-RV64-ZBKB-NEXT: srli a1, a1, 32
6948
- ; CHECK-UNALIGNED-RV64-ZBKB-NEXT: sltu a2, a1, a0
6949
6931
; CHECK-UNALIGNED-RV64-ZBKB-NEXT: sltu a0, a0, a1
6950
- ; CHECK-UNALIGNED-RV64-ZBKB-NEXT: sub a2, a2, a0
6951
- ; CHECK-UNALIGNED-RV64-ZBKB-NEXT: slti a0, a2, 0
6952
6932
; CHECK-UNALIGNED-RV64-ZBKB-NEXT: xori a0, a0, 1
6953
6933
; CHECK-UNALIGNED-RV64-ZBKB-NEXT: ret
6954
6934
;
0 commit comments