1*9880d681SAndroid Build Coastguard Worker; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py 2*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -mtriple=i386-unknown -mattr=+sse2 | FileCheck %s 3*9880d681SAndroid Build Coastguard Worker 4*9880d681SAndroid Build Coastguard Worker; These should both generate something like this: 5*9880d681SAndroid Build Coastguard Worker;_test3: 6*9880d681SAndroid Build Coastguard Worker; movl $1234567, %eax 7*9880d681SAndroid Build Coastguard Worker; andl 4(%esp), %eax 8*9880d681SAndroid Build Coastguard Worker; movd %eax, %xmm0 9*9880d681SAndroid Build Coastguard Worker; ret 10*9880d681SAndroid Build Coastguard Worker 11*9880d681SAndroid Build Coastguard Workerdefine <2 x i64> @test3(i64 %arg) nounwind { 12*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test3: 13*9880d681SAndroid Build Coastguard Worker; CHECK: # BB#0: 14*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: movl $1234567, %eax # imm = 0x12D687 15*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: andl {{[0-9]+}}(%esp), %eax 16*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: movd %eax, %xmm0 17*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: retl 18*9880d681SAndroid Build Coastguard Worker %A = and i64 %arg, 1234567 19*9880d681SAndroid Build Coastguard Worker %B = insertelement <2 x i64> zeroinitializer, i64 %A, i32 0 20*9880d681SAndroid Build Coastguard Worker ret <2 x i64> %B 21*9880d681SAndroid Build Coastguard Worker} 22*9880d681SAndroid Build Coastguard Worker 23*9880d681SAndroid Build Coastguard Workerdefine <2 x i64> @test2(i64 %arg) nounwind { 24*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test2: 25*9880d681SAndroid Build Coastguard Worker; CHECK: # BB#0: 26*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: movl $1234567, %eax # imm = 0x12D687 27*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: andl {{[0-9]+}}(%esp), %eax 28*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: movd %eax, %xmm0 29*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: retl 30*9880d681SAndroid Build Coastguard Worker %A = and i64 %arg, 1234567 31*9880d681SAndroid Build Coastguard Worker %B = insertelement <2 x i64> undef, i64 %A, i32 0 32*9880d681SAndroid Build Coastguard Worker ret <2 x i64> %B 33*9880d681SAndroid Build Coastguard Worker} 34*9880d681SAndroid Build Coastguard Worker 35