From: Simon Pilgrim Date: Tue, 22 Nov 2016 13:27:29 +0000 (+0000) Subject: Fix line endings X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=60c1ebdc81ee557766d3eec1b7bb17fb6cae42ae;p=llvm Fix line endings git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@287638 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/test/CodeGen/X86/avx512-regcall-Mask.ll b/test/CodeGen/X86/avx512-regcall-Mask.ll index 76e96420c7f..6de9118f7be 100644 --- a/test/CodeGen/X86/avx512-regcall-Mask.ll +++ b/test/CodeGen/X86/avx512-regcall-Mask.ll @@ -1,195 +1,195 @@ -; RUN: llc < %s -mtriple=i386-pc-win32 -mattr=+avx512bw | FileCheck --check-prefix=X32 %s -; RUN: llc < %s -mtriple=x86_64-win32 -mattr=+avx512bw | FileCheck --check-prefix=WIN64 %s -; RUN: llc < %s -mtriple=x86_64-linux-gnu -mattr=+avx512bw | FileCheck --check-prefix=LINUXOSX64 %s - -; X32-LABEL: test_argv64i1: -; X32: kmovd %edx, %k0 -; X32: kmovd %edi, %k1 -; X32: kmovd %eax, %k1 -; X32: kmovd %ecx, %k2 -; X32: ad{{d|c}}l {{([0-9])*}}(%ebp), %e{{a|c}}x -; X32: ad{{d|c}}l {{([0-9])*}}(%ebp), %e{{a|c}}x -; X32: ad{{d|c}}l {{([0-9])*}}(%ebp), %e{{a|c}}x -; X32: ad{{d|c}}l {{([0-9])*}}(%ebp), %e{{a|c}}x -; X32: ad{{d|c}}l {{([0-9])*}}(%ebp), %e{{a|c}}x -; X32: ad{{d|c}}l {{([0-9])*}}(%ebp), %e{{a|c}}x -; X32: ad{{d|c}}l {{([0-9])*}}(%ebp), %e{{a|c}}x -; X32: ad{{d|c}}l {{([0-9])*}}(%ebp), %e{{a|c}}x -; X32: ad{{d|c}}l {{([0-9])*}}(%ebp), %e{{a|c}}x -; X32: ad{{d|c}}l {{([0-9])*}}(%ebp), %e{{a|c}}x -; X32: ad{{d|c}}l {{([0-9])*}}(%ebp), %e{{a|c}}x -; X32: ad{{d|c}}l {{([0-9])*}}(%ebp), %e{{a|c}}x -; X32: ad{{d|c}}l {{([0-9])*}}(%ebp), %e{{a|c}}x -; X32: ad{{d|c}}l {{([0-9])*}}(%ebp), %e{{a|c}}x -; X32: ad{{d|c}}l {{([0-9])*}}(%ebp), %e{{a|c}}x -; X32: ad{{d|c}}l {{([0-9])*}}(%ebp), %e{{a|c}}x -; X32: ad{{d|c}}l {{([0-9])*}}(%ebp), %e{{a|c}}x -; X32: ad{{d|c}}l {{([0-9])*}}(%ebp), %e{{a|c}}x -; X32: ad{{d|c}}l {{([0-9])*}}(%ebp), %e{{a|c}}x -; X32: ad{{d|c}}l {{([0-9])*}}(%ebp), %e{{a|c}}x -; X32: ad{{d|c}}l {{([0-9])*}}(%ebp), %e{{a|c}}x -; X32: ad{{d|c}}l {{([0-9])*}}(%ebp), %e{{a|c}}x -; X32: retl - -; WIN64-LABEL: test_argv64i1: -; WIN64: addq %rcx, %rax -; WIN64: addq %rdx, %rax -; WIN64: addq %rdi, %rax -; WIN64: addq %rsi, %rax -; WIN64: addq %r8, %rax -; WIN64: addq %r9, %rax -; WIN64: addq %r10, %rax -; WIN64: addq %r11, %rax -; WIN64: addq %r12, %rax -; WIN64: addq %r14, %rax -; WIN64: addq %r15, %rax -; WIN64: addq {{([0-9])*}}(%rsp), %rax -; WIN64: retq - -; LINUXOSX64-LABEL: test_argv64i1: -; LINUXOSX64: addq %rcx, %rax -; LINUXOSX64: addq %rdx, %rax -; LINUXOSX64: addq %rdi, %rax -; LINUXOSX64: addq %rsi, %rax -; LINUXOSX64: addq %r8, %rax -; LINUXOSX64: addq %r9, %rax -; LINUXOSX64: addq %r12, %rax -; LINUXOSX64: addq %r13, %rax -; LINUXOSX64: addq %r14, %rax -; LINUXOSX64: addq %r15, %rax -; LINUXOSX64: addq {{([0-9])*}}(%rsp), %rax -; LINUXOSX64: addq {{([0-9])*}}(%rsp), %rax -; LINUXOSX64: retq - -; Test regcall when receiving arguments of v64i1 type -define x86_regcallcc i64 @test_argv64i1(<64 x i1> %x0, <64 x i1> %x1, <64 x i1> %x2, - <64 x i1> %x3, <64 x i1> %x4, <64 x i1> %x5, - <64 x i1> %x6, <64 x i1> %x7, <64 x i1> %x8, - <64 x i1> %x9, <64 x i1> %x10, <64 x i1> %x11, - <64 x i1> %x12) { - %y0 = bitcast <64 x i1> %x0 to i64 - %y1 = bitcast <64 x i1> %x1 to i64 - %y2 = bitcast <64 x i1> %x2 to i64 - %y3 = bitcast <64 x i1> %x3 to i64 - %y4 = bitcast <64 x i1> %x4 to i64 - %y5 = bitcast <64 x i1> %x5 to i64 - %y6 = bitcast <64 x i1> %x6 to i64 - %y7 = bitcast <64 x i1> %x7 to i64 - %y8 = bitcast <64 x i1> %x8 to i64 - %y9 = bitcast <64 x i1> %x9 to i64 - %y10 = bitcast <64 x i1> %x10 to i64 - %y11 = bitcast <64 x i1> %x11 to i64 - %y12 = bitcast <64 x i1> %x12 to i64 - %add1 = add i64 %y0, %y1 - %add2 = add i64 %add1, %y2 - %add3 = add i64 %add2, %y3 - %add4 = add i64 %add3, %y4 - %add5 = add i64 %add4, %y5 - %add6 = add i64 %add5, %y6 - %add7 = add i64 %add6, %y7 - %add8 = add i64 %add7, %y8 - %add9 = add i64 %add8, %y9 - %add10 = add i64 %add9, %y10 - %add11 = add i64 %add10, %y11 - %add12 = add i64 %add11, %y12 - ret i64 %add12 -} - -; X32-LABEL: caller_argv64i1: -; X32: movl $2, %eax -; X32: movl $1, %ecx -; X32: movl $2, %edx -; X32: movl $1, %edi -; X32: pushl ${{1|2}} -; X32: pushl ${{1|2}} -; X32: pushl ${{1|2}} -; X32: pushl ${{1|2}} -; X32: pushl ${{1|2}} -; X32: pushl ${{1|2}} -; X32: pushl ${{1|2}} -; X32: pushl ${{1|2}} -; X32: pushl ${{1|2}} -; X32: pushl ${{1|2}} -; X32: pushl ${{1|2}} -; X32: pushl ${{1|2}} -; X32: pushl ${{1|2}} -; X32: pushl ${{1|2}} -; X32: pushl ${{1|2}} -; X32: pushl ${{1|2}} -; X32: pushl ${{1|2}} -; X32: pushl ${{1|2}} -; X32: pushl ${{1|2}} -; X32: pushl ${{1|2}} -; X32: pushl ${{1|2}} -; X32: pushl ${{1|2}} -; X32: call{{.*}} _test_argv64i1 - -; WIN64-LABEL: caller_argv64i1: -; WIN64: movabsq $4294967298, %rax -; WIN64: movq %rax, (%rsp) -; WIN64: movq %rax, %rcx -; WIN64: movq %rax, %rdx -; WIN64: movq %rax, %rdi -; WIN64: movq %rax, %rsi -; WIN64: movq %rax, %r8 -; WIN64: movq %rax, %r9 -; WIN64: movq %rax, %r10 -; WIN64: movq %rax, %r11 -; WIN64: movq %rax, %r12 -; WIN64: movq %rax, %r14 -; WIN64: movq %rax, %r15 -; WIN64: callq test_argv64i1 - -; LINUXOSX64-LABEL: caller_argv64i1: -; LINUXOSX64: movabsq $4294967298, %rax -; LINUXOSX64: movq %rax, %rcx -; LINUXOSX64: movq %rax, %rdx -; LINUXOSX64: movq %rax, %rdi -; LINUXOSX64: movq %rax, %rsi -; LINUXOSX64: movq %rax, %r8 -; LINUXOSX64: movq %rax, %r9 -; LINUXOSX64: movq %rax, %r12 -; LINUXOSX64: movq %rax, %r13 -; LINUXOSX64: movq %rax, %r14 -; LINUXOSX64: movq %rax, %r15 -; LINUXOSX64: call{{.*}} test_argv64i1 - -; Test regcall when passing arguments of v64i1 type -define x86_regcallcc i64 @caller_argv64i1() #0 { -entry: - %v0 = bitcast i64 4294967298 to <64 x i1> - %call = call x86_regcallcc i64 @test_argv64i1(<64 x i1> %v0, <64 x i1> %v0, <64 x i1> %v0, - <64 x i1> %v0, <64 x i1> %v0, <64 x i1> %v0, - <64 x i1> %v0, <64 x i1> %v0, <64 x i1> %v0, - <64 x i1> %v0, <64 x i1> %v0, <64 x i1> %v0, - <64 x i1> %v0) - ret i64 %call -} - -; X32-LABEL: test_retv64i1: -; X32: mov{{.*}} $2, %eax -; X32: mov{{.*}} $1, %ecx -; X32: ret{{.*}} - -; WIN64-LABEL: test_retv64i1: -; WIN64: mov{{.*}} $4294967298, %rax -; WIN64: ret{{.*}} - -; Test regcall when returning v64i1 type -define x86_regcallcc <64 x i1> @test_retv64i1() { - %a = bitcast i64 4294967298 to <64 x i1> - ret <64 x i1> %a -} - -; X32-LABEL: caller_retv64i1: -; X32: call{{.*}} _test_retv64i1 -; X32: kmov{{.*}} %eax, %k0 -; X32: kmov{{.*}} %ecx, %k1 -; X32: kunpckdq %k0, %k1, %k0 - -; Test regcall when processing result of v64i1 type -define x86_regcallcc <64 x i1> @caller_retv64i1() #0 { -entry: - %call = call x86_regcallcc <64 x i1> @test_retv64i1() - ret <64 x i1> %call -} +; RUN: llc < %s -mtriple=i386-pc-win32 -mattr=+avx512bw | FileCheck --check-prefix=X32 %s +; RUN: llc < %s -mtriple=x86_64-win32 -mattr=+avx512bw | FileCheck --check-prefix=WIN64 %s +; RUN: llc < %s -mtriple=x86_64-linux-gnu -mattr=+avx512bw | FileCheck --check-prefix=LINUXOSX64 %s + +; X32-LABEL: test_argv64i1: +; X32: kmovd %edx, %k0 +; X32: kmovd %edi, %k1 +; X32: kmovd %eax, %k1 +; X32: kmovd %ecx, %k2 +; X32: ad{{d|c}}l {{([0-9])*}}(%ebp), %e{{a|c}}x +; X32: ad{{d|c}}l {{([0-9])*}}(%ebp), %e{{a|c}}x +; X32: ad{{d|c}}l {{([0-9])*}}(%ebp), %e{{a|c}}x +; X32: ad{{d|c}}l {{([0-9])*}}(%ebp), %e{{a|c}}x +; X32: ad{{d|c}}l {{([0-9])*}}(%ebp), %e{{a|c}}x +; X32: ad{{d|c}}l {{([0-9])*}}(%ebp), %e{{a|c}}x +; X32: ad{{d|c}}l {{([0-9])*}}(%ebp), %e{{a|c}}x +; X32: ad{{d|c}}l {{([0-9])*}}(%ebp), %e{{a|c}}x +; X32: ad{{d|c}}l {{([0-9])*}}(%ebp), %e{{a|c}}x +; X32: ad{{d|c}}l {{([0-9])*}}(%ebp), %e{{a|c}}x +; X32: ad{{d|c}}l {{([0-9])*}}(%ebp), %e{{a|c}}x +; X32: ad{{d|c}}l {{([0-9])*}}(%ebp), %e{{a|c}}x +; X32: ad{{d|c}}l {{([0-9])*}}(%ebp), %e{{a|c}}x +; X32: ad{{d|c}}l {{([0-9])*}}(%ebp), %e{{a|c}}x +; X32: ad{{d|c}}l {{([0-9])*}}(%ebp), %e{{a|c}}x +; X32: ad{{d|c}}l {{([0-9])*}}(%ebp), %e{{a|c}}x +; X32: ad{{d|c}}l {{([0-9])*}}(%ebp), %e{{a|c}}x +; X32: ad{{d|c}}l {{([0-9])*}}(%ebp), %e{{a|c}}x +; X32: ad{{d|c}}l {{([0-9])*}}(%ebp), %e{{a|c}}x +; X32: ad{{d|c}}l {{([0-9])*}}(%ebp), %e{{a|c}}x +; X32: ad{{d|c}}l {{([0-9])*}}(%ebp), %e{{a|c}}x +; X32: ad{{d|c}}l {{([0-9])*}}(%ebp), %e{{a|c}}x +; X32: retl + +; WIN64-LABEL: test_argv64i1: +; WIN64: addq %rcx, %rax +; WIN64: addq %rdx, %rax +; WIN64: addq %rdi, %rax +; WIN64: addq %rsi, %rax +; WIN64: addq %r8, %rax +; WIN64: addq %r9, %rax +; WIN64: addq %r10, %rax +; WIN64: addq %r11, %rax +; WIN64: addq %r12, %rax +; WIN64: addq %r14, %rax +; WIN64: addq %r15, %rax +; WIN64: addq {{([0-9])*}}(%rsp), %rax +; WIN64: retq + +; LINUXOSX64-LABEL: test_argv64i1: +; LINUXOSX64: addq %rcx, %rax +; LINUXOSX64: addq %rdx, %rax +; LINUXOSX64: addq %rdi, %rax +; LINUXOSX64: addq %rsi, %rax +; LINUXOSX64: addq %r8, %rax +; LINUXOSX64: addq %r9, %rax +; LINUXOSX64: addq %r12, %rax +; LINUXOSX64: addq %r13, %rax +; LINUXOSX64: addq %r14, %rax +; LINUXOSX64: addq %r15, %rax +; LINUXOSX64: addq {{([0-9])*}}(%rsp), %rax +; LINUXOSX64: addq {{([0-9])*}}(%rsp), %rax +; LINUXOSX64: retq + +; Test regcall when receiving arguments of v64i1 type +define x86_regcallcc i64 @test_argv64i1(<64 x i1> %x0, <64 x i1> %x1, <64 x i1> %x2, + <64 x i1> %x3, <64 x i1> %x4, <64 x i1> %x5, + <64 x i1> %x6, <64 x i1> %x7, <64 x i1> %x8, + <64 x i1> %x9, <64 x i1> %x10, <64 x i1> %x11, + <64 x i1> %x12) { + %y0 = bitcast <64 x i1> %x0 to i64 + %y1 = bitcast <64 x i1> %x1 to i64 + %y2 = bitcast <64 x i1> %x2 to i64 + %y3 = bitcast <64 x i1> %x3 to i64 + %y4 = bitcast <64 x i1> %x4 to i64 + %y5 = bitcast <64 x i1> %x5 to i64 + %y6 = bitcast <64 x i1> %x6 to i64 + %y7 = bitcast <64 x i1> %x7 to i64 + %y8 = bitcast <64 x i1> %x8 to i64 + %y9 = bitcast <64 x i1> %x9 to i64 + %y10 = bitcast <64 x i1> %x10 to i64 + %y11 = bitcast <64 x i1> %x11 to i64 + %y12 = bitcast <64 x i1> %x12 to i64 + %add1 = add i64 %y0, %y1 + %add2 = add i64 %add1, %y2 + %add3 = add i64 %add2, %y3 + %add4 = add i64 %add3, %y4 + %add5 = add i64 %add4, %y5 + %add6 = add i64 %add5, %y6 + %add7 = add i64 %add6, %y7 + %add8 = add i64 %add7, %y8 + %add9 = add i64 %add8, %y9 + %add10 = add i64 %add9, %y10 + %add11 = add i64 %add10, %y11 + %add12 = add i64 %add11, %y12 + ret i64 %add12 +} + +; X32-LABEL: caller_argv64i1: +; X32: movl $2, %eax +; X32: movl $1, %ecx +; X32: movl $2, %edx +; X32: movl $1, %edi +; X32: pushl ${{1|2}} +; X32: pushl ${{1|2}} +; X32: pushl ${{1|2}} +; X32: pushl ${{1|2}} +; X32: pushl ${{1|2}} +; X32: pushl ${{1|2}} +; X32: pushl ${{1|2}} +; X32: pushl ${{1|2}} +; X32: pushl ${{1|2}} +; X32: pushl ${{1|2}} +; X32: pushl ${{1|2}} +; X32: pushl ${{1|2}} +; X32: pushl ${{1|2}} +; X32: pushl ${{1|2}} +; X32: pushl ${{1|2}} +; X32: pushl ${{1|2}} +; X32: pushl ${{1|2}} +; X32: pushl ${{1|2}} +; X32: pushl ${{1|2}} +; X32: pushl ${{1|2}} +; X32: pushl ${{1|2}} +; X32: pushl ${{1|2}} +; X32: call{{.*}} _test_argv64i1 + +; WIN64-LABEL: caller_argv64i1: +; WIN64: movabsq $4294967298, %rax +; WIN64: movq %rax, (%rsp) +; WIN64: movq %rax, %rcx +; WIN64: movq %rax, %rdx +; WIN64: movq %rax, %rdi +; WIN64: movq %rax, %rsi +; WIN64: movq %rax, %r8 +; WIN64: movq %rax, %r9 +; WIN64: movq %rax, %r10 +; WIN64: movq %rax, %r11 +; WIN64: movq %rax, %r12 +; WIN64: movq %rax, %r14 +; WIN64: movq %rax, %r15 +; WIN64: callq test_argv64i1 + +; LINUXOSX64-LABEL: caller_argv64i1: +; LINUXOSX64: movabsq $4294967298, %rax +; LINUXOSX64: movq %rax, %rcx +; LINUXOSX64: movq %rax, %rdx +; LINUXOSX64: movq %rax, %rdi +; LINUXOSX64: movq %rax, %rsi +; LINUXOSX64: movq %rax, %r8 +; LINUXOSX64: movq %rax, %r9 +; LINUXOSX64: movq %rax, %r12 +; LINUXOSX64: movq %rax, %r13 +; LINUXOSX64: movq %rax, %r14 +; LINUXOSX64: movq %rax, %r15 +; LINUXOSX64: call{{.*}} test_argv64i1 + +; Test regcall when passing arguments of v64i1 type +define x86_regcallcc i64 @caller_argv64i1() #0 { +entry: + %v0 = bitcast i64 4294967298 to <64 x i1> + %call = call x86_regcallcc i64 @test_argv64i1(<64 x i1> %v0, <64 x i1> %v0, <64 x i1> %v0, + <64 x i1> %v0, <64 x i1> %v0, <64 x i1> %v0, + <64 x i1> %v0, <64 x i1> %v0, <64 x i1> %v0, + <64 x i1> %v0, <64 x i1> %v0, <64 x i1> %v0, + <64 x i1> %v0) + ret i64 %call +} + +; X32-LABEL: test_retv64i1: +; X32: mov{{.*}} $2, %eax +; X32: mov{{.*}} $1, %ecx +; X32: ret{{.*}} + +; WIN64-LABEL: test_retv64i1: +; WIN64: mov{{.*}} $4294967298, %rax +; WIN64: ret{{.*}} + +; Test regcall when returning v64i1 type +define x86_regcallcc <64 x i1> @test_retv64i1() { + %a = bitcast i64 4294967298 to <64 x i1> + ret <64 x i1> %a +} + +; X32-LABEL: caller_retv64i1: +; X32: call{{.*}} _test_retv64i1 +; X32: kmov{{.*}} %eax, %k0 +; X32: kmov{{.*}} %ecx, %k1 +; X32: kunpckdq %k0, %k1, %k0 + +; Test regcall when processing result of v64i1 type +define x86_regcallcc <64 x i1> @caller_retv64i1() #0 { +entry: + %call = call x86_regcallcc <64 x i1> @test_retv64i1() + ret <64 x i1> %call +}