@@ -882,11 +882,10 @@ define void @load_zext_nneg_sext_cse(ptr %p) nounwind {
882
882
; RV32I-NEXT: addi sp, sp, -16
883
883
; RV32I-NEXT: sw ra, 12(sp) # 4-byte Folded Spill
884
884
; RV32I-NEXT: sw s0, 8(sp) # 4-byte Folded Spill
885
- ; RV32I-NEXT: lhu s0, 0(a0)
886
- ; RV32I-NEXT: slli a0, s0, 16
887
- ; RV32I-NEXT: bltz a0, .LBB50_2
885
+ ; RV32I-NEXT: lh s0, 0(a0)
886
+ ; RV32I-NEXT: bltz s0, .LBB50_2
888
887
; RV32I-NEXT: # %bb.1: # %bb1
889
- ; RV32I-NEXT: srai a0, a0, 16
888
+ ; RV32I-NEXT: mv a0, s0
890
889
; RV32I-NEXT: call bar_i16
891
890
; RV32I-NEXT: mv a0, s0
892
891
; RV32I-NEXT: lw ra, 12(sp) # 4-byte Folded Reload
@@ -899,48 +898,26 @@ define void @load_zext_nneg_sext_cse(ptr %p) nounwind {
899
898
; RV32I-NEXT: addi sp, sp, 16
900
899
; RV32I-NEXT: ret
901
900
;
902
- ; RV64I-LABEL: load_zext_nneg_sext_cse:
903
- ; RV64I: # %bb.0:
904
- ; RV64I-NEXT: addi sp, sp, -16
905
- ; RV64I-NEXT: sd ra, 8(sp) # 8-byte Folded Spill
906
- ; RV64I-NEXT: sd s0, 0(sp) # 8-byte Folded Spill
907
- ; RV64I-NEXT: lhu s0, 0(a0)
908
- ; RV64I-NEXT: slli a0, s0, 48
909
- ; RV64I-NEXT: bltz a0, .LBB50_2
910
- ; RV64I-NEXT: # %bb.1: # %bb1
911
- ; RV64I-NEXT: srai a0, a0, 48
912
- ; RV64I-NEXT: call bar_i16
913
- ; RV64I-NEXT: mv a0, s0
914
- ; RV64I-NEXT: ld ra, 8(sp) # 8-byte Folded Reload
915
- ; RV64I-NEXT: ld s0, 0(sp) # 8-byte Folded Reload
916
- ; RV64I-NEXT: addi sp, sp, 16
917
- ; RV64I-NEXT: tail bar_i32
918
- ; RV64I-NEXT: .LBB50_2: # %bb2
919
- ; RV64I-NEXT: ld ra, 8(sp) # 8-byte Folded Reload
920
- ; RV64I-NEXT: ld s0, 0(sp) # 8-byte Folded Reload
921
- ; RV64I-NEXT: addi sp, sp, 16
922
- ; RV64I-NEXT: ret
923
- ;
924
- ; RV64ZBB-LABEL: load_zext_nneg_sext_cse:
925
- ; RV64ZBB: # %bb.0:
926
- ; RV64ZBB-NEXT: addi sp, sp, -16
927
- ; RV64ZBB-NEXT: sd ra, 8(sp) # 8-byte Folded Spill
928
- ; RV64ZBB-NEXT: sd s0, 0(sp) # 8-byte Folded Spill
929
- ; RV64ZBB-NEXT: lhu s0, 0(a0)
930
- ; RV64ZBB-NEXT: sext.h a0, s0
931
- ; RV64ZBB-NEXT: bltz a0, .LBB50_2
932
- ; RV64ZBB-NEXT: # %bb.1: # %bb1
933
- ; RV64ZBB-NEXT: call bar_i16
934
- ; RV64ZBB-NEXT: mv a0, s0
935
- ; RV64ZBB-NEXT: ld ra, 8(sp) # 8-byte Folded Reload
936
- ; RV64ZBB-NEXT: ld s0, 0(sp) # 8-byte Folded Reload
937
- ; RV64ZBB-NEXT: addi sp, sp, 16
938
- ; RV64ZBB-NEXT: tail bar_i32
939
- ; RV64ZBB-NEXT: .LBB50_2: # %bb2
940
- ; RV64ZBB-NEXT: ld ra, 8(sp) # 8-byte Folded Reload
941
- ; RV64ZBB-NEXT: ld s0, 0(sp) # 8-byte Folded Reload
942
- ; RV64ZBB-NEXT: addi sp, sp, 16
943
- ; RV64ZBB-NEXT: ret
901
+ ; RV64-LABEL: load_zext_nneg_sext_cse:
902
+ ; RV64: # %bb.0:
903
+ ; RV64-NEXT: addi sp, sp, -16
904
+ ; RV64-NEXT: sd ra, 8(sp) # 8-byte Folded Spill
905
+ ; RV64-NEXT: sd s0, 0(sp) # 8-byte Folded Spill
906
+ ; RV64-NEXT: lh s0, 0(a0)
907
+ ; RV64-NEXT: bltz s0, .LBB50_2
908
+ ; RV64-NEXT: # %bb.1: # %bb1
909
+ ; RV64-NEXT: mv a0, s0
910
+ ; RV64-NEXT: call bar_i16
911
+ ; RV64-NEXT: mv a0, s0
912
+ ; RV64-NEXT: ld ra, 8(sp) # 8-byte Folded Reload
913
+ ; RV64-NEXT: ld s0, 0(sp) # 8-byte Folded Reload
914
+ ; RV64-NEXT: addi sp, sp, 16
915
+ ; RV64-NEXT: tail bar_i32
916
+ ; RV64-NEXT: .LBB50_2: # %bb2
917
+ ; RV64-NEXT: ld ra, 8(sp) # 8-byte Folded Reload
918
+ ; RV64-NEXT: ld s0, 0(sp) # 8-byte Folded Reload
919
+ ; RV64-NEXT: addi sp, sp, 16
920
+ ; RV64-NEXT: ret
944
921
%load = load i16 , ptr %p
945
922
%zext = zext nneg i16 %load to i32
946
923
%cmp = icmp sgt i16 %load , -1
0 commit comments