diff options
Diffstat (limited to 'llvm/test/CodeGen/X86/bmi2-schedule.ll')
-rw-r--r-- | llvm/test/CodeGen/X86/bmi2-schedule.ll | 180 |
1 files changed, 90 insertions, 90 deletions
diff --git a/llvm/test/CodeGen/X86/bmi2-schedule.ll b/llvm/test/CodeGen/X86/bmi2-schedule.ll index f645ddfefdb..1c36262cff5 100644 --- a/llvm/test/CodeGen/X86/bmi2-schedule.ll +++ b/llvm/test/CodeGen/X86/bmi2-schedule.ll @@ -8,42 +8,42 @@ define i32 @test_bzhi_i32(i32 %a0, i32 %a1, i32 *%a2) { ; GENERIC-LABEL: test_bzhi_i32: -; GENERIC: # BB#0: +; GENERIC: # %bb.0: ; GENERIC-NEXT: bzhil %edi, (%rdx), %ecx ; GENERIC-NEXT: bzhil %edi, %esi, %eax ; GENERIC-NEXT: addl %ecx, %eax # sched: [1:0.33] ; GENERIC-NEXT: retq # sched: [1:1.00] ; ; HASWELL-LABEL: test_bzhi_i32: -; HASWELL: # BB#0: +; HASWELL: # %bb.0: ; HASWELL-NEXT: bzhil %edi, (%rdx), %ecx # sched: [1:0.50] ; HASWELL-NEXT: bzhil %edi, %esi, %eax # sched: [1:0.50] ; HASWELL-NEXT: addl %ecx, %eax # sched: [1:0.25] ; HASWELL-NEXT: retq # sched: [2:1.00] ; ; BROADWELL-LABEL: test_bzhi_i32: -; BROADWELL: # BB#0: +; BROADWELL: # %bb.0: ; BROADWELL-NEXT: bzhil %edi, (%rdx), %ecx # sched: [6:0.50] ; BROADWELL-NEXT: bzhil %edi, %esi, %eax # sched: [1:0.50] ; BROADWELL-NEXT: addl %ecx, %eax # sched: [1:0.25] ; BROADWELL-NEXT: retq # sched: [7:1.00] ; ; SKYLAKE-LABEL: test_bzhi_i32: -; SKYLAKE: # BB#0: +; SKYLAKE: # %bb.0: ; SKYLAKE-NEXT: bzhil %edi, (%rdx), %ecx # sched: [6:0.50] ; SKYLAKE-NEXT: bzhil %edi, %esi, %eax # sched: [1:0.50] ; SKYLAKE-NEXT: addl %ecx, %eax # sched: [1:0.25] ; SKYLAKE-NEXT: retq # sched: [7:1.00] ; ; KNL-LABEL: test_bzhi_i32: -; KNL: # BB#0: +; KNL: # %bb.0: ; KNL-NEXT: bzhil %edi, (%rdx), %ecx # sched: [1:0.50] ; KNL-NEXT: bzhil %edi, %esi, %eax # sched: [1:0.50] ; KNL-NEXT: addl %ecx, %eax # sched: [1:0.25] ; KNL-NEXT: retq # sched: [2:1.00] ; ; ZNVER1-LABEL: test_bzhi_i32: -; ZNVER1: # BB#0: +; ZNVER1: # %bb.0: ; ZNVER1-NEXT: bzhil %edi, (%rdx), %ecx # sched: [5:0.50] ; ZNVER1-NEXT: bzhil %edi, %esi, %eax # sched: [1:0.25] ; ZNVER1-NEXT: addl %ecx, %eax # sched: [1:0.25] @@ -58,42 +58,42 @@ declare i32 @llvm.x86.bmi.bzhi.32(i32, i32) define i64 @test_bzhi_i64(i64 %a0, i64 %a1, i64 *%a2) { ; GENERIC-LABEL: test_bzhi_i64: -; GENERIC: # BB#0: +; GENERIC: # %bb.0: ; GENERIC-NEXT: bzhiq %rdi, (%rdx), %rcx ; GENERIC-NEXT: bzhiq %rdi, %rsi, %rax ; GENERIC-NEXT: addq %rcx, %rax # sched: [1:0.33] ; GENERIC-NEXT: retq # sched: [1:1.00] ; ; HASWELL-LABEL: test_bzhi_i64: -; HASWELL: # BB#0: +; HASWELL: # %bb.0: ; HASWELL-NEXT: bzhiq %rdi, (%rdx), %rcx # sched: [1:0.50] ; HASWELL-NEXT: bzhiq %rdi, %rsi, %rax # sched: [1:0.50] ; HASWELL-NEXT: addq %rcx, %rax # sched: [1:0.25] ; HASWELL-NEXT: retq # sched: [2:1.00] ; ; BROADWELL-LABEL: test_bzhi_i64: -; BROADWELL: # BB#0: +; BROADWELL: # %bb.0: ; BROADWELL-NEXT: bzhiq %rdi, (%rdx), %rcx # sched: [6:0.50] ; BROADWELL-NEXT: bzhiq %rdi, %rsi, %rax # sched: [1:0.50] ; BROADWELL-NEXT: addq %rcx, %rax # sched: [1:0.25] ; BROADWELL-NEXT: retq # sched: [7:1.00] ; ; SKYLAKE-LABEL: test_bzhi_i64: -; SKYLAKE: # BB#0: +; SKYLAKE: # %bb.0: ; SKYLAKE-NEXT: bzhiq %rdi, (%rdx), %rcx # sched: [6:0.50] ; SKYLAKE-NEXT: bzhiq %rdi, %rsi, %rax # sched: [1:0.50] ; SKYLAKE-NEXT: addq %rcx, %rax # sched: [1:0.25] ; SKYLAKE-NEXT: retq # sched: [7:1.00] ; ; KNL-LABEL: test_bzhi_i64: -; KNL: # BB#0: +; KNL: # %bb.0: ; KNL-NEXT: bzhiq %rdi, (%rdx), %rcx # sched: [1:0.50] ; KNL-NEXT: bzhiq %rdi, %rsi, %rax # sched: [1:0.50] ; KNL-NEXT: addq %rcx, %rax # sched: [1:0.25] ; KNL-NEXT: retq # sched: [2:1.00] ; ; ZNVER1-LABEL: test_bzhi_i64: -; ZNVER1: # BB#0: +; ZNVER1: # %bb.0: ; ZNVER1-NEXT: bzhiq %rdi, (%rdx), %rcx # sched: [5:0.50] ; ZNVER1-NEXT: bzhiq %rdi, %rsi, %rax # sched: [1:0.25] ; ZNVER1-NEXT: addq %rcx, %rax # sched: [1:0.25] @@ -110,7 +110,7 @@ declare i64 @llvm.x86.bmi.bzhi.64(i64, i64) define i64 @test_mulx_i64(i64 %a0, i64 %a1, i64 *%a2) { ; GENERIC-LABEL: test_mulx_i64: -; GENERIC: # BB#0: +; GENERIC: # %bb.0: ; GENERIC-NEXT: movq %rdx, %rax # sched: [1:0.33] ; GENERIC-NEXT: movq %rdi, %rdx # sched: [1:0.33] ; GENERIC-NEXT: mulxq %rsi, %rsi, %rcx # sched: [3:1.00] @@ -119,7 +119,7 @@ define i64 @test_mulx_i64(i64 %a0, i64 %a1, i64 *%a2) { ; GENERIC-NEXT: retq # sched: [1:1.00] ; ; HASWELL-LABEL: test_mulx_i64: -; HASWELL: # BB#0: +; HASWELL: # %bb.0: ; HASWELL-NEXT: movq %rdx, %rax # sched: [1:0.25] ; HASWELL-NEXT: movq %rdi, %rdx # sched: [1:0.25] ; HASWELL-NEXT: mulxq %rsi, %rsi, %rcx # sched: [4:1.00] @@ -128,7 +128,7 @@ define i64 @test_mulx_i64(i64 %a0, i64 %a1, i64 *%a2) { ; HASWELL-NEXT: retq # sched: [2:1.00] ; ; BROADWELL-LABEL: test_mulx_i64: -; BROADWELL: # BB#0: +; BROADWELL: # %bb.0: ; BROADWELL-NEXT: movq %rdx, %rax # sched: [1:0.25] ; BROADWELL-NEXT: movq %rdi, %rdx # sched: [1:0.25] ; BROADWELL-NEXT: mulxq %rsi, %rsi, %rcx # sched: [4:1.00] @@ -137,7 +137,7 @@ define i64 @test_mulx_i64(i64 %a0, i64 %a1, i64 *%a2) { ; BROADWELL-NEXT: retq # sched: [7:1.00] ; ; SKYLAKE-LABEL: test_mulx_i64: -; SKYLAKE: # BB#0: +; SKYLAKE: # %bb.0: ; SKYLAKE-NEXT: movq %rdx, %rax # sched: [1:0.25] ; SKYLAKE-NEXT: movq %rdi, %rdx # sched: [1:0.25] ; SKYLAKE-NEXT: mulxq %rsi, %rsi, %rcx # sched: [4:1.00] @@ -146,7 +146,7 @@ define i64 @test_mulx_i64(i64 %a0, i64 %a1, i64 *%a2) { ; SKYLAKE-NEXT: retq # sched: [7:1.00] ; ; KNL-LABEL: test_mulx_i64: -; KNL: # BB#0: +; KNL: # %bb.0: ; KNL-NEXT: movq %rdx, %rax # sched: [1:0.25] ; KNL-NEXT: movq %rdi, %rdx # sched: [1:0.25] ; KNL-NEXT: mulxq %rsi, %rsi, %rcx # sched: [4:1.00] @@ -155,7 +155,7 @@ define i64 @test_mulx_i64(i64 %a0, i64 %a1, i64 *%a2) { ; KNL-NEXT: retq # sched: [2:1.00] ; ; ZNVER1-LABEL: test_mulx_i64: -; ZNVER1: # BB#0: +; ZNVER1: # %bb.0: ; ZNVER1-NEXT: movq %rdx, %rax # sched: [1:0.25] ; ZNVER1-NEXT: movq %rdi, %rdx # sched: [1:0.25] ; ZNVER1-NEXT: mulxq %rsi, %rsi, %rcx # sched: [3:1.00] @@ -178,42 +178,42 @@ define i64 @test_mulx_i64(i64 %a0, i64 %a1, i64 *%a2) { define i32 @test_pdep_i32(i32 %a0, i32 %a1, i32 *%a2) { ; GENERIC-LABEL: test_pdep_i32: -; GENERIC: # BB#0: +; GENERIC: # %bb.0: ; GENERIC-NEXT: pdepl (%rdx), %edi, %ecx ; GENERIC-NEXT: pdepl %esi, %edi, %eax ; GENERIC-NEXT: addl %ecx, %eax # sched: [1:0.33] ; GENERIC-NEXT: retq # sched: [1:1.00] ; ; HASWELL-LABEL: test_pdep_i32: -; HASWELL: # BB#0: +; HASWELL: # %bb.0: ; HASWELL-NEXT: pdepl (%rdx), %edi, %ecx # sched: [3:1.00] ; HASWELL-NEXT: pdepl %esi, %edi, %eax # sched: [3:1.00] ; HASWELL-NEXT: addl %ecx, %eax # sched: [1:0.25] ; HASWELL-NEXT: retq # sched: [2:1.00] ; ; BROADWELL-LABEL: test_pdep_i32: -; BROADWELL: # BB#0: +; BROADWELL: # %bb.0: ; BROADWELL-NEXT: pdepl (%rdx), %edi, %ecx # sched: [8:1.00] ; BROADWELL-NEXT: pdepl %esi, %edi, %eax # sched: [3:1.00] ; BROADWELL-NEXT: addl %ecx, %eax # sched: [1:0.25] ; BROADWELL-NEXT: retq # sched: [7:1.00] ; ; SKYLAKE-LABEL: test_pdep_i32: -; SKYLAKE: # BB#0: +; SKYLAKE: # %bb.0: ; SKYLAKE-NEXT: pdepl (%rdx), %edi, %ecx # sched: [8:1.00] ; SKYLAKE-NEXT: pdepl %esi, %edi, %eax # sched: [3:1.00] ; SKYLAKE-NEXT: addl %ecx, %eax # sched: [1:0.25] ; SKYLAKE-NEXT: retq # sched: [7:1.00] ; ; KNL-LABEL: test_pdep_i32: -; KNL: # BB#0: +; KNL: # %bb.0: ; KNL-NEXT: pdepl (%rdx), %edi, %ecx # sched: [3:1.00] ; KNL-NEXT: pdepl %esi, %edi, %eax # sched: [3:1.00] ; KNL-NEXT: addl %ecx, %eax # sched: [1:0.25] ; KNL-NEXT: retq # sched: [2:1.00] ; ; ZNVER1-LABEL: test_pdep_i32: -; ZNVER1: # BB#0: +; ZNVER1: # %bb.0: ; ZNVER1-NEXT: pdepl (%rdx), %edi, %ecx # sched: [100:?] ; ZNVER1-NEXT: pdepl %esi, %edi, %eax # sched: [100:?] ; ZNVER1-NEXT: addl %ecx, %eax # sched: [1:0.25] @@ -228,42 +228,42 @@ declare i32 @llvm.x86.bmi.pdep.32(i32, i32) define i64 @test_pdep_i64(i64 %a0, i64 %a1, i64 *%a2) { ; GENERIC-LABEL: test_pdep_i64: -; GENERIC: # BB#0: +; GENERIC: # %bb.0: ; GENERIC-NEXT: pdepq (%rdx), %rdi, %rcx ; GENERIC-NEXT: pdepq %rsi, %rdi, %rax ; GENERIC-NEXT: addq %rcx, %rax # sched: [1:0.33] ; GENERIC-NEXT: retq # sched: [1:1.00] ; ; HASWELL-LABEL: test_pdep_i64: -; HASWELL: # BB#0: +; HASWELL: # %bb.0: ; HASWELL-NEXT: pdepq (%rdx), %rdi, %rcx # sched: [3:1.00] ; HASWELL-NEXT: pdepq %rsi, %rdi, %rax # sched: [3:1.00] ; HASWELL-NEXT: addq %rcx, %rax # sched: [1:0.25] ; HASWELL-NEXT: retq # sched: [2:1.00] ; ; BROADWELL-LABEL: test_pdep_i64: -; BROADWELL: # BB#0: +; BROADWELL: # %bb.0: ; BROADWELL-NEXT: pdepq (%rdx), %rdi, %rcx # sched: [8:1.00] ; BROADWELL-NEXT: pdepq %rsi, %rdi, %rax # sched: [3:1.00] ; BROADWELL-NEXT: addq %rcx, %rax # sched: [1:0.25] ; BROADWELL-NEXT: retq # sched: [7:1.00] ; ; SKYLAKE-LABEL: test_pdep_i64: -; SKYLAKE: # BB#0: +; SKYLAKE: # %bb.0: ; SKYLAKE-NEXT: pdepq (%rdx), %rdi, %rcx # sched: [8:1.00] ; SKYLAKE-NEXT: pdepq %rsi, %rdi, %rax # sched: [3:1.00] ; SKYLAKE-NEXT: addq %rcx, %rax # sched: [1:0.25] ; SKYLAKE-NEXT: retq # sched: [7:1.00] ; ; KNL-LABEL: test_pdep_i64: -; KNL: # BB#0: +; KNL: # %bb.0: ; KNL-NEXT: pdepq (%rdx), %rdi, %rcx # sched: [3:1.00] ; KNL-NEXT: pdepq %rsi, %rdi, %rax # sched: [3:1.00] ; KNL-NEXT: addq %rcx, %rax # sched: [1:0.25] ; KNL-NEXT: retq # sched: [2:1.00] ; ; ZNVER1-LABEL: test_pdep_i64: -; ZNVER1: # BB#0: +; ZNVER1: # %bb.0: ; ZNVER1-NEXT: pdepq (%rdx), %rdi, %rcx # sched: [100:?] ; ZNVER1-NEXT: pdepq %rsi, %rdi, %rax # sched: [100:?] ; ZNVER1-NEXT: addq %rcx, %rax # sched: [1:0.25] @@ -278,42 +278,42 @@ declare i64 @llvm.x86.bmi.pdep.64(i64, i64) define i32 @test_pext_i32(i32 %a0, i32 %a1, i32 *%a2) { ; GENERIC-LABEL: test_pext_i32: -; GENERIC: # BB#0: +; GENERIC: # %bb.0: ; GENERIC-NEXT: pextl (%rdx), %edi, %ecx ; GENERIC-NEXT: pextl %esi, %edi, %eax ; GENERIC-NEXT: addl %ecx, %eax # sched: [1:0.33] ; GENERIC-NEXT: retq # sched: [1:1.00] ; ; HASWELL-LABEL: test_pext_i32: -; HASWELL: # BB#0: +; HASWELL: # %bb.0: ; HASWELL-NEXT: pextl (%rdx), %edi, %ecx # sched: [3:1.00] ; HASWELL-NEXT: pextl %esi, %edi, %eax # sched: [3:1.00] ; HASWELL-NEXT: addl %ecx, %eax # sched: [1:0.25] ; HASWELL-NEXT: retq # sched: [2:1.00] ; ; BROADWELL-LABEL: test_pext_i32: -; BROADWELL: # BB#0: +; BROADWELL: # %bb.0: ; BROADWELL-NEXT: pextl (%rdx), %edi, %ecx # sched: [8:1.00] ; BROADWELL-NEXT: pextl %esi, %edi, %eax # sched: [3:1.00] ; BROADWELL-NEXT: addl %ecx, %eax # sched: [1:0.25] ; BROADWELL-NEXT: retq # sched: [7:1.00] ; ; SKYLAKE-LABEL: test_pext_i32: -; SKYLAKE: # BB#0: +; SKYLAKE: # %bb.0: ; SKYLAKE-NEXT: pextl (%rdx), %edi, %ecx # sched: [8:1.00] ; SKYLAKE-NEXT: pextl %esi, %edi, %eax # sched: [3:1.00] ; SKYLAKE-NEXT: addl %ecx, %eax # sched: [1:0.25] ; SKYLAKE-NEXT: retq # sched: [7:1.00] ; ; KNL-LABEL: test_pext_i32: -; KNL: # BB#0: +; KNL: # %bb.0: ; KNL-NEXT: pextl (%rdx), %edi, %ecx # sched: [3:1.00] ; KNL-NEXT: pextl %esi, %edi, %eax # sched: [3:1.00] ; KNL-NEXT: addl %ecx, %eax # sched: [1:0.25] ; KNL-NEXT: retq # sched: [2:1.00] ; ; ZNVER1-LABEL: test_pext_i32: -; ZNVER1: # BB#0: +; ZNVER1: # %bb.0: ; ZNVER1-NEXT: pextl (%rdx), %edi, %ecx # sched: [100:?] ; ZNVER1-NEXT: pextl %esi, %edi, %eax # sched: [100:?] ; ZNVER1-NEXT: addl %ecx, %eax # sched: [1:0.25] @@ -328,42 +328,42 @@ declare i32 @llvm.x86.bmi.pext.32(i32, i32) define i64 @test_pext_i64(i64 %a0, i64 %a1, i64 *%a2) { ; GENERIC-LABEL: test_pext_i64: -; GENERIC: # BB#0: +; GENERIC: # %bb.0: ; GENERIC-NEXT: pextq (%rdx), %rdi, %rcx ; GENERIC-NEXT: pextq %rsi, %rdi, %rax ; GENERIC-NEXT: addq %rcx, %rax # sched: [1:0.33] ; GENERIC-NEXT: retq # sched: [1:1.00] ; ; HASWELL-LABEL: test_pext_i64: -; HASWELL: # BB#0: +; HASWELL: # %bb.0: ; HASWELL-NEXT: pextq (%rdx), %rdi, %rcx # sched: [3:1.00] ; HASWELL-NEXT: pextq %rsi, %rdi, %rax # sched: [3:1.00] ; HASWELL-NEXT: addq %rcx, %rax # sched: [1:0.25] ; HASWELL-NEXT: retq # sched: [2:1.00] ; ; BROADWELL-LABEL: test_pext_i64: -; BROADWELL: # BB#0: +; BROADWELL: # %bb.0: ; BROADWELL-NEXT: pextq (%rdx), %rdi, %rcx # sched: [8:1.00] ; BROADWELL-NEXT: pextq %rsi, %rdi, %rax # sched: [3:1.00] ; BROADWELL-NEXT: addq %rcx, %rax # sched: [1:0.25] ; BROADWELL-NEXT: retq # sched: [7:1.00] ; ; SKYLAKE-LABEL: test_pext_i64: -; SKYLAKE: # BB#0: +; SKYLAKE: # %bb.0: ; SKYLAKE-NEXT: pextq (%rdx), %rdi, %rcx # sched: [8:1.00] ; SKYLAKE-NEXT: pextq %rsi, %rdi, %rax # sched: [3:1.00] ; SKYLAKE-NEXT: addq %rcx, %rax # sched: [1:0.25] ; SKYLAKE-NEXT: retq # sched: [7:1.00] ; ; KNL-LABEL: test_pext_i64: -; KNL: # BB#0: +; KNL: # %bb.0: ; KNL-NEXT: pextq (%rdx), %rdi, %rcx # sched: [3:1.00] ; KNL-NEXT: pextq %rsi, %rdi, %rax # sched: [3:1.00] ; KNL-NEXT: addq %rcx, %rax # sched: [1:0.25] ; KNL-NEXT: retq # sched: [2:1.00] ; ; ZNVER1-LABEL: test_pext_i64: -; ZNVER1: # BB#0: +; ZNVER1: # %bb.0: ; ZNVER1-NEXT: pextq (%rdx), %rdi, %rcx # sched: [100:?] ; ZNVER1-NEXT: pextq %rsi, %rdi, %rax # sched: [100:?] ; ZNVER1-NEXT: addq %rcx, %rax # sched: [1:0.25] @@ -378,42 +378,42 @@ declare i64 @llvm.x86.bmi.pext.64(i64, i64) define i32 @test_rorx_i32(i32 %a0, i32 %a1, i32 *%a2) { ; GENERIC-LABEL: test_rorx_i32: -; GENERIC: # BB#0: +; GENERIC: # %bb.0: ; GENERIC-NEXT: rorxl $5, %edi, %ecx # sched: [1:0.50] ; GENERIC-NEXT: rorxl $5, (%rdx), %eax # sched: [5:0.50] ; GENERIC-NEXT: addl %ecx, %eax # sched: [1:0.33] ; GENERIC-NEXT: retq # sched: [1:1.00] ; ; HASWELL-LABEL: test_rorx_i32: -; HASWELL: # BB#0: +; HASWELL: # %bb.0: ; HASWELL-NEXT: rorxl $5, %edi, %ecx # sched: [1:0.50] ; HASWELL-NEXT: rorxl $5, (%rdx), %eax # sched: [1:0.50] ; HASWELL-NEXT: addl %ecx, %eax # sched: [1:0.25] ; HASWELL-NEXT: retq # sched: [2:1.00] ; ; BROADWELL-LABEL: test_rorx_i32: -; BROADWELL: # BB#0: +; BROADWELL: # %bb.0: ; BROADWELL-NEXT: rorxl $5, %edi, %ecx # sched: [1:0.50] ; BROADWELL-NEXT: rorxl $5, (%rdx), %eax # sched: [6:0.50] ; BROADWELL-NEXT: addl %ecx, %eax # sched: [1:0.25] ; BROADWELL-NEXT: retq # sched: [7:1.00] ; ; SKYLAKE-LABEL: test_rorx_i32: -; SKYLAKE: # BB#0: +; SKYLAKE: # %bb.0: ; SKYLAKE-NEXT: rorxl $5, %edi, %ecx # sched: [1:0.50] ; SKYLAKE-NEXT: rorxl $5, (%rdx), %eax # sched: [6:0.50] ; SKYLAKE-NEXT: addl %ecx, %eax # sched: [1:0.25] ; SKYLAKE-NEXT: retq # sched: [7:1.00] ; ; KNL-LABEL: test_rorx_i32: -; KNL: # BB#0: +; KNL: # %bb.0: ; KNL-NEXT: rorxl $5, %edi, %ecx # sched: [1:0.50] ; KNL-NEXT: rorxl $5, (%rdx), %eax # sched: [1:0.50] ; KNL-NEXT: addl %ecx, %eax # sched: [1:0.25] ; KNL-NEXT: retq # sched: [2:1.00] ; ; ZNVER1-LABEL: test_rorx_i32: -; ZNVER1: # BB#0: +; ZNVER1: # %bb.0: ; ZNVER1-NEXT: rorxl $5, (%rdx), %eax # sched: [5:0.50] ; ZNVER1-NEXT: rorxl $5, %edi, %ecx # sched: [1:0.25] ; ZNVER1-NEXT: addl %ecx, %eax # sched: [1:0.25] @@ -431,42 +431,42 @@ define i32 @test_rorx_i32(i32 %a0, i32 %a1, i32 *%a2) { define i64 @test_rorx_i64(i64 %a0, i64 %a1, i64 *%a2) { ; GENERIC-LABEL: test_rorx_i64: -; GENERIC: # BB#0: +; GENERIC: # %bb.0: ; GENERIC-NEXT: rorxq $5, %rdi, %rcx # sched: [1:0.50] ; GENERIC-NEXT: rorxq $5, (%rdx), %rax # sched: [5:0.50] ; GENERIC-NEXT: addq %rcx, %rax # sched: [1:0.33] ; GENERIC-NEXT: retq # sched: [1:1.00] ; ; HASWELL-LABEL: test_rorx_i64: -; HASWELL: # BB#0: +; HASWELL: # %bb.0: ; HASWELL-NEXT: rorxq $5, %rdi, %rcx # sched: [1:0.50] ; HASWELL-NEXT: rorxq $5, (%rdx), %rax # sched: [1:0.50] ; HASWELL-NEXT: addq %rcx, %rax # sched: [1:0.25] ; HASWELL-NEXT: retq # sched: [2:1.00] ; ; BROADWELL-LABEL: test_rorx_i64: -; BROADWELL: # BB#0: +; BROADWELL: # %bb.0: ; BROADWELL-NEXT: rorxq $5, %rdi, %rcx # sched: [1:0.50] ; BROADWELL-NEXT: rorxq $5, (%rdx), %rax # sched: [6:0.50] ; BROADWELL-NEXT: addq %rcx, %rax # sched: [1:0.25] ; BROADWELL-NEXT: retq # sched: [7:1.00] ; ; SKYLAKE-LABEL: test_rorx_i64: -; SKYLAKE: # BB#0: +; SKYLAKE: # %bb.0: ; SKYLAKE-NEXT: rorxq $5, %rdi, %rcx # sched: [1:0.50] ; SKYLAKE-NEXT: rorxq $5, (%rdx), %rax # sched: [6:0.50] ; SKYLAKE-NEXT: addq %rcx, %rax # sched: [1:0.25] ; SKYLAKE-NEXT: retq # sched: [7:1.00] ; ; KNL-LABEL: test_rorx_i64: -; KNL: # BB#0: +; KNL: # %bb.0: ; KNL-NEXT: rorxq $5, %rdi, %rcx # sched: [1:0.50] ; KNL-NEXT: rorxq $5, (%rdx), %rax # sched: [1:0.50] ; KNL-NEXT: addq %rcx, %rax # sched: [1:0.25] ; KNL-NEXT: retq # sched: [2:1.00] ; ; ZNVER1-LABEL: test_rorx_i64: -; ZNVER1: # BB#0: +; ZNVER1: # %bb.0: ; ZNVER1-NEXT: rorxq $5, (%rdx), %rax # sched: [5:0.50] ; ZNVER1-NEXT: rorxq $5, %rdi, %rcx # sched: [1:0.25] ; ZNVER1-NEXT: addq %rcx, %rax # sched: [1:0.25] @@ -484,42 +484,42 @@ define i64 @test_rorx_i64(i64 %a0, i64 %a1, i64 *%a2) { define i32 @test_sarx_i32(i32 %a0, i32 %a1, i32 *%a2) { ; GENERIC-LABEL: test_sarx_i32: -; GENERIC: # BB#0: +; GENERIC: # %bb.0: ; GENERIC-NEXT: sarxl %esi, %edi, %ecx # sched: [1:0.50] ; GENERIC-NEXT: sarxl %esi, (%rdx), %eax # sched: [5:0.50] ; GENERIC-NEXT: addl %ecx, %eax # sched: [1:0.33] ; GENERIC-NEXT: retq # sched: [1:1.00] ; ; HASWELL-LABEL: test_sarx_i32: -; HASWELL: # BB#0: +; HASWELL: # %bb.0: ; HASWELL-NEXT: sarxl %esi, %edi, %ecx # sched: [1:0.50] ; HASWELL-NEXT: sarxl %esi, (%rdx), %eax # sched: [1:0.50] ; HASWELL-NEXT: addl %ecx, %eax # sched: [1:0.25] ; HASWELL-NEXT: retq # sched: [2:1.00] ; ; BROADWELL-LABEL: test_sarx_i32: -; BROADWELL: # BB#0: +; BROADWELL: # %bb.0: ; BROADWELL-NEXT: sarxl %esi, %edi, %ecx # sched: [1:0.50] ; BROADWELL-NEXT: sarxl %esi, (%rdx), %eax # sched: [6:0.50] ; BROADWELL-NEXT: addl %ecx, %eax # sched: [1:0.25] ; BROADWELL-NEXT: retq # sched: [7:1.00] ; ; SKYLAKE-LABEL: test_sarx_i32: -; SKYLAKE: # BB#0: +; SKYLAKE: # %bb.0: ; SKYLAKE-NEXT: sarxl %esi, %edi, %ecx # sched: [1:0.50] ; SKYLAKE-NEXT: sarxl %esi, (%rdx), %eax # sched: [6:0.50] ; SKYLAKE-NEXT: addl %ecx, %eax # sched: [1:0.25] ; SKYLAKE-NEXT: retq # sched: [7:1.00] ; ; KNL-LABEL: test_sarx_i32: -; KNL: # BB#0: +; KNL: # %bb.0: ; KNL-NEXT: sarxl %esi, %edi, %ecx # sched: [1:0.50] ; KNL-NEXT: sarxl %esi, (%rdx), %eax # sched: [1:0.50] ; KNL-NEXT: addl %ecx, %eax # sched: [1:0.25] ; KNL-NEXT: retq # sched: [2:1.00] ; ; ZNVER1-LABEL: test_sarx_i32: -; ZNVER1: # BB#0: +; ZNVER1: # %bb.0: ; ZNVER1-NEXT: sarxl %esi, (%rdx), %eax # sched: [5:0.50] ; ZNVER1-NEXT: sarxl %esi, %edi, %ecx # sched: [1:0.25] ; ZNVER1-NEXT: addl %ecx, %eax # sched: [1:0.25] @@ -533,42 +533,42 @@ define i32 @test_sarx_i32(i32 %a0, i32 %a1, i32 *%a2) { define i64 @test_sarx_i64(i64 %a0, i64 %a1, i64 *%a2) { ; GENERIC-LABEL: test_sarx_i64: -; GENERIC: # BB#0: +; GENERIC: # %bb.0: ; GENERIC-NEXT: sarxq %rsi, %rdi, %rcx # sched: [1:0.50] ; GENERIC-NEXT: sarxq %rsi, (%rdx), %rax # sched: [5:0.50] ; GENERIC-NEXT: addq %rcx, %rax # sched: [1:0.33] ; GENERIC-NEXT: retq # sched: [1:1.00] ; ; HASWELL-LABEL: test_sarx_i64: -; HASWELL: # BB#0: +; HASWELL: # %bb.0: ; HASWELL-NEXT: sarxq %rsi, %rdi, %rcx # sched: [1:0.50] ; HASWELL-NEXT: sarxq %rsi, (%rdx), %rax # sched: [1:0.50] ; HASWELL-NEXT: addq %rcx, %rax # sched: [1:0.25] ; HASWELL-NEXT: retq # sched: [2:1.00] ; ; BROADWELL-LABEL: test_sarx_i64: -; BROADWELL: # BB#0: +; BROADWELL: # %bb.0: ; BROADWELL-NEXT: sarxq %rsi, %rdi, %rcx # sched: [1:0.50] ; BROADWELL-NEXT: sarxq %rsi, (%rdx), %rax # sched: [6:0.50] ; BROADWELL-NEXT: addq %rcx, %rax # sched: [1:0.25] ; BROADWELL-NEXT: retq # sched: [7:1.00] ; ; SKYLAKE-LABEL: test_sarx_i64: -; SKYLAKE: # BB#0: +; SKYLAKE: # %bb.0: ; SKYLAKE-NEXT: sarxq %rsi, %rdi, %rcx # sched: [1:0.50] ; SKYLAKE-NEXT: sarxq %rsi, (%rdx), %rax # sched: [6:0.50] ; SKYLAKE-NEXT: addq %rcx, %rax # sched: [1:0.25] ; SKYLAKE-NEXT: retq # sched: [7:1.00] ; ; KNL-LABEL: test_sarx_i64: -; KNL: # BB#0: +; KNL: # %bb.0: ; KNL-NEXT: sarxq %rsi, %rdi, %rcx # sched: [1:0.50] ; KNL-NEXT: sarxq %rsi, (%rdx), %rax # sched: [1:0.50] ; KNL-NEXT: addq %rcx, %rax # sched: [1:0.25] ; KNL-NEXT: retq # sched: [2:1.00] ; ; ZNVER1-LABEL: test_sarx_i64: -; ZNVER1: # BB#0: +; ZNVER1: # %bb.0: ; ZNVER1-NEXT: sarxq %rsi, (%rdx), %rax # sched: [5:0.50] ; ZNVER1-NEXT: sarxq %rsi, %rdi, %rcx # sched: [1:0.25] ; ZNVER1-NEXT: addq %rcx, %rax # sched: [1:0.25] @@ -582,42 +582,42 @@ define i64 @test_sarx_i64(i64 %a0, i64 %a1, i64 *%a2) { define i32 @test_shlx_i32(i32 %a0, i32 %a1, i32 *%a2) { ; GENERIC-LABEL: test_shlx_i32: -; GENERIC: # BB#0: +; GENERIC: # %bb.0: ; GENERIC-NEXT: shlxl %esi, %edi, %ecx # sched: [1:0.50] ; GENERIC-NEXT: shlxl %esi, (%rdx), %eax # sched: [5:0.50] ; GENERIC-NEXT: addl %ecx, %eax # sched: [1:0.33] ; GENERIC-NEXT: retq # sched: [1:1.00] ; ; HASWELL-LABEL: test_shlx_i32: -; HASWELL: # BB#0: +; HASWELL: # %bb.0: ; HASWELL-NEXT: shlxl %esi, %edi, %ecx # sched: [1:0.50] ; HASWELL-NEXT: shlxl %esi, (%rdx), %eax # sched: [1:0.50] ; HASWELL-NEXT: addl %ecx, %eax # sched: [1:0.25] ; HASWELL-NEXT: retq # sched: [2:1.00] ; ; BROADWELL-LABEL: test_shlx_i32: -; BROADWELL: # BB#0: +; BROADWELL: # %bb.0: ; BROADWELL-NEXT: shlxl %esi, %edi, %ecx # sched: [1:0.50] ; BROADWELL-NEXT: shlxl %esi, (%rdx), %eax # sched: [6:0.50] ; BROADWELL-NEXT: addl %ecx, %eax # sched: [1:0.25] ; BROADWELL-NEXT: retq # sched: [7:1.00] ; ; SKYLAKE-LABEL: test_shlx_i32: -; SKYLAKE: # BB#0: +; SKYLAKE: # %bb.0: ; SKYLAKE-NEXT: shlxl %esi, %edi, %ecx # sched: [1:0.50] ; SKYLAKE-NEXT: shlxl %esi, (%rdx), %eax # sched: [6:0.50] ; SKYLAKE-NEXT: addl %ecx, %eax # sched: [1:0.25] ; SKYLAKE-NEXT: retq # sched: [7:1.00] ; ; KNL-LABEL: test_shlx_i32: -; KNL: # BB#0: +; KNL: # %bb.0: ; KNL-NEXT: shlxl %esi, %edi, %ecx # sched: [1:0.50] ; KNL-NEXT: shlxl %esi, (%rdx), %eax # sched: [1:0.50] ; KNL-NEXT: addl %ecx, %eax # sched: [1:0.25] ; KNL-NEXT: retq # sched: [2:1.00] ; ; ZNVER1-LABEL: test_shlx_i32: -; ZNVER1: # BB#0: +; ZNVER1: # %bb.0: ; ZNVER1-NEXT: shlxl %esi, (%rdx), %eax # sched: [5:0.50] ; ZNVER1-NEXT: shlxl %esi, %edi, %ecx # sched: [1:0.25] ; ZNVER1-NEXT: addl %ecx, %eax # sched: [1:0.25] @@ -631,42 +631,42 @@ define i32 @test_shlx_i32(i32 %a0, i32 %a1, i32 *%a2) { define i64 @test_shlx_i64(i64 %a0, i64 %a1, i64 *%a2) { ; GENERIC-LABEL: test_shlx_i64: -; GENERIC: # BB#0: +; GENERIC: # %bb.0: ; GENERIC-NEXT: shlxq %rsi, %rdi, %rcx # sched: [1:0.50] ; GENERIC-NEXT: shlxq %rsi, (%rdx), %rax # sched: [5:0.50] ; GENERIC-NEXT: addq %rcx, %rax # sched: [1:0.33] ; GENERIC-NEXT: retq # sched: [1:1.00] ; ; HASWELL-LABEL: test_shlx_i64: -; HASWELL: # BB#0: +; HASWELL: # %bb.0: ; HASWELL-NEXT: shlxq %rsi, %rdi, %rcx # sched: [1:0.50] ; HASWELL-NEXT: shlxq %rsi, (%rdx), %rax # sched: [1:0.50] ; HASWELL-NEXT: addq %rcx, %rax # sched: [1:0.25] ; HASWELL-NEXT: retq # sched: [2:1.00] ; ; BROADWELL-LABEL: test_shlx_i64: -; BROADWELL: # BB#0: +; BROADWELL: # %bb.0: ; BROADWELL-NEXT: shlxq %rsi, %rdi, %rcx # sched: [1:0.50] ; BROADWELL-NEXT: shlxq %rsi, (%rdx), %rax # sched: [6:0.50] ; BROADWELL-NEXT: addq %rcx, %rax # sched: [1:0.25] ; BROADWELL-NEXT: retq # sched: [7:1.00] ; ; SKYLAKE-LABEL: test_shlx_i64: -; SKYLAKE: # BB#0: +; SKYLAKE: # %bb.0: ; SKYLAKE-NEXT: shlxq %rsi, %rdi, %rcx # sched: [1:0.50] ; SKYLAKE-NEXT: shlxq %rsi, (%rdx), %rax # sched: [6:0.50] ; SKYLAKE-NEXT: addq %rcx, %rax # sched: [1:0.25] ; SKYLAKE-NEXT: retq # sched: [7:1.00] ; ; KNL-LABEL: test_shlx_i64: -; KNL: # BB#0: +; KNL: # %bb.0: ; KNL-NEXT: shlxq %rsi, %rdi, %rcx # sched: [1:0.50] ; KNL-NEXT: shlxq %rsi, (%rdx), %rax # sched: [1:0.50] ; KNL-NEXT: addq %rcx, %rax # sched: [1:0.25] ; KNL-NEXT: retq # sched: [2:1.00] ; ; ZNVER1-LABEL: test_shlx_i64: -; ZNVER1: # BB#0: +; ZNVER1: # %bb.0: ; ZNVER1-NEXT: shlxq %rsi, (%rdx), %rax # sched: [5:0.50] ; ZNVER1-NEXT: shlxq %rsi, %rdi, %rcx # sched: [1:0.25] ; ZNVER1-NEXT: addq %rcx, %rax # sched: [1:0.25] @@ -680,42 +680,42 @@ define i64 @test_shlx_i64(i64 %a0, i64 %a1, i64 *%a2) { define i32 @test_shrx_i32(i32 %a0, i32 %a1, i32 *%a2) { ; GENERIC-LABEL: test_shrx_i32: -; GENERIC: # BB#0: +; GENERIC: # %bb.0: ; GENERIC-NEXT: shrxl %esi, %edi, %ecx # sched: [1:0.50] ; GENERIC-NEXT: shrxl %esi, (%rdx), %eax # sched: [5:0.50] ; GENERIC-NEXT: addl %ecx, %eax # sched: [1:0.33] ; GENERIC-NEXT: retq # sched: [1:1.00] ; ; HASWELL-LABEL: test_shrx_i32: -; HASWELL: # BB#0: +; HASWELL: # %bb.0: ; HASWELL-NEXT: shrxl %esi, %edi, %ecx # sched: [1:0.50] ; HASWELL-NEXT: shrxl %esi, (%rdx), %eax # sched: [1:0.50] ; HASWELL-NEXT: addl %ecx, %eax # sched: [1:0.25] ; HASWELL-NEXT: retq # sched: [2:1.00] ; ; BROADWELL-LABEL: test_shrx_i32: -; BROADWELL: # BB#0: +; BROADWELL: # %bb.0: ; BROADWELL-NEXT: shrxl %esi, %edi, %ecx # sched: [1:0.50] ; BROADWELL-NEXT: shrxl %esi, (%rdx), %eax # sched: [6:0.50] ; BROADWELL-NEXT: addl %ecx, %eax # sched: [1:0.25] ; BROADWELL-NEXT: retq # sched: [7:1.00] ; ; SKYLAKE-LABEL: test_shrx_i32: -; SKYLAKE: # BB#0: +; SKYLAKE: # %bb.0: ; SKYLAKE-NEXT: shrxl %esi, %edi, %ecx # sched: [1:0.50] ; SKYLAKE-NEXT: shrxl %esi, (%rdx), %eax # sched: [6:0.50] ; SKYLAKE-NEXT: addl %ecx, %eax # sched: [1:0.25] ; SKYLAKE-NEXT: retq # sched: [7:1.00] ; ; KNL-LABEL: test_shrx_i32: -; KNL: # BB#0: +; KNL: # %bb.0: ; KNL-NEXT: shrxl %esi, %edi, %ecx # sched: [1:0.50] ; KNL-NEXT: shrxl %esi, (%rdx), %eax # sched: [1:0.50] ; KNL-NEXT: addl %ecx, %eax # sched: [1:0.25] ; KNL-NEXT: retq # sched: [2:1.00] ; ; ZNVER1-LABEL: test_shrx_i32: -; ZNVER1: # BB#0: +; ZNVER1: # %bb.0: ; ZNVER1-NEXT: shrxl %esi, (%rdx), %eax # sched: [5:0.50] ; ZNVER1-NEXT: shrxl %esi, %edi, %ecx # sched: [1:0.25] ; ZNVER1-NEXT: addl %ecx, %eax # sched: [1:0.25] @@ -729,42 +729,42 @@ define i32 @test_shrx_i32(i32 %a0, i32 %a1, i32 *%a2) { define i64 @test_shrx_i64(i64 %a0, i64 %a1, i64 *%a2) { ; GENERIC-LABEL: test_shrx_i64: -; GENERIC: # BB#0: +; GENERIC: # %bb.0: ; GENERIC-NEXT: shrxq %rsi, %rdi, %rcx # sched: [1:0.50] ; GENERIC-NEXT: shrxq %rsi, (%rdx), %rax # sched: [5:0.50] ; GENERIC-NEXT: addq %rcx, %rax # sched: [1:0.33] ; GENERIC-NEXT: retq # sched: [1:1.00] ; ; HASWELL-LABEL: test_shrx_i64: -; HASWELL: # BB#0: +; HASWELL: # %bb.0: ; HASWELL-NEXT: shrxq %rsi, %rdi, %rcx # sched: [1:0.50] ; HASWELL-NEXT: shrxq %rsi, (%rdx), %rax # sched: [1:0.50] ; HASWELL-NEXT: addq %rcx, %rax # sched: [1:0.25] ; HASWELL-NEXT: retq # sched: [2:1.00] ; ; BROADWELL-LABEL: test_shrx_i64: -; BROADWELL: # BB#0: +; BROADWELL: # %bb.0: ; BROADWELL-NEXT: shrxq %rsi, %rdi, %rcx # sched: [1:0.50] ; BROADWELL-NEXT: shrxq %rsi, (%rdx), %rax # sched: [6:0.50] ; BROADWELL-NEXT: addq %rcx, %rax # sched: [1:0.25] ; BROADWELL-NEXT: retq # sched: [7:1.00] ; ; SKYLAKE-LABEL: test_shrx_i64: -; SKYLAKE: # BB#0: +; SKYLAKE: # %bb.0: ; SKYLAKE-NEXT: shrxq %rsi, %rdi, %rcx # sched: [1:0.50] ; SKYLAKE-NEXT: shrxq %rsi, (%rdx), %rax # sched: [6:0.50] ; SKYLAKE-NEXT: addq %rcx, %rax # sched: [1:0.25] ; SKYLAKE-NEXT: retq # sched: [7:1.00] ; ; KNL-LABEL: test_shrx_i64: -; KNL: # BB#0: +; KNL: # %bb.0: ; KNL-NEXT: shrxq %rsi, %rdi, %rcx # sched: [1:0.50] ; KNL-NEXT: shrxq %rsi, (%rdx), %rax # sched: [1:0.50] ; KNL-NEXT: addq %rcx, %rax # sched: [1:0.25] ; KNL-NEXT: retq # sched: [2:1.00] ; ; ZNVER1-LABEL: test_shrx_i64: -; ZNVER1: # BB#0: +; ZNVER1: # %bb.0: ; ZNVER1-NEXT: shrxq %rsi, (%rdx), %rax # sched: [5:0.50] ; ZNVER1-NEXT: shrxq %rsi, %rdi, %rcx # sched: [1:0.25] ; ZNVER1-NEXT: addq %rcx, %rax # sched: [1:0.25] |