View | Details | Raw Unified | Return to bug 216770 | Differences between
and this patch

Collapse All | Expand All

(-)gdtoa_smisc.s (-26 / +37 lines)
Lines 134-140 __ratio_D2A: Link Here
134
	.cfi_def_cfa_register %rbp
134
	.cfi_def_cfa_register %rbp
135
	pushq	%r14
135
	pushq	%r14
136
	pushq	%rbx
136
	pushq	%rbx
137
	subq	$48, %rsp
137
	subq	$32, %rsp
138
.Lcfi11:
138
.Lcfi11:
139
	.cfi_offset %rbx, -32
139
	.cfi_offset %rbx, -32
140
.Lcfi12:
140
.Lcfi12:
Lines 143-186 __ratio_D2A: Link Here
143
	movq	%rdi, %rbx
143
	movq	%rdi, %rbx
144
	movq	__stack_chk_guard(%rip), %rax
144
	movq	__stack_chk_guard(%rip), %rax
145
	movq	%rax, -24(%rbp)
145
	movq	%rax, -24(%rbp)
146
	leaq	-44(%rbp), %rsi
146
	leaq	-28(%rbp), %rsi
147
	callq	__b2d_D2A
147
	callq	__b2d_D2A
148
	movsd	%xmm0, -56(%rbp)        # 8-byte Spill
148
	movsd	%xmm0, -40(%rbp)        # 8-byte Spill
149
	movsd	%xmm0, -32(%rbp)
149
	leaq	-32(%rbp), %rsi
150
	leaq	-48(%rbp), %rsi
151
	movq	%r14, %rdi
150
	movq	%r14, %rdi
152
	callq	__b2d_D2A
151
	callq	__b2d_D2A
153
	movsd	%xmm0, -40(%rbp)
152
	movl	-28(%rbp), %ecx
154
	movl	-44(%rbp), %eax
153
	subl	-32(%rbp), %ecx
155
	subl	-48(%rbp), %eax
154
	movl	20(%rbx), %eax
156
	movl	20(%rbx), %ecx
155
	subl	20(%r14), %eax
157
	subl	20(%r14), %ecx
156
	shll	$5, %eax
158
	shll	$5, %ecx
157
	addl	%ecx, %eax
158
	jle	.LBB1_2
159
# BB#1:                                 # %if.then
160
	shll	$20, %eax
161
	movq	-40(%rbp), %xmm1        # 8-byte Folded Reload
162
                                        # xmm1 = mem[0],zero
163
	movd	%xmm1, %rcx
164
	movl	%ecx, %edx
165
	shrq	$32, %rcx
159
	addl	%eax, %ecx
166
	addl	%eax, %ecx
160
	movl	%ecx, %eax
167
	shlq	$32, %rcx
161
	negl	%eax
168
	orq	%rcx, %rdx
162
	cmovll	%ecx, %eax
169
	movd	%rdx, %xmm1
163
	testl	%ecx, %ecx
170
	jmp	.LBB1_3
164
	leaq	-32(%rbp), %rcx
171
.LBB1_2:                                # %if.else
165
	leaq	-40(%rbp), %rdx
166
	cmovgq	%rcx, %rdx
167
	shll	$20, %eax
172
	shll	$20, %eax
168
	orq	$4, %rdx
173
	movd	%xmm0, %rcx
169
	addl	%eax, (%rdx)
174
	movl	%ecx, %edx
175
	shrq	$32, %rcx
176
	subl	%eax, %ecx
177
	shlq	$32, %rcx
178
	orq	%rcx, %rdx
179
	movd	%rdx, %xmm0
180
	movq	-40(%rbp), %xmm1        # 8-byte Folded Reload
181
                                        # xmm1 = mem[0],zero
182
.LBB1_3:                                # %if.end
170
	movq	__stack_chk_guard(%rip), %rax
183
	movq	__stack_chk_guard(%rip), %rax
171
	cmpq	-24(%rbp), %rax
184
	cmpq	-24(%rbp), %rax
172
	jne	.LBB1_2
185
	jne	.LBB1_5
173
# BB#1:                                 # %entry
186
# BB#4:                                 # %if.end
174
	movsd	-56(%rbp), %xmm1        # 8-byte Reload
175
                                        # xmm1 = mem[0],zero
176
	divsd	%xmm0, %xmm1
187
	divsd	%xmm0, %xmm1
177
	movapd	%xmm1, %xmm0
188
	movapd	%xmm1, %xmm0
178
	addq	$48, %rsp
189
	addq	$32, %rsp
179
	popq	%rbx
190
	popq	%rbx
180
	popq	%r14
191
	popq	%r14
181
	popq	%rbp
192
	popq	%rbp
182
	retq
193
	retq
183
.LBB1_2:                                # %entry
194
.LBB1_5:                                # %if.end
184
	callq	__stack_chk_fail
195
	callq	__stack_chk_fail
185
.Lfunc_end1:
196
.Lfunc_end1:
186
	.size	__ratio_D2A, .Lfunc_end1-__ratio_D2A
197
	.size	__ratio_D2A, .Lfunc_end1-__ratio_D2A

Return to bug 216770