|
@@ -159,7 +159,7 @@ define void @test_1024(i1024* %a, i1024* %b, i1024* %out) nounwind {
|
|
; X32-NEXT: pushl {{[0-9]+}}(%esp) # 4-byte Folded Reload
|
|
; X32-NEXT: pushl {{[0-9]+}}(%esp) # 4-byte Folded Reload
|
|
; X32-NEXT: pushl %esi
|
|
; X32-NEXT: pushl %esi
|
|
; X32-NEXT: movl %esi, %ebx
|
|
; X32-NEXT: movl %esi, %ebx
|
|
-; X32-NEXT: movl %ebx, {{[0-9]+}}(%esp) # 4-byte Spill
|
|
|
|
|
|
+; X32-NEXT: movl %esi, {{[0-9]+}}(%esp) # 4-byte Spill
|
|
; X32-NEXT: pushl %edi
|
|
; X32-NEXT: pushl %edi
|
|
; X32-NEXT: movl %edi, {{[0-9]+}}(%esp) # 4-byte Spill
|
|
; X32-NEXT: movl %edi, {{[0-9]+}}(%esp) # 4-byte Spill
|
|
; X32-NEXT: pushl {{[0-9]+}}(%esp) # 4-byte Folded Reload
|
|
; X32-NEXT: pushl {{[0-9]+}}(%esp) # 4-byte Folded Reload
|
|
@@ -752,7 +752,7 @@ define void @test_1024(i1024* %a, i1024* %b, i1024* %out) nounwind {
|
|
; X32-NEXT: pushl $0
|
|
; X32-NEXT: pushl $0
|
|
; X32-NEXT: pushl %edi
|
|
; X32-NEXT: pushl %edi
|
|
; X32-NEXT: movl %ebx, %esi
|
|
; X32-NEXT: movl %ebx, %esi
|
|
-; X32-NEXT: pushl %esi
|
|
|
|
|
|
+; X32-NEXT: pushl %ebx
|
|
; X32-NEXT: pushl $0
|
|
; X32-NEXT: pushl $0
|
|
; X32-NEXT: pushl $0
|
|
; X32-NEXT: pushl $0
|
|
; X32-NEXT: pushl {{[0-9]+}}(%esp) # 4-byte Folded Reload
|
|
; X32-NEXT: pushl {{[0-9]+}}(%esp) # 4-byte Folded Reload
|
|
@@ -898,7 +898,6 @@ define void @test_1024(i1024* %a, i1024* %b, i1024* %out) nounwind {
|
|
; X32-NEXT: pushl $0
|
|
; X32-NEXT: pushl $0
|
|
; X32-NEXT: pushl $0
|
|
; X32-NEXT: pushl $0
|
|
; X32-NEXT: pushl %edi
|
|
; X32-NEXT: pushl %edi
|
|
-; X32-NEXT: movl %edi, %ebx
|
|
|
|
; X32-NEXT: pushl %esi
|
|
; X32-NEXT: pushl %esi
|
|
; X32-NEXT: pushl $0
|
|
; X32-NEXT: pushl $0
|
|
; X32-NEXT: pushl $0
|
|
; X32-NEXT: pushl $0
|
|
@@ -910,7 +909,7 @@ define void @test_1024(i1024* %a, i1024* %b, i1024* %out) nounwind {
|
|
; X32-NEXT: leal {{[0-9]+}}(%esp), %eax
|
|
; X32-NEXT: leal {{[0-9]+}}(%esp), %eax
|
|
; X32-NEXT: pushl $0
|
|
; X32-NEXT: pushl $0
|
|
; X32-NEXT: pushl $0
|
|
; X32-NEXT: pushl $0
|
|
-; X32-NEXT: pushl %ebx
|
|
|
|
|
|
+; X32-NEXT: pushl %edi
|
|
; X32-NEXT: pushl %esi
|
|
; X32-NEXT: pushl %esi
|
|
; X32-NEXT: pushl $0
|
|
; X32-NEXT: pushl $0
|
|
; X32-NEXT: pushl $0
|
|
; X32-NEXT: pushl $0
|
|
@@ -1365,7 +1364,7 @@ define void @test_1024(i1024* %a, i1024* %b, i1024* %out) nounwind {
|
|
; X32-NEXT: pushl $0
|
|
; X32-NEXT: pushl $0
|
|
; X32-NEXT: pushl $0
|
|
; X32-NEXT: pushl $0
|
|
; X32-NEXT: movl %edi, %ebx
|
|
; X32-NEXT: movl %edi, %ebx
|
|
-; X32-NEXT: pushl %ebx
|
|
|
|
|
|
+; X32-NEXT: pushl %edi
|
|
; X32-NEXT: movl {{[0-9]+}}(%esp), %esi # 4-byte Reload
|
|
; X32-NEXT: movl {{[0-9]+}}(%esp), %esi # 4-byte Reload
|
|
; X32-NEXT: pushl %esi
|
|
; X32-NEXT: pushl %esi
|
|
; X32-NEXT: pushl $0
|
|
; X32-NEXT: pushl $0
|
|
@@ -2442,7 +2441,7 @@ define void @test_1024(i1024* %a, i1024* %b, i1024* %out) nounwind {
|
|
; X32-NEXT: movl %edx, {{[0-9]+}}(%esp) # 4-byte Spill
|
|
; X32-NEXT: movl %edx, {{[0-9]+}}(%esp) # 4-byte Spill
|
|
; X32-NEXT: adcl %edi, %eax
|
|
; X32-NEXT: adcl %edi, %eax
|
|
; X32-NEXT: movl %eax, %esi
|
|
; X32-NEXT: movl %eax, %esi
|
|
-; X32-NEXT: movl %esi, {{[0-9]+}}(%esp) # 4-byte Spill
|
|
|
|
|
|
+; X32-NEXT: movl %eax, {{[0-9]+}}(%esp) # 4-byte Spill
|
|
; X32-NEXT: movl {{[0-9]+}}(%esp), %eax # 4-byte Reload
|
|
; X32-NEXT: movl {{[0-9]+}}(%esp), %eax # 4-byte Reload
|
|
; X32-NEXT: addl %eax, {{[0-9]+}}(%esp) # 4-byte Folded Spill
|
|
; X32-NEXT: addl %eax, {{[0-9]+}}(%esp) # 4-byte Folded Spill
|
|
; X32-NEXT: movl {{[0-9]+}}(%esp), %eax # 4-byte Reload
|
|
; X32-NEXT: movl {{[0-9]+}}(%esp), %eax # 4-byte Reload
|
|
@@ -4265,7 +4264,6 @@ define void @test_1024(i1024* %a, i1024* %b, i1024* %out) nounwind {
|
|
; X64-NEXT: adcq $0, %rbp
|
|
; X64-NEXT: adcq $0, %rbp
|
|
; X64-NEXT: addq %rcx, %rbx
|
|
; X64-NEXT: addq %rcx, %rbx
|
|
; X64-NEXT: movq %rbx, -{{[0-9]+}}(%rsp) # 8-byte Spill
|
|
; X64-NEXT: movq %rbx, -{{[0-9]+}}(%rsp) # 8-byte Spill
|
|
-; X64-NEXT: movq %rcx, %r11
|
|
|
|
; X64-NEXT: adcq %rdi, %rbp
|
|
; X64-NEXT: adcq %rdi, %rbp
|
|
; X64-NEXT: setb %bl
|
|
; X64-NEXT: setb %bl
|
|
; X64-NEXT: movzbl %bl, %ebx
|
|
; X64-NEXT: movzbl %bl, %ebx
|
|
@@ -4275,12 +4273,12 @@ define void @test_1024(i1024* %a, i1024* %b, i1024* %out) nounwind {
|
|
; X64-NEXT: mulq %r8
|
|
; X64-NEXT: mulq %r8
|
|
; X64-NEXT: movq %rax, {{[0-9]+}}(%rsp) # 8-byte Spill
|
|
; X64-NEXT: movq %rax, {{[0-9]+}}(%rsp) # 8-byte Spill
|
|
; X64-NEXT: movq %rdx, {{[0-9]+}}(%rsp) # 8-byte Spill
|
|
; X64-NEXT: movq %rdx, {{[0-9]+}}(%rsp) # 8-byte Spill
|
|
-; X64-NEXT: movq %r11, %r12
|
|
|
|
-; X64-NEXT: movq %r11, %r8
|
|
|
|
|
|
+; X64-NEXT: movq %rcx, %r12
|
|
|
|
+; X64-NEXT: movq %rcx, %r8
|
|
; X64-NEXT: addq %rax, %r12
|
|
; X64-NEXT: addq %rax, %r12
|
|
; X64-NEXT: movq %rdi, %rax
|
|
; X64-NEXT: movq %rdi, %rax
|
|
; X64-NEXT: movq %rdi, %r9
|
|
; X64-NEXT: movq %rdi, %r9
|
|
-; X64-NEXT: movq %r9, (%rsp) # 8-byte Spill
|
|
|
|
|
|
+; X64-NEXT: movq %rdi, (%rsp) # 8-byte Spill
|
|
; X64-NEXT: adcq %rdx, %rax
|
|
; X64-NEXT: adcq %rdx, %rax
|
|
; X64-NEXT: addq %rbp, %r12
|
|
; X64-NEXT: addq %rbp, %r12
|
|
; X64-NEXT: movq %r12, {{[0-9]+}}(%rsp) # 8-byte Spill
|
|
; X64-NEXT: movq %r12, {{[0-9]+}}(%rsp) # 8-byte Spill
|
|
@@ -4309,7 +4307,7 @@ define void @test_1024(i1024* %a, i1024* %b, i1024* %out) nounwind {
|
|
; X64-NEXT: adcq %rdx, %rbx
|
|
; X64-NEXT: adcq %rdx, %rbx
|
|
; X64-NEXT: movq 16(%rsi), %rax
|
|
; X64-NEXT: movq 16(%rsi), %rax
|
|
; X64-NEXT: movq %rsi, %r13
|
|
; X64-NEXT: movq %rsi, %r13
|
|
-; X64-NEXT: movq %r13, {{[0-9]+}}(%rsp) # 8-byte Spill
|
|
|
|
|
|
+; X64-NEXT: movq %rsi, {{[0-9]+}}(%rsp) # 8-byte Spill
|
|
; X64-NEXT: movq %rax, -{{[0-9]+}}(%rsp) # 8-byte Spill
|
|
; X64-NEXT: movq %rax, -{{[0-9]+}}(%rsp) # 8-byte Spill
|
|
; X64-NEXT: mulq %r11
|
|
; X64-NEXT: mulq %r11
|
|
; X64-NEXT: movq %rax, -{{[0-9]+}}(%rsp) # 8-byte Spill
|
|
; X64-NEXT: movq %rax, -{{[0-9]+}}(%rsp) # 8-byte Spill
|
|
@@ -4322,7 +4320,7 @@ define void @test_1024(i1024* %a, i1024* %b, i1024* %out) nounwind {
|
|
; X64-NEXT: adcq %rbx, %r11
|
|
; X64-NEXT: adcq %rbx, %r11
|
|
; X64-NEXT: movq %r8, %rax
|
|
; X64-NEXT: movq %r8, %rax
|
|
; X64-NEXT: movq %r8, %rbp
|
|
; X64-NEXT: movq %r8, %rbp
|
|
-; X64-NEXT: movq %rbp, -{{[0-9]+}}(%rsp) # 8-byte Spill
|
|
|
|
|
|
+; X64-NEXT: movq %r8, -{{[0-9]+}}(%rsp) # 8-byte Spill
|
|
; X64-NEXT: addq %rdi, %rax
|
|
; X64-NEXT: addq %rdi, %rax
|
|
; X64-NEXT: movq %r9, %rax
|
|
; X64-NEXT: movq %r9, %rax
|
|
; X64-NEXT: adcq %rcx, %rax
|
|
; X64-NEXT: adcq %rcx, %rax
|
|
@@ -4334,8 +4332,7 @@ define void @test_1024(i1024* %a, i1024* %b, i1024* %out) nounwind {
|
|
; X64-NEXT: movq %rdx, %rsi
|
|
; X64-NEXT: movq %rdx, %rsi
|
|
; X64-NEXT: movq %rax, %rbx
|
|
; X64-NEXT: movq %rax, %rbx
|
|
; X64-NEXT: addq %rdi, %rax
|
|
; X64-NEXT: addq %rdi, %rax
|
|
-; X64-NEXT: movq %rdi, %r9
|
|
|
|
-; X64-NEXT: movq %rsi, %rax
|
|
|
|
|
|
+; X64-NEXT: movq %rdx, %rax
|
|
; X64-NEXT: adcq %rcx, %rax
|
|
; X64-NEXT: adcq %rcx, %rax
|
|
; X64-NEXT: movq %rax, {{[0-9]+}}(%rsp) # 8-byte Spill
|
|
; X64-NEXT: movq %rax, {{[0-9]+}}(%rsp) # 8-byte Spill
|
|
; X64-NEXT: movq 32(%r13), %rax
|
|
; X64-NEXT: movq 32(%r13), %rax
|
|
@@ -4351,9 +4348,10 @@ define void @test_1024(i1024* %a, i1024* %b, i1024* %out) nounwind {
|
|
; X64-NEXT: adcq %rdx, %rax
|
|
; X64-NEXT: adcq %rdx, %rax
|
|
; X64-NEXT: movq %rax, {{[0-9]+}}(%rsp) # 8-byte Spill
|
|
; X64-NEXT: movq %rax, {{[0-9]+}}(%rsp) # 8-byte Spill
|
|
; X64-NEXT: movq %rbp, %rax
|
|
; X64-NEXT: movq %rbp, %rax
|
|
-; X64-NEXT: addq %r9, %rax
|
|
|
|
|
|
+; X64-NEXT: addq %rdi, %rax
|
|
; X64-NEXT: movq %rax, -{{[0-9]+}}(%rsp) # 8-byte Spill
|
|
; X64-NEXT: movq %rax, -{{[0-9]+}}(%rsp) # 8-byte Spill
|
|
-; X64-NEXT: movq %r9, {{[0-9]+}}(%rsp) # 8-byte Spill
|
|
|
|
|
|
+; X64-NEXT: movq %rdi, %r9
|
|
|
|
+; X64-NEXT: movq %rdi, {{[0-9]+}}(%rsp) # 8-byte Spill
|
|
; X64-NEXT: movq -{{[0-9]+}}(%rsp), %rax # 8-byte Reload
|
|
; X64-NEXT: movq -{{[0-9]+}}(%rsp), %rax # 8-byte Reload
|
|
; X64-NEXT: adcq %r15, %rax
|
|
; X64-NEXT: adcq %r15, %rax
|
|
; X64-NEXT: movq %rax, -{{[0-9]+}}(%rsp) # 8-byte Spill
|
|
; X64-NEXT: movq %rax, -{{[0-9]+}}(%rsp) # 8-byte Spill
|
|
@@ -4371,7 +4369,7 @@ define void @test_1024(i1024* %a, i1024* %b, i1024* %out) nounwind {
|
|
; X64-NEXT: addq %rsi, %r11
|
|
; X64-NEXT: addq %rsi, %r11
|
|
; X64-NEXT: movq %rdx, %rbp
|
|
; X64-NEXT: movq %rdx, %rbp
|
|
; X64-NEXT: adcq $0, %rbp
|
|
; X64-NEXT: adcq $0, %rbp
|
|
-; X64-NEXT: addq %rcx, %r11
|
|
|
|
|
|
+; X64-NEXT: addq %rbx, %r11
|
|
; X64-NEXT: adcq %rsi, %rbp
|
|
; X64-NEXT: adcq %rsi, %rbp
|
|
; X64-NEXT: movq %rsi, {{[0-9]+}}(%rsp) # 8-byte Spill
|
|
; X64-NEXT: movq %rsi, {{[0-9]+}}(%rsp) # 8-byte Spill
|
|
; X64-NEXT: setb %bl
|
|
; X64-NEXT: setb %bl
|
|
@@ -4392,11 +4390,11 @@ define void @test_1024(i1024* %a, i1024* %b, i1024* %out) nounwind {
|
|
; X64-NEXT: adcq %rbx, %r10
|
|
; X64-NEXT: adcq %rbx, %r10
|
|
; X64-NEXT: movq %rcx, %rdx
|
|
; X64-NEXT: movq %rcx, %rdx
|
|
; X64-NEXT: movq %rcx, %r12
|
|
; X64-NEXT: movq %rcx, %r12
|
|
-; X64-NEXT: movq %r12, {{[0-9]+}}(%rsp) # 8-byte Spill
|
|
|
|
|
|
+; X64-NEXT: movq %rcx, {{[0-9]+}}(%rsp) # 8-byte Spill
|
|
; X64-NEXT: addq %r9, %rdx
|
|
; X64-NEXT: addq %r9, %rdx
|
|
; X64-NEXT: movq %rdx, -{{[0-9]+}}(%rsp) # 8-byte Spill
|
|
; X64-NEXT: movq %rdx, -{{[0-9]+}}(%rsp) # 8-byte Spill
|
|
; X64-NEXT: movq %r11, %r8
|
|
; X64-NEXT: movq %r11, %r8
|
|
-; X64-NEXT: adcq %r8, %r15
|
|
|
|
|
|
+; X64-NEXT: adcq %r11, %r15
|
|
; X64-NEXT: movq %r15, {{[0-9]+}}(%rsp) # 8-byte Spill
|
|
; X64-NEXT: movq %r15, {{[0-9]+}}(%rsp) # 8-byte Spill
|
|
; X64-NEXT: adcq %rax, %r14
|
|
; X64-NEXT: adcq %rax, %r14
|
|
; X64-NEXT: movq %r14, {{[0-9]+}}(%rsp) # 8-byte Spill
|
|
; X64-NEXT: movq %r14, {{[0-9]+}}(%rsp) # 8-byte Spill
|
|
@@ -4492,13 +4490,12 @@ define void @test_1024(i1024* %a, i1024* %b, i1024* %out) nounwind {
|
|
; X64-NEXT: adcq %rdx, %r12
|
|
; X64-NEXT: adcq %rdx, %r12
|
|
; X64-NEXT: movq {{[0-9]+}}(%rsp), %rcx # 8-byte Reload
|
|
; X64-NEXT: movq {{[0-9]+}}(%rsp), %rcx # 8-byte Reload
|
|
; X64-NEXT: movq %rcx, %rax
|
|
; X64-NEXT: movq %rcx, %rax
|
|
-; X64-NEXT: movq %r10, %rbp
|
|
|
|
-; X64-NEXT: mulq %rbp
|
|
|
|
|
|
+; X64-NEXT: mulq %r10
|
|
; X64-NEXT: movq %rdx, %rsi
|
|
; X64-NEXT: movq %rdx, %rsi
|
|
; X64-NEXT: movq %rax, {{[0-9]+}}(%rsp) # 8-byte Spill
|
|
; X64-NEXT: movq %rax, {{[0-9]+}}(%rsp) # 8-byte Spill
|
|
; X64-NEXT: movq {{[0-9]+}}(%rsp), %rdi # 8-byte Reload
|
|
; X64-NEXT: movq {{[0-9]+}}(%rsp), %rdi # 8-byte Reload
|
|
; X64-NEXT: movq %rdi, %rax
|
|
; X64-NEXT: movq %rdi, %rax
|
|
-; X64-NEXT: mulq %rbp
|
|
|
|
|
|
+; X64-NEXT: mulq %r10
|
|
; X64-NEXT: movq %rdx, %rbp
|
|
; X64-NEXT: movq %rdx, %rbp
|
|
; X64-NEXT: movq %rax, %rbx
|
|
; X64-NEXT: movq %rax, %rbx
|
|
; X64-NEXT: addq %rsi, %rbx
|
|
; X64-NEXT: addq %rsi, %rbx
|
|
@@ -4525,7 +4522,7 @@ define void @test_1024(i1024* %a, i1024* %b, i1024* %out) nounwind {
|
|
; X64-NEXT: adcq $0, %r15
|
|
; X64-NEXT: adcq $0, %r15
|
|
; X64-NEXT: adcq $0, %r12
|
|
; X64-NEXT: adcq $0, %r12
|
|
; X64-NEXT: movq %r10, %rbx
|
|
; X64-NEXT: movq %r10, %rbx
|
|
-; X64-NEXT: movq %rbx, %rax
|
|
|
|
|
|
+; X64-NEXT: movq %r10, %rax
|
|
; X64-NEXT: movq -{{[0-9]+}}(%rsp), %r11 # 8-byte Reload
|
|
; X64-NEXT: movq -{{[0-9]+}}(%rsp), %r11 # 8-byte Reload
|
|
; X64-NEXT: mulq %r11
|
|
; X64-NEXT: mulq %r11
|
|
; X64-NEXT: movq %rdx, %rcx
|
|
; X64-NEXT: movq %rdx, %rcx
|
|
@@ -4542,7 +4539,7 @@ define void @test_1024(i1024* %a, i1024* %b, i1024* %out) nounwind {
|
|
; X64-NEXT: movq %rbx, %rax
|
|
; X64-NEXT: movq %rbx, %rax
|
|
; X64-NEXT: mulq %rcx
|
|
; X64-NEXT: mulq %rcx
|
|
; X64-NEXT: movq %rcx, %rbx
|
|
; X64-NEXT: movq %rcx, %rbx
|
|
-; X64-NEXT: movq %rbx, -{{[0-9]+}}(%rsp) # 8-byte Spill
|
|
|
|
|
|
+; X64-NEXT: movq %rcx, -{{[0-9]+}}(%rsp) # 8-byte Spill
|
|
; X64-NEXT: movq %rdx, %rcx
|
|
; X64-NEXT: movq %rdx, %rcx
|
|
; X64-NEXT: movq %rax, %r8
|
|
; X64-NEXT: movq %rax, %r8
|
|
; X64-NEXT: addq %rbp, %r8
|
|
; X64-NEXT: addq %rbp, %r8
|
|
@@ -4573,7 +4570,7 @@ define void @test_1024(i1024* %a, i1024* %b, i1024* %out) nounwind {
|
|
; X64-NEXT: movq {{[0-9]+}}(%rsp), %rcx # 8-byte Reload
|
|
; X64-NEXT: movq {{[0-9]+}}(%rsp), %rcx # 8-byte Reload
|
|
; X64-NEXT: movq %rcx, %rax
|
|
; X64-NEXT: movq %rcx, %rax
|
|
; X64-NEXT: movq %r11, %rsi
|
|
; X64-NEXT: movq %r11, %rsi
|
|
-; X64-NEXT: mulq %rsi
|
|
|
|
|
|
+; X64-NEXT: mulq %r11
|
|
; X64-NEXT: movq %rdx, %r11
|
|
; X64-NEXT: movq %rdx, %r11
|
|
; X64-NEXT: movq %rax, %r13
|
|
; X64-NEXT: movq %rax, %r13
|
|
; X64-NEXT: movq -{{[0-9]+}}(%rsp), %r12 # 8-byte Reload
|
|
; X64-NEXT: movq -{{[0-9]+}}(%rsp), %r12 # 8-byte Reload
|
|
@@ -4653,13 +4650,12 @@ define void @test_1024(i1024* %a, i1024* %b, i1024* %out) nounwind {
|
|
; X64-NEXT: adcq %rdx, %r10
|
|
; X64-NEXT: adcq %rdx, %r10
|
|
; X64-NEXT: movq {{[0-9]+}}(%rsp), %rcx # 8-byte Reload
|
|
; X64-NEXT: movq {{[0-9]+}}(%rsp), %rcx # 8-byte Reload
|
|
; X64-NEXT: movq %rcx, %rax
|
|
; X64-NEXT: movq %rcx, %rax
|
|
-; X64-NEXT: movq %r11, %rbp
|
|
|
|
-; X64-NEXT: mulq %rbp
|
|
|
|
|
|
+; X64-NEXT: mulq %r11
|
|
; X64-NEXT: movq %rdx, %rdi
|
|
; X64-NEXT: movq %rdx, %rdi
|
|
; X64-NEXT: movq %rax, {{[0-9]+}}(%rsp) # 8-byte Spill
|
|
; X64-NEXT: movq %rax, {{[0-9]+}}(%rsp) # 8-byte Spill
|
|
; X64-NEXT: movq {{[0-9]+}}(%rsp), %rsi # 8-byte Reload
|
|
; X64-NEXT: movq {{[0-9]+}}(%rsp), %rsi # 8-byte Reload
|
|
; X64-NEXT: movq %rsi, %rax
|
|
; X64-NEXT: movq %rsi, %rax
|
|
-; X64-NEXT: mulq %rbp
|
|
|
|
|
|
+; X64-NEXT: mulq %r11
|
|
; X64-NEXT: movq %rdx, %rbp
|
|
; X64-NEXT: movq %rdx, %rbp
|
|
; X64-NEXT: movq %rax, %rbx
|
|
; X64-NEXT: movq %rax, %rbx
|
|
; X64-NEXT: addq %rdi, %rbx
|
|
; X64-NEXT: addq %rdi, %rbx
|
|
@@ -4789,7 +4785,7 @@ define void @test_1024(i1024* %a, i1024* %b, i1024* %out) nounwind {
|
|
; X64-NEXT: movq %rdx, %rsi
|
|
; X64-NEXT: movq %rdx, %rsi
|
|
; X64-NEXT: movq %rax, %r14
|
|
; X64-NEXT: movq %rax, %r14
|
|
; X64-NEXT: movq %r8, %rbp
|
|
; X64-NEXT: movq %r8, %rbp
|
|
-; X64-NEXT: movq %rbp, %rax
|
|
|
|
|
|
+; X64-NEXT: movq %r8, %rax
|
|
; X64-NEXT: mulq %rcx
|
|
; X64-NEXT: mulq %rcx
|
|
; X64-NEXT: movq %rcx, %r11
|
|
; X64-NEXT: movq %rcx, %r11
|
|
; X64-NEXT: movq %rdx, %rbx
|
|
; X64-NEXT: movq %rdx, %rbx
|
|
@@ -4849,7 +4845,7 @@ define void @test_1024(i1024* %a, i1024* %b, i1024* %out) nounwind {
|
|
; X64-NEXT: adcq $0, %r9
|
|
; X64-NEXT: adcq $0, %r9
|
|
; X64-NEXT: adcq $0, %r10
|
|
; X64-NEXT: adcq $0, %r10
|
|
; X64-NEXT: movq %rbp, %rsi
|
|
; X64-NEXT: movq %rbp, %rsi
|
|
-; X64-NEXT: movq %rsi, %rax
|
|
|
|
|
|
+; X64-NEXT: movq %rbp, %rax
|
|
; X64-NEXT: movq -{{[0-9]+}}(%rsp), %rcx # 8-byte Reload
|
|
; X64-NEXT: movq -{{[0-9]+}}(%rsp), %rcx # 8-byte Reload
|
|
; X64-NEXT: mulq %rcx
|
|
; X64-NEXT: mulq %rcx
|
|
; X64-NEXT: movq %rdx, %r14
|
|
; X64-NEXT: movq %rdx, %r14
|
|
@@ -4906,8 +4902,8 @@ define void @test_1024(i1024* %a, i1024* %b, i1024* %out) nounwind {
|
|
; X64-NEXT: adcq $0, %r15
|
|
; X64-NEXT: adcq $0, %r15
|
|
; X64-NEXT: movq %rbp, %rax
|
|
; X64-NEXT: movq %rbp, %rax
|
|
; X64-NEXT: movq %r8, %rdi
|
|
; X64-NEXT: movq %r8, %rdi
|
|
-; X64-NEXT: movq %rdi, {{[0-9]+}}(%rsp) # 8-byte Spill
|
|
|
|
-; X64-NEXT: mulq %rdi
|
|
|
|
|
|
+; X64-NEXT: movq %r8, {{[0-9]+}}(%rsp) # 8-byte Spill
|
|
|
|
+; X64-NEXT: mulq %r8
|
|
; X64-NEXT: movq %rdx, %r9
|
|
; X64-NEXT: movq %rdx, %r9
|
|
; X64-NEXT: movq %rax, %r8
|
|
; X64-NEXT: movq %rax, %r8
|
|
; X64-NEXT: addq %rbx, %r8
|
|
; X64-NEXT: addq %rbx, %r8
|
|
@@ -4990,13 +4986,12 @@ define void @test_1024(i1024* %a, i1024* %b, i1024* %out) nounwind {
|
|
; X64-NEXT: movq %rcx, %r14
|
|
; X64-NEXT: movq %rcx, %r14
|
|
; X64-NEXT: movq {{[0-9]+}}(%rsp), %rcx # 8-byte Reload
|
|
; X64-NEXT: movq {{[0-9]+}}(%rsp), %rcx # 8-byte Reload
|
|
; X64-NEXT: movq %rcx, %rax
|
|
; X64-NEXT: movq %rcx, %rax
|
|
-; X64-NEXT: movq %r10, %rdi
|
|
|
|
-; X64-NEXT: mulq %rdi
|
|
|
|
|
|
+; X64-NEXT: mulq %r10
|
|
; X64-NEXT: movq %rdx, %r11
|
|
; X64-NEXT: movq %rdx, %r11
|
|
; X64-NEXT: movq %rax, {{[0-9]+}}(%rsp) # 8-byte Spill
|
|
; X64-NEXT: movq %rax, {{[0-9]+}}(%rsp) # 8-byte Spill
|
|
; X64-NEXT: movq {{[0-9]+}}(%rsp), %rsi # 8-byte Reload
|
|
; X64-NEXT: movq {{[0-9]+}}(%rsp), %rsi # 8-byte Reload
|
|
; X64-NEXT: movq %rsi, %rax
|
|
; X64-NEXT: movq %rsi, %rax
|
|
-; X64-NEXT: mulq %rdi
|
|
|
|
|
|
+; X64-NEXT: mulq %r10
|
|
; X64-NEXT: movq %rdx, %rdi
|
|
; X64-NEXT: movq %rdx, %rdi
|
|
; X64-NEXT: movq %rax, %rbx
|
|
; X64-NEXT: movq %rax, %rbx
|
|
; X64-NEXT: addq %r11, %rbx
|
|
; X64-NEXT: addq %r11, %rbx
|
|
@@ -5024,8 +5019,7 @@ define void @test_1024(i1024* %a, i1024* %b, i1024* %out) nounwind {
|
|
; X64-NEXT: movq %r8, -{{[0-9]+}}(%rsp) # 8-byte Spill
|
|
; X64-NEXT: movq %r8, -{{[0-9]+}}(%rsp) # 8-byte Spill
|
|
; X64-NEXT: adcq $0, %r14
|
|
; X64-NEXT: adcq $0, %r14
|
|
; X64-NEXT: movq %r14, -{{[0-9]+}}(%rsp) # 8-byte Spill
|
|
; X64-NEXT: movq %r14, -{{[0-9]+}}(%rsp) # 8-byte Spill
|
|
-; X64-NEXT: movq %r13, %rbx
|
|
|
|
-; X64-NEXT: movq %rbx, %rax
|
|
|
|
|
|
+; X64-NEXT: movq %r13, %rax
|
|
; X64-NEXT: movq -{{[0-9]+}}(%rsp), %rcx # 8-byte Reload
|
|
; X64-NEXT: movq -{{[0-9]+}}(%rsp), %rcx # 8-byte Reload
|
|
; X64-NEXT: mulq %rcx
|
|
; X64-NEXT: mulq %rcx
|
|
; X64-NEXT: movq %rdx, %r8
|
|
; X64-NEXT: movq %rdx, %r8
|
|
@@ -5038,7 +5032,7 @@ define void @test_1024(i1024* %a, i1024* %b, i1024* %out) nounwind {
|
|
; X64-NEXT: movq %rax, %rcx
|
|
; X64-NEXT: movq %rax, %rcx
|
|
; X64-NEXT: addq %r8, %rcx
|
|
; X64-NEXT: addq %r8, %rcx
|
|
; X64-NEXT: adcq $0, %rsi
|
|
; X64-NEXT: adcq $0, %rsi
|
|
-; X64-NEXT: movq %rbx, %rax
|
|
|
|
|
|
+; X64-NEXT: movq %r13, %rax
|
|
; X64-NEXT: movq {{[0-9]+}}(%rsp), %r13 # 8-byte Reload
|
|
; X64-NEXT: movq {{[0-9]+}}(%rsp), %r13 # 8-byte Reload
|
|
; X64-NEXT: mulq %r13
|
|
; X64-NEXT: mulq %r13
|
|
; X64-NEXT: movq %rdx, %rbx
|
|
; X64-NEXT: movq %rdx, %rbx
|
|
@@ -5072,13 +5066,12 @@ define void @test_1024(i1024* %a, i1024* %b, i1024* %out) nounwind {
|
|
; X64-NEXT: setb -{{[0-9]+}}(%rsp) # 1-byte Folded Spill
|
|
; X64-NEXT: setb -{{[0-9]+}}(%rsp) # 1-byte Folded Spill
|
|
; X64-NEXT: movq {{[0-9]+}}(%rsp), %rbx # 8-byte Reload
|
|
; X64-NEXT: movq {{[0-9]+}}(%rsp), %rbx # 8-byte Reload
|
|
; X64-NEXT: movq %rbx, %rax
|
|
; X64-NEXT: movq %rbx, %rax
|
|
-; X64-NEXT: movq %r10, %rsi
|
|
|
|
-; X64-NEXT: mulq %rsi
|
|
|
|
|
|
+; X64-NEXT: mulq %r10
|
|
; X64-NEXT: movq %rdx, %rcx
|
|
; X64-NEXT: movq %rdx, %rcx
|
|
; X64-NEXT: movq %rax, -{{[0-9]+}}(%rsp) # 8-byte Spill
|
|
; X64-NEXT: movq %rax, -{{[0-9]+}}(%rsp) # 8-byte Spill
|
|
; X64-NEXT: movq -{{[0-9]+}}(%rsp), %r8 # 8-byte Reload
|
|
; X64-NEXT: movq -{{[0-9]+}}(%rsp), %r8 # 8-byte Reload
|
|
; X64-NEXT: movq %r8, %rax
|
|
; X64-NEXT: movq %r8, %rax
|
|
-; X64-NEXT: mulq %rsi
|
|
|
|
|
|
+; X64-NEXT: mulq %r10
|
|
; X64-NEXT: movq %rdx, %rsi
|
|
; X64-NEXT: movq %rdx, %rsi
|
|
; X64-NEXT: movq %rax, %rdi
|
|
; X64-NEXT: movq %rax, %rdi
|
|
; X64-NEXT: addq %rcx, %rdi
|
|
; X64-NEXT: addq %rcx, %rdi
|
|
@@ -5154,7 +5147,7 @@ define void @test_1024(i1024* %a, i1024* %b, i1024* %out) nounwind {
|
|
; X64-NEXT: movq %r9, %rax
|
|
; X64-NEXT: movq %r9, %rax
|
|
; X64-NEXT: mulq %rcx
|
|
; X64-NEXT: mulq %rcx
|
|
; X64-NEXT: movq %rcx, %r10
|
|
; X64-NEXT: movq %rcx, %r10
|
|
-; X64-NEXT: movq %r10, -{{[0-9]+}}(%rsp) # 8-byte Spill
|
|
|
|
|
|
+; X64-NEXT: movq %rcx, -{{[0-9]+}}(%rsp) # 8-byte Spill
|
|
; X64-NEXT: movq %rdx, %rcx
|
|
; X64-NEXT: movq %rdx, %rcx
|
|
; X64-NEXT: movq %rax, %rdi
|
|
; X64-NEXT: movq %rax, %rdi
|
|
; X64-NEXT: addq %rsi, %rdi
|
|
; X64-NEXT: addq %rsi, %rdi
|
|
@@ -5166,16 +5159,16 @@ define void @test_1024(i1024* %a, i1024* %b, i1024* %out) nounwind {
|
|
; X64-NEXT: movq %rax, %rbx
|
|
; X64-NEXT: movq %rax, %rbx
|
|
; X64-NEXT: movq %rdx, %r14
|
|
; X64-NEXT: movq %rdx, %r14
|
|
; X64-NEXT: movq -{{[0-9]+}}(%rsp), %r12 # 8-byte Reload
|
|
; X64-NEXT: movq -{{[0-9]+}}(%rsp), %r12 # 8-byte Reload
|
|
-; X64-NEXT: addq %rbx, %r12
|
|
|
|
|
|
+; X64-NEXT: addq %rax, %r12
|
|
; X64-NEXT: movq -{{[0-9]+}}(%rsp), %r15 # 8-byte Reload
|
|
; X64-NEXT: movq -{{[0-9]+}}(%rsp), %r15 # 8-byte Reload
|
|
-; X64-NEXT: adcq %r14, %r15
|
|
|
|
|
|
+; X64-NEXT: adcq %rdx, %r15
|
|
; X64-NEXT: addq %rdi, %r12
|
|
; X64-NEXT: addq %rdi, %r12
|
|
; X64-NEXT: adcq %rcx, %r15
|
|
; X64-NEXT: adcq %rcx, %r15
|
|
; X64-NEXT: movq {{[0-9]+}}(%rsp), %rcx # 8-byte Reload
|
|
; X64-NEXT: movq {{[0-9]+}}(%rsp), %rcx # 8-byte Reload
|
|
; X64-NEXT: movq %rcx, %rax
|
|
; X64-NEXT: movq %rcx, %rax
|
|
; X64-NEXT: movq %r11, %rsi
|
|
; X64-NEXT: movq %r11, %rsi
|
|
-; X64-NEXT: movq %rsi, -{{[0-9]+}}(%rsp) # 8-byte Spill
|
|
|
|
-; X64-NEXT: mulq %rsi
|
|
|
|
|
|
+; X64-NEXT: movq %r11, -{{[0-9]+}}(%rsp) # 8-byte Spill
|
|
|
|
+; X64-NEXT: mulq %r11
|
|
; X64-NEXT: movq %rdx, %r11
|
|
; X64-NEXT: movq %rdx, %r11
|
|
; X64-NEXT: movq %rax, {{[0-9]+}}(%rsp) # 8-byte Spill
|
|
; X64-NEXT: movq %rax, {{[0-9]+}}(%rsp) # 8-byte Spill
|
|
; X64-NEXT: movq {{[0-9]+}}(%rsp), %r9 # 8-byte Reload
|
|
; X64-NEXT: movq {{[0-9]+}}(%rsp), %r9 # 8-byte Reload
|
|
@@ -5239,7 +5232,7 @@ define void @test_1024(i1024* %a, i1024* %b, i1024* %out) nounwind {
|
|
; X64-NEXT: movq %rdx, -{{[0-9]+}}(%rsp) # 8-byte Spill
|
|
; X64-NEXT: movq %rdx, -{{[0-9]+}}(%rsp) # 8-byte Spill
|
|
; X64-NEXT: movq %rax, %r9
|
|
; X64-NEXT: movq %rax, %r9
|
|
; X64-NEXT: movq {{[0-9]+}}(%rsp), %rbp # 8-byte Reload
|
|
; X64-NEXT: movq {{[0-9]+}}(%rsp), %rbp # 8-byte Reload
|
|
-; X64-NEXT: addq %r9, %rbp
|
|
|
|
|
|
+; X64-NEXT: addq %rax, %rbp
|
|
; X64-NEXT: movq {{[0-9]+}}(%rsp), %rax # 8-byte Reload
|
|
; X64-NEXT: movq {{[0-9]+}}(%rsp), %rax # 8-byte Reload
|
|
; X64-NEXT: adcq %rdx, %rax
|
|
; X64-NEXT: adcq %rdx, %rax
|
|
; X64-NEXT: addq %rsi, %rbp
|
|
; X64-NEXT: addq %rsi, %rbp
|
|
@@ -5417,7 +5410,7 @@ define void @test_1024(i1024* %a, i1024* %b, i1024* %out) nounwind {
|
|
; X64-NEXT: movq 88(%rsi), %rax
|
|
; X64-NEXT: movq 88(%rsi), %rax
|
|
; X64-NEXT: movq %rsi, %r9
|
|
; X64-NEXT: movq %rsi, %r9
|
|
; X64-NEXT: movq %rax, %rsi
|
|
; X64-NEXT: movq %rax, %rsi
|
|
-; X64-NEXT: movq %rsi, -{{[0-9]+}}(%rsp) # 8-byte Spill
|
|
|
|
|
|
+; X64-NEXT: movq %rax, -{{[0-9]+}}(%rsp) # 8-byte Spill
|
|
; X64-NEXT: mulq %rcx
|
|
; X64-NEXT: mulq %rcx
|
|
; X64-NEXT: movq %rcx, %r11
|
|
; X64-NEXT: movq %rcx, %r11
|
|
; X64-NEXT: movq %rdx, %rbp
|
|
; X64-NEXT: movq %rdx, %rbp
|
|
@@ -5453,13 +5446,12 @@ define void @test_1024(i1024* %a, i1024* %b, i1024* %out) nounwind {
|
|
; X64-NEXT: adcq %r8, %r10
|
|
; X64-NEXT: adcq %r8, %r10
|
|
; X64-NEXT: addq %rbx, %rsi
|
|
; X64-NEXT: addq %rbx, %rsi
|
|
; X64-NEXT: adcq %rbp, %r10
|
|
; X64-NEXT: adcq %rbp, %r10
|
|
-; X64-NEXT: movq %r9, %rdi
|
|
|
|
-; X64-NEXT: movq 64(%rdi), %r13
|
|
|
|
|
|
+; X64-NEXT: movq 64(%r9), %r13
|
|
; X64-NEXT: movq %r13, %rax
|
|
; X64-NEXT: movq %r13, %rax
|
|
; X64-NEXT: mulq %r11
|
|
; X64-NEXT: mulq %r11
|
|
; X64-NEXT: movq %rax, -{{[0-9]+}}(%rsp) # 8-byte Spill
|
|
; X64-NEXT: movq %rax, -{{[0-9]+}}(%rsp) # 8-byte Spill
|
|
; X64-NEXT: movq %rdx, %rcx
|
|
; X64-NEXT: movq %rdx, %rcx
|
|
-; X64-NEXT: movq 72(%rdi), %r9
|
|
|
|
|
|
+; X64-NEXT: movq 72(%r9), %r9
|
|
; X64-NEXT: movq %r9, %rax
|
|
; X64-NEXT: movq %r9, %rax
|
|
; X64-NEXT: mulq %r11
|
|
; X64-NEXT: mulq %r11
|
|
; X64-NEXT: movq %rdx, %rbp
|
|
; X64-NEXT: movq %rdx, %rbp
|
|
@@ -5487,8 +5479,8 @@ define void @test_1024(i1024* %a, i1024* %b, i1024* %out) nounwind {
|
|
; X64-NEXT: movq %rdx, %r11
|
|
; X64-NEXT: movq %rdx, %r11
|
|
; X64-NEXT: movq %rax, %r15
|
|
; X64-NEXT: movq %rax, %r15
|
|
; X64-NEXT: movq %r12, %rcx
|
|
; X64-NEXT: movq %r12, %rcx
|
|
-; X64-NEXT: addq %r15, %rcx
|
|
|
|
-; X64-NEXT: adcq %r11, %r8
|
|
|
|
|
|
+; X64-NEXT: addq %rax, %rcx
|
|
|
|
+; X64-NEXT: adcq %rdx, %r8
|
|
; X64-NEXT: addq %rbp, %rcx
|
|
; X64-NEXT: addq %rbp, %rcx
|
|
; X64-NEXT: adcq %rbx, %r8
|
|
; X64-NEXT: adcq %rbx, %r8
|
|
; X64-NEXT: addq -{{[0-9]+}}(%rsp), %rcx # 8-byte Folded Reload
|
|
; X64-NEXT: addq -{{[0-9]+}}(%rsp), %rcx # 8-byte Folded Reload
|
|
@@ -5540,14 +5532,13 @@ define void @test_1024(i1024* %a, i1024* %b, i1024* %out) nounwind {
|
|
; X64-NEXT: setb %r10b
|
|
; X64-NEXT: setb %r10b
|
|
; X64-NEXT: movq -{{[0-9]+}}(%rsp), %rsi # 8-byte Reload
|
|
; X64-NEXT: movq -{{[0-9]+}}(%rsp), %rsi # 8-byte Reload
|
|
; X64-NEXT: movq %rsi, %rax
|
|
; X64-NEXT: movq %rsi, %rax
|
|
-; X64-NEXT: movq %r8, %rdi
|
|
|
|
-; X64-NEXT: mulq %rdi
|
|
|
|
|
|
+; X64-NEXT: mulq %r8
|
|
; X64-NEXT: movq %rdx, %rcx
|
|
; X64-NEXT: movq %rdx, %rcx
|
|
; X64-NEXT: movq %rax, %r9
|
|
; X64-NEXT: movq %rax, %r9
|
|
; X64-NEXT: movq -{{[0-9]+}}(%rsp), %rbp # 8-byte Reload
|
|
; X64-NEXT: movq -{{[0-9]+}}(%rsp), %rbp # 8-byte Reload
|
|
; X64-NEXT: movq %rbp, %rax
|
|
; X64-NEXT: movq %rbp, %rax
|
|
-; X64-NEXT: mulq %rdi
|
|
|
|
-; X64-NEXT: movq %rdi, %r12
|
|
|
|
|
|
+; X64-NEXT: mulq %r8
|
|
|
|
+; X64-NEXT: movq %r8, %r12
|
|
; X64-NEXT: movq %rdx, %rdi
|
|
; X64-NEXT: movq %rdx, %rdi
|
|
; X64-NEXT: movq %rax, %rbx
|
|
; X64-NEXT: movq %rax, %rbx
|
|
; X64-NEXT: addq %rcx, %rbx
|
|
; X64-NEXT: addq %rcx, %rbx
|
|
@@ -5586,7 +5577,7 @@ define void @test_1024(i1024* %a, i1024* %b, i1024* %out) nounwind {
|
|
; X64-NEXT: imulq %rcx, %rdi
|
|
; X64-NEXT: imulq %rcx, %rdi
|
|
; X64-NEXT: movq %rcx, %rax
|
|
; X64-NEXT: movq %rcx, %rax
|
|
; X64-NEXT: movq %r12, %rsi
|
|
; X64-NEXT: movq %r12, %rsi
|
|
-; X64-NEXT: mulq %rsi
|
|
|
|
|
|
+; X64-NEXT: mulq %r12
|
|
; X64-NEXT: movq %rax, %r9
|
|
; X64-NEXT: movq %rax, %r9
|
|
; X64-NEXT: addq %rdi, %rdx
|
|
; X64-NEXT: addq %rdi, %rdx
|
|
; X64-NEXT: movq 104(%rbp), %r8
|
|
; X64-NEXT: movq 104(%rbp), %r8
|