brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.8 KiB · 25a8055 Raw
79 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc < %s -mtriple=i686-unknown -mattr=+sse4.1 | FileCheck %s --check-prefix=X863; RUN: llc < %s -mtriple=x86_64-unknown -mattr=+sse4.1 | FileCheck %s --check-prefix=X644 5define <2 x i64> @shl1(<4 x i32> %r, <4 x i32> %a) nounwind readnone ssp {6; X86-LABEL: shl1:7; X86:       # %bb.0: # %entry8; X86-NEXT:    pslld $23, %xmm19; X86-NEXT:    paddd {{\.?LCPI[0-9]+_[0-9]+}}, %xmm110; X86-NEXT:    cvttps2dq %xmm1, %xmm111; X86-NEXT:    pmulld %xmm1, %xmm012; X86-NEXT:    retl13;14; X64-LABEL: shl1:15; X64:       # %bb.0: # %entry16; X64-NEXT:    pslld $23, %xmm117; X64-NEXT:    paddd {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm118; X64-NEXT:    cvttps2dq %xmm1, %xmm119; X64-NEXT:    pmulld %xmm1, %xmm020; X64-NEXT:    retq21entry:22  %shl = shl <4 x i32> %r, %a                     ; <<4 x i32>> [#uses=1]23  %tmp2 = bitcast <4 x i32> %shl to <2 x i64>     ; <<2 x i64>> [#uses=1]24  ret <2 x i64> %tmp225}26 27define <2 x i64> @shl2(<16 x i8> %r, <16 x i8> %a) nounwind readnone ssp {28; X86-LABEL: shl2:29; X86:       # %bb.0: # %entry30; X86-NEXT:    movdqa %xmm1, %xmm231; X86-NEXT:    movdqa %xmm0, %xmm132; X86-NEXT:    psllw $5, %xmm233; X86-NEXT:    movdqa %xmm0, %xmm334; X86-NEXT:    psllw $4, %xmm335; X86-NEXT:    pand {{\.?LCPI[0-9]+_[0-9]+}}, %xmm336; X86-NEXT:    movdqa %xmm2, %xmm037; X86-NEXT:    pblendvb %xmm0, %xmm3, %xmm138; X86-NEXT:    movdqa %xmm1, %xmm339; X86-NEXT:    psllw $2, %xmm340; X86-NEXT:    pand {{\.?LCPI[0-9]+_[0-9]+}}, %xmm341; X86-NEXT:    paddb %xmm2, %xmm242; X86-NEXT:    movdqa %xmm2, %xmm043; X86-NEXT:    pblendvb %xmm0, %xmm3, %xmm144; X86-NEXT:    movdqa %xmm1, %xmm345; X86-NEXT:    paddb %xmm1, %xmm346; X86-NEXT:    paddb %xmm2, %xmm247; X86-NEXT:    movdqa %xmm2, %xmm048; X86-NEXT:    pblendvb %xmm0, %xmm3, %xmm149; X86-NEXT:    movdqa %xmm1, %xmm050; X86-NEXT:    retl51;52; X64-LABEL: shl2:53; X64:       # %bb.0: # %entry54; X64-NEXT:    movdqa %xmm0, %xmm255; X64-NEXT:    psllw $5, %xmm156; X64-NEXT:    movdqa %xmm0, %xmm357; X64-NEXT:    psllw $4, %xmm358; X64-NEXT:    pand {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm359; X64-NEXT:    movdqa %xmm1, %xmm060; X64-NEXT:    pblendvb %xmm0, %xmm3, %xmm261; X64-NEXT:    movdqa %xmm2, %xmm362; X64-NEXT:    psllw $2, %xmm363; X64-NEXT:    pand {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm364; X64-NEXT:    paddb %xmm1, %xmm165; X64-NEXT:    movdqa %xmm1, %xmm066; X64-NEXT:    pblendvb %xmm0, %xmm3, %xmm267; X64-NEXT:    movdqa %xmm2, %xmm368; X64-NEXT:    paddb %xmm2, %xmm369; X64-NEXT:    paddb %xmm1, %xmm170; X64-NEXT:    movdqa %xmm1, %xmm071; X64-NEXT:    pblendvb %xmm0, %xmm3, %xmm272; X64-NEXT:    movdqa %xmm2, %xmm073; X64-NEXT:    retq74entry:75  %shl = shl <16 x i8> %r, %a                     ; <<16 x i8>> [#uses=1]76  %tmp2 = bitcast <16 x i8> %shl to <2 x i64>     ; <<2 x i64>> [#uses=1]77  ret <2 x i64> %tmp278}79