@@ -2367,25 +2367,24 @@ define void @shl_64bytes(ptr %src.ptr, ptr %byteOff.ptr, ptr %dst) nounwind {
2367
2367
define void @ashr_64bytes (ptr %src.ptr , ptr %byteOff.ptr , ptr %dst ) nounwind {
2368
2368
; X64-SSE2-LABEL: ashr_64bytes:
2369
2369
; X64-SSE2: # %bb.0:
2370
- ; X64-SSE2-NEXT: pushq %r14
2371
2370
; X64-SSE2-NEXT: pushq %rbx
2372
- ; X64-SSE2-NEXT: movq (%rdi), %rcx
2373
- ; X64-SSE2-NEXT: movq 8(%rdi), %r8
2374
- ; X64-SSE2-NEXT: movq 16(%rdi), %r9
2375
- ; X64-SSE2-NEXT: movq 24(%rdi), %r10
2376
- ; X64-SSE2-NEXT: movq 32(%rdi), %r11
2377
- ; X64-SSE2-NEXT: movq 40(%rdi), %rbx
2378
- ; X64-SSE2-NEXT: movq 48(%rdi), %r14
2371
+ ; X64-SSE2-NEXT: movq (%rdi), %rax
2372
+ ; X64-SSE2-NEXT: movq 8(%rdi), %rcx
2373
+ ; X64-SSE2-NEXT: movq 16(%rdi), %r8
2374
+ ; X64-SSE2-NEXT: movq 24(%rdi), %r9
2375
+ ; X64-SSE2-NEXT: movq 32(%rdi), %r10
2376
+ ; X64-SSE2-NEXT: movq 40(%rdi), %r11
2377
+ ; X64-SSE2-NEXT: movq 48(%rdi), %rbx
2379
2378
; X64-SSE2-NEXT: movq 56(%rdi), %rdi
2380
- ; X64-SSE2-NEXT: movl (%rsi), %eax
2379
+ ; X64-SSE2-NEXT: movl (%rsi), %esi
2381
2380
; X64-SSE2-NEXT: movq %rdi, -{{[0-9]+}}(%rsp)
2382
- ; X64-SSE2-NEXT: movq %r14, -{{[0-9]+}}(%rsp)
2383
2381
; X64-SSE2-NEXT: movq %rbx, -{{[0-9]+}}(%rsp)
2384
2382
; X64-SSE2-NEXT: movq %r11, -{{[0-9]+}}(%rsp)
2385
2383
; X64-SSE2-NEXT: movq %r10, -{{[0-9]+}}(%rsp)
2386
2384
; X64-SSE2-NEXT: movq %r9, -{{[0-9]+}}(%rsp)
2387
2385
; X64-SSE2-NEXT: movq %r8, -{{[0-9]+}}(%rsp)
2388
2386
; X64-SSE2-NEXT: movq %rcx, -{{[0-9]+}}(%rsp)
2387
+ ; X64-SSE2-NEXT: movq %rax, -{{[0-9]+}}(%rsp)
2389
2388
; X64-SSE2-NEXT: sarq $63, %rdi
2390
2389
; X64-SSE2-NEXT: movq %rdi, -{{[0-9]+}}(%rsp)
2391
2390
; X64-SSE2-NEXT: movq %rdi, -{{[0-9]+}}(%rsp)
@@ -2395,25 +2394,24 @@ define void @ashr_64bytes(ptr %src.ptr, ptr %byteOff.ptr, ptr %dst) nounwind {
2395
2394
; X64-SSE2-NEXT: movq %rdi, -{{[0-9]+}}(%rsp)
2396
2395
; X64-SSE2-NEXT: movq %rdi, -{{[0-9]+}}(%rsp)
2397
2396
; X64-SSE2-NEXT: movq %rdi, -{{[0-9]+}}(%rsp)
2398
- ; X64-SSE2-NEXT: andl $63, %eax
2399
- ; X64-SSE2-NEXT: movq -128(%rsp,%rax ), %rcx
2400
- ; X64-SSE2-NEXT: movq -120(%rsp,%rax ), %rsi
2401
- ; X64-SSE2-NEXT: movq -104(%rsp,%rax ), %rdi
2402
- ; X64-SSE2-NEXT: movq -112(%rsp,%rax ), %r8
2403
- ; X64-SSE2-NEXT: movq -88(%rsp,%rax ), %r9
2404
- ; X64-SSE2-NEXT: movq -96(%rsp,%rax ), %r10
2405
- ; X64-SSE2-NEXT: movq -72(%rsp,%rax ), %r11
2406
- ; X64-SSE2-NEXT: movq -80(%rsp,%rax ), %rax
2407
- ; X64-SSE2-NEXT: movq %rax , 48(%rdx)
2397
+ ; X64-SSE2-NEXT: andl $63, %esi
2398
+ ; X64-SSE2-NEXT: movq -128(%rsp,%rsi ), %rax
2399
+ ; X64-SSE2-NEXT: movq -120(%rsp,%rsi ), %rcx
2400
+ ; X64-SSE2-NEXT: movq -104(%rsp,%rsi ), %rdi
2401
+ ; X64-SSE2-NEXT: movq -112(%rsp,%rsi ), %r8
2402
+ ; X64-SSE2-NEXT: movq -88(%rsp,%rsi ), %r9
2403
+ ; X64-SSE2-NEXT: movq -96(%rsp,%rsi ), %r10
2404
+ ; X64-SSE2-NEXT: movq -72(%rsp,%rsi ), %r11
2405
+ ; X64-SSE2-NEXT: movq -80(%rsp,%rsi ), %rsi
2406
+ ; X64-SSE2-NEXT: movq %rsi , 48(%rdx)
2408
2407
; X64-SSE2-NEXT: movq %r11, 56(%rdx)
2409
2408
; X64-SSE2-NEXT: movq %r10, 32(%rdx)
2410
2409
; X64-SSE2-NEXT: movq %r9, 40(%rdx)
2411
2410
; X64-SSE2-NEXT: movq %r8, 16(%rdx)
2412
2411
; X64-SSE2-NEXT: movq %rdi, 24(%rdx)
2413
- ; X64-SSE2-NEXT: movq %rcx , (%rdx)
2414
- ; X64-SSE2-NEXT: movq %rsi , 8(%rdx)
2412
+ ; X64-SSE2-NEXT: movq %rax , (%rdx)
2413
+ ; X64-SSE2-NEXT: movq %rcx , 8(%rdx)
2415
2414
; X64-SSE2-NEXT: popq %rbx
2416
- ; X64-SSE2-NEXT: popq %r14
2417
2415
; X64-SSE2-NEXT: retq
2418
2416
;
2419
2417
; X64-SSE42-LABEL: ashr_64bytes:
@@ -2443,9 +2441,9 @@ define void @ashr_64bytes(ptr %src.ptr, ptr %byteOff.ptr, ptr %dst) nounwind {
2443
2441
; X64-SSE42-NEXT: movups -112(%rsp,%rsi), %xmm1
2444
2442
; X64-SSE42-NEXT: movups -96(%rsp,%rsi), %xmm2
2445
2443
; X64-SSE42-NEXT: movups -80(%rsp,%rsi), %xmm3
2444
+ ; X64-SSE42-NEXT: movups %xmm3, 48(%rdx)
2446
2445
; X64-SSE42-NEXT: movups %xmm1, 16(%rdx)
2447
2446
; X64-SSE42-NEXT: movups %xmm2, 32(%rdx)
2448
- ; X64-SSE42-NEXT: movups %xmm3, 48(%rdx)
2449
2447
; X64-SSE42-NEXT: movups %xmm0, (%rdx)
2450
2448
; X64-SSE42-NEXT: retq
2451
2449
;
@@ -2474,9 +2472,9 @@ define void @ashr_64bytes(ptr %src.ptr, ptr %byteOff.ptr, ptr %dst) nounwind {
2474
2472
; X64-AVX-NEXT: vmovups -112(%rsp,%rsi), %xmm1
2475
2473
; X64-AVX-NEXT: vmovups -96(%rsp,%rsi), %xmm2
2476
2474
; X64-AVX-NEXT: vmovups -80(%rsp,%rsi), %xmm3
2475
+ ; X64-AVX-NEXT: vmovups %xmm3, 48(%rdx)
2477
2476
; X64-AVX-NEXT: vmovups %xmm1, 16(%rdx)
2478
2477
; X64-AVX-NEXT: vmovups %xmm2, 32(%rdx)
2479
- ; X64-AVX-NEXT: vmovups %xmm3, 48(%rdx)
2480
2478
; X64-AVX-NEXT: vmovups %xmm0, (%rdx)
2481
2479
; X64-AVX-NEXT: vzeroupper
2482
2480
; X64-AVX-NEXT: retq
@@ -2772,5 +2770,5 @@ define void @ashr_64bytes(ptr %src.ptr, ptr %byteOff.ptr, ptr %dst) nounwind {
2772
2770
; FALLBACK7: {{.*}}
2773
2771
; FALLBACK8: {{.*}}
2774
2772
; FALLBACK9: {{.*}}
2775
- ; X86: {{.*}}
2776
2773
; X64: {{.*}}
2774
+ ; X86: {{.*}}
0 commit comments