brintos

brintos / llvm-project-archived public Read only

0
0
Text · 6.2 KiB · 7f53e36 Raw
130 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 42; RUN: llc -mtriple=x86_64-linux-gnu -mattr=+sse,-sse2  %s -o - | FileCheck %s --check-prefixes SSE-X643; RUN: llc -mtriple=x86_64-linux-gnu -mattr=+sse,-sse2 -fast-isel %s -o - | FileCheck %s --check-prefixes SSE-X644; RUN: llc -mtriple=x86_64-linux-gnu -mattr=+sse,-sse2 -global-isel -global-isel-abort=1 %s -o - | FileCheck %s --check-prefixes SSE-X64-GISEL5; RUN: llc -mtriple=i686-linux-gnu -mattr=+sse,-sse2  %s -o - | FileCheck %s --check-prefixes SSE-X866; RUN: llc -mtriple=i686-linux-gnu -mattr=+sse,-sse2 -fast-isel %s -o - | FileCheck %s --check-prefixes SSE-X867; RUN: llc -mtriple=i686-linux-gnu -mattr=+sse,-sse2 -global-isel -global-isel-abort=1 %s -o - | FileCheck %s --check-prefixes SSE-X86-GISEL8 9define <8 x i32> @test_vector_v8i32() {10; SSE-X64-LABEL: test_vector_v8i32:11; SSE-X64:       # %bb.0:12; SSE-X64-NEXT:    movq %rdi, %rax13; SSE-X64-NEXT:    movabsq $3043555126665690671, %rcx # imm = 0x2A3CE143233A3E2F14; SSE-X64-NEXT:    movq %rcx, 24(%rdi)15; SSE-X64-NEXT:    movabsq $-2720818644236378031, %rcx # imm = 0xDA3DB5DBCC07E05116; SSE-X64-NEXT:    movq %rcx, 16(%rdi)17; SSE-X64-NEXT:    movabsq $3043545045377446960, %rcx # imm = 0x2A3CD817E79F743018; SSE-X64-NEXT:    movq %rcx, 8(%rdi)19; SSE-X64-NEXT:    movabsq $-2715530310134355376, %rcx # imm = 0xDA507F9207A2AA5020; SSE-X64-NEXT:    movq %rcx, (%rdi)21; SSE-X64-NEXT:    retq22;23; SSE-X64-GISEL-LABEL: test_vector_v8i32:24; SSE-X64-GISEL:       # %bb.0:25; SSE-X64-GISEL-NEXT:    movq %rdi, %rax26; SSE-X64-GISEL-NEXT:    movl $128100944, (%rdi) # imm = 0x7A2AA5027; SSE-X64-GISEL-NEXT:    movl $-632258670, 4(%rdi) # imm = 0xDA507F9228; SSE-X64-GISEL-NEXT:    movl $-408980432, 8(%rdi) # imm = 0xE79F743029; SSE-X64-GISEL-NEXT:    movl $708630551, 12(%rdi) # imm = 0x2A3CD81730; SSE-X64-GISEL-NEXT:    movl $-871899055, 16(%rdi) # imm = 0xCC07E05131; SSE-X64-GISEL-NEXT:    movl $-633489957, 20(%rdi) # imm = 0xDA3DB5DB32; SSE-X64-GISEL-NEXT:    movl $591019567, 24(%rdi) # imm = 0x233A3E2F33; SSE-X64-GISEL-NEXT:    movl $708632899, 28(%rdi) # imm = 0x2A3CE14334; SSE-X64-GISEL-NEXT:    retq35;36; SSE-X86-LABEL: test_vector_v8i32:37; SSE-X86:       # %bb.0:38; SSE-X86-NEXT:    movl {{[0-9]+}}(%esp), %eax39; SSE-X86-NEXT:    movl $708632899, 28(%eax) # imm = 0x2A3CE14340; SSE-X86-NEXT:    movl $591019567, 24(%eax) # imm = 0x233A3E2F41; SSE-X86-NEXT:    movl $-633489957, 20(%eax) # imm = 0xDA3DB5DB42; SSE-X86-NEXT:    movl $-871899055, 16(%eax) # imm = 0xCC07E05143; SSE-X86-NEXT:    movl $708630551, 12(%eax) # imm = 0x2A3CD81744; SSE-X86-NEXT:    movl $-408980432, 8(%eax) # imm = 0xE79F743045; SSE-X86-NEXT:    movl $-632258670, 4(%eax) # imm = 0xDA507F9246; SSE-X86-NEXT:    movl $128100944, (%eax) # imm = 0x7A2AA5047; SSE-X86-NEXT:    retl $448;49; SSE-X86-GISEL-LABEL: test_vector_v8i32:50; SSE-X86-GISEL:       # %bb.0:51; SSE-X86-GISEL-NEXT:    movl {{[0-9]+}}(%esp), %eax52; SSE-X86-GISEL-NEXT:    movl $128100944, (%eax) # imm = 0x7A2AA5053; SSE-X86-GISEL-NEXT:    movl $-632258670, 4(%eax) # imm = 0xDA507F9254; SSE-X86-GISEL-NEXT:    movl $-408980432, 8(%eax) # imm = 0xE79F743055; SSE-X86-GISEL-NEXT:    movl $708630551, 12(%eax) # imm = 0x2A3CD81756; SSE-X86-GISEL-NEXT:    movl $-871899055, 16(%eax) # imm = 0xCC07E05157; SSE-X86-GISEL-NEXT:    movl $-633489957, 20(%eax) # imm = 0xDA3DB5DB58; SSE-X86-GISEL-NEXT:    movl $591019567, 24(%eax) # imm = 0x233A3E2F59; SSE-X86-GISEL-NEXT:    movl $708632899, 28(%eax) # imm = 0x2A3CE14360; SSE-X86-GISEL-NEXT:    retl61  ret <8 x i32> <i32 128100944, i32 3662708626, i32 3885986864, i32 708630551, i32 -871899055, i32 3661477339, i32 4885986863, i32 708632899>62}63 64define <4 x i32> @test_vector_v4i32() {65; SSE-X64-LABEL: test_vector_v4i32:66; SSE-X64:       # %bb.0:67; SSE-X64-NEXT:    movq %rdi, %rax68; SSE-X64-NEXT:    movabsq $3043545045377446960, %rcx # imm = 0x2A3CD817E79F743069; SSE-X64-NEXT:    movq %rcx, 8(%rdi)70; SSE-X64-NEXT:    movabsq $-2715530310134355376, %rcx # imm = 0xDA507F9207A2AA5071; SSE-X64-NEXT:    movq %rcx, (%rdi)72; SSE-X64-NEXT:    retq73;74; SSE-X64-GISEL-LABEL: test_vector_v4i32:75; SSE-X64-GISEL:       # %bb.0:76; SSE-X64-GISEL-NEXT:    movq %rdi, %rax77; SSE-X64-GISEL-NEXT:    movaps {{.*#+}} xmm0 = [128100944,3662708626,3885986864,708630551]78; SSE-X64-GISEL-NEXT:    movaps %xmm0, (%rdi)79; SSE-X64-GISEL-NEXT:    retq80;81; SSE-X86-LABEL: test_vector_v4i32:82; SSE-X86:       # %bb.0:83; SSE-X86-NEXT:    movl {{[0-9]+}}(%esp), %eax84; SSE-X86-NEXT:    movl $708630551, 12(%eax) # imm = 0x2A3CD81785; SSE-X86-NEXT:    movl $-408980432, 8(%eax) # imm = 0xE79F743086; SSE-X86-NEXT:    movl $-632258670, 4(%eax) # imm = 0xDA507F9287; SSE-X86-NEXT:    movl $128100944, (%eax) # imm = 0x7A2AA5088; SSE-X86-NEXT:    retl $489;90; SSE-X86-GISEL-LABEL: test_vector_v4i32:91; SSE-X86-GISEL:       # %bb.0:92; SSE-X86-GISEL-NEXT:    movl {{[0-9]+}}(%esp), %eax93; SSE-X86-GISEL-NEXT:    movaps {{.*#+}} xmm0 = [128100944,3662708626,3885986864,708630551]94; SSE-X86-GISEL-NEXT:    movaps %xmm0, (%eax)95; SSE-X86-GISEL-NEXT:    retl96  ret <4 x i32> <i32 128100944, i32 3662708626, i32 3885986864, i32 708630551>97}98 99define <3 x i32> @test_vector_v3i32() {100; SSE-X64-LABEL: test_vector_v3i32:101; SSE-X64:       # %bb.0:102; SSE-X64-NEXT:    movl $128100944, %eax # imm = 0x7A2AA50103; SSE-X64-NEXT:    movl $-632258670, %edx # imm = 0xDA507F92104; SSE-X64-NEXT:    movl $-408980432, %ecx # imm = 0xE79F7430105; SSE-X64-NEXT:    retq106;107; SSE-X64-GISEL-LABEL: test_vector_v3i32:108; SSE-X64-GISEL:       # %bb.0:109; SSE-X64-GISEL-NEXT:    movl $128100944, %eax # imm = 0x7A2AA50110; SSE-X64-GISEL-NEXT:    movl $-632258670, %edx # imm = 0xDA507F92111; SSE-X64-GISEL-NEXT:    movl $-408980432, %ecx # imm = 0xE79F7430112; SSE-X64-GISEL-NEXT:    retq113;114; SSE-X86-LABEL: test_vector_v3i32:115; SSE-X86:       # %bb.0:116; SSE-X86-NEXT:    movl $128100944, %eax # imm = 0x7A2AA50117; SSE-X86-NEXT:    movl $-632258670, %edx # imm = 0xDA507F92118; SSE-X86-NEXT:    movl $-408980432, %ecx # imm = 0xE79F7430119; SSE-X86-NEXT:    retl120;121; SSE-X86-GISEL-LABEL: test_vector_v3i32:122; SSE-X86-GISEL:       # %bb.0:123; SSE-X86-GISEL-NEXT:    movl $128100944, %eax # imm = 0x7A2AA50124; SSE-X86-GISEL-NEXT:    movl $-632258670, %edx # imm = 0xDA507F92125; SSE-X86-GISEL-NEXT:    movl $-408980432, %ecx # imm = 0xE79F7430126; SSE-X86-GISEL-NEXT:    retl127  ret <3 x i32> <i32 128100944, i32 3662708626, i32 3885986864>128}129 130