Skip to content

Commit fa024a6

Browse files
author
kvp
committed
rebase
1 parent 9fe384b commit fa024a6

File tree

1 file changed

+28
-32
lines changed

1 file changed

+28
-32
lines changed

llvm/test/CodeGen/RISCV/div_minsize.ll

Lines changed: 28 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -72,38 +72,34 @@ define i32 @testsize4(i32 %x) minsize nounwind {
7272
define i128 @i128_sdiv(i128 %arg0) minsize nounwind {
7373
; RV32IM-LABEL: i128_sdiv:
7474
; RV32IM: # %bb.0:
75-
; RV32IM-NEXT: addi sp, sp, -64
76-
; RV32IM-NEXT: sw ra, 60(sp) # 4-byte Folded Spill
77-
; RV32IM-NEXT: sw s0, 56(sp) # 4-byte Folded Spill
78-
; RV32IM-NEXT: lw a3, 0(a1)
79-
; RV32IM-NEXT: lw a4, 4(a1)
80-
; RV32IM-NEXT: lw a5, 8(a1)
81-
; RV32IM-NEXT: lw a6, 12(a1)
82-
; RV32IM-NEXT: mv s0, a0
83-
; RV32IM-NEXT: li a7, 4
84-
; RV32IM-NEXT: addi a0, sp, 40
85-
; RV32IM-NEXT: addi a1, sp, 24
86-
; RV32IM-NEXT: addi a2, sp, 8
87-
; RV32IM-NEXT: sw a7, 8(sp)
88-
; RV32IM-NEXT: sw zero, 12(sp)
89-
; RV32IM-NEXT: sw zero, 16(sp)
90-
; RV32IM-NEXT: sw zero, 20(sp)
91-
; RV32IM-NEXT: sw a3, 24(sp)
92-
; RV32IM-NEXT: sw a4, 28(sp)
93-
; RV32IM-NEXT: sw a5, 32(sp)
94-
; RV32IM-NEXT: sw a6, 36(sp)
95-
; RV32IM-NEXT: call __divti3
96-
; RV32IM-NEXT: lw a0, 40(sp)
97-
; RV32IM-NEXT: lw a1, 44(sp)
98-
; RV32IM-NEXT: lw a2, 48(sp)
99-
; RV32IM-NEXT: lw a3, 52(sp)
100-
; RV32IM-NEXT: sw a0, 0(s0)
101-
; RV32IM-NEXT: sw a1, 4(s0)
102-
; RV32IM-NEXT: sw a2, 8(s0)
103-
; RV32IM-NEXT: sw a3, 12(s0)
104-
; RV32IM-NEXT: lw ra, 60(sp) # 4-byte Folded Reload
105-
; RV32IM-NEXT: lw s0, 56(sp) # 4-byte Folded Reload
106-
; RV32IM-NEXT: addi sp, sp, 64
75+
; RV32IM-NEXT: lw a2, 12(a1)
76+
; RV32IM-NEXT: lw a3, 8(a1)
77+
; RV32IM-NEXT: lw a4, 0(a1)
78+
; RV32IM-NEXT: lw a1, 4(a1)
79+
; RV32IM-NEXT: srai a5, a2, 31
80+
; RV32IM-NEXT: srli a5, a5, 30
81+
; RV32IM-NEXT: add a5, a4, a5
82+
; RV32IM-NEXT: sltu a4, a5, a4
83+
; RV32IM-NEXT: srli a5, a5, 2
84+
; RV32IM-NEXT: add a6, a1, a4
85+
; RV32IM-NEXT: sltu a1, a6, a1
86+
; RV32IM-NEXT: and a1, a4, a1
87+
; RV32IM-NEXT: srli a4, a6, 2
88+
; RV32IM-NEXT: slli a6, a6, 30
89+
; RV32IM-NEXT: or a5, a5, a6
90+
; RV32IM-NEXT: add a1, a3, a1
91+
; RV32IM-NEXT: srli a6, a1, 2
92+
; RV32IM-NEXT: sltu a3, a1, a3
93+
; RV32IM-NEXT: slli a1, a1, 30
94+
; RV32IM-NEXT: add a2, a2, a3
95+
; RV32IM-NEXT: or a1, a4, a1
96+
; RV32IM-NEXT: slli a3, a2, 30
97+
; RV32IM-NEXT: srai a2, a2, 2
98+
; RV32IM-NEXT: or a3, a6, a3
99+
; RV32IM-NEXT: sw a5, 0(a0)
100+
; RV32IM-NEXT: sw a1, 4(a0)
101+
; RV32IM-NEXT: sw a3, 8(a0)
102+
; RV32IM-NEXT: sw a2, 12(a0)
107103
; RV32IM-NEXT: ret
108104
;
109105
; RV64IM-LABEL: i128_sdiv:

0 commit comments

Comments
 (0)