47 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc < %s -mtriple=i386-unknown -mattr=+sse2 | FileCheck %s --check-prefix=X863; RUN: llc < %s -mtriple=x86_64-unknown -mattr=+sse2 | FileCheck %s --check-prefix=X644 5; These should both generate something like this:6;_test3:7; movl $1234567, %eax8; andl 4(%esp), %eax9; movd %eax, %xmm010; ret11 12define <2 x i64> @test3(i64 %arg) nounwind {13; X86-LABEL: test3:14; X86: # %bb.0:15; X86-NEXT: movl $1234567, %eax # imm = 0x12D68716; X86-NEXT: andl {{[0-9]+}}(%esp), %eax17; X86-NEXT: movd %eax, %xmm018; X86-NEXT: retl19;20; X64-LABEL: test3:21; X64: # %bb.0:22; X64-NEXT: andl $1234567, %edi # imm = 0x12D68723; X64-NEXT: movd %edi, %xmm024; X64-NEXT: retq25 %A = and i64 %arg, 123456726 %B = insertelement <2 x i64> zeroinitializer, i64 %A, i32 027 ret <2 x i64> %B28}29 30define <2 x i64> @test2(i64 %arg) nounwind {31; X86-LABEL: test2:32; X86: # %bb.0:33; X86-NEXT: movl $1234567, %eax # imm = 0x12D68734; X86-NEXT: andl {{[0-9]+}}(%esp), %eax35; X86-NEXT: movd %eax, %xmm036; X86-NEXT: retl37;38; X64-LABEL: test2:39; X64: # %bb.0:40; X64-NEXT: andl $1234567, %edi # imm = 0x12D68741; X64-NEXT: movd %edi, %xmm042; X64-NEXT: retq43 %A = and i64 %arg, 123456744 %B = insertelement <2 x i64> undef, i64 %A, i32 045 ret <2 x i64> %B46}47