Mercurial > hg > Members > tobaru > cbc > CbC_llvm
view test/CodeGen/X86/pr15267.ll @ 33:e4204d083e25
LLVM 3.5
author | Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp> |
---|---|
date | Thu, 12 Dec 2013 14:32:10 +0900 |
parents | 95c75e76d11b |
children | 54457678186b |
line wrap: on
line source
; RUN: llc < %s -mtriple=x86_64-pc-linux -mcpu=corei7-avx | FileCheck %s define <4 x i3> @test1(<4 x i3>* %in) nounwind { %ret = load <4 x i3>* %in, align 1 ret <4 x i3> %ret } ; CHECK: test1 ; CHECK: movzwl ; CHECK: shrl $3 ; CHECK: andl $7 ; CHECK: andl $7 ; CHECK: vmovd ; CHECK: pinsrd $1 ; CHECK: shrl $6 ; CHECK: andl $7 ; CHECK: pinsrd $2 ; CHECK: shrl $9 ; CHECK: andl $7 ; CHECK: pinsrd $3 ; CHECK: ret define <4 x i1> @test2(<4 x i1>* %in) nounwind { %ret = load <4 x i1>* %in, align 1 ret <4 x i1> %ret } ; CHECK: test2 ; CHECK: movzbl ; CHECK: shrl ; CHECK: andl $1 ; CHECK: andl $1 ; CHECK: vmovd ; CHECK: pinsrd $1 ; CHECK: shrl $2 ; CHECK: andl $1 ; CHECK: pinsrd $2 ; CHECK: shrl $3 ; CHECK: andl $1 ; CHECK: pinsrd $3 ; CHECK: ret define <4 x i64> @test3(<4 x i1>* %in) nounwind { %wide.load35 = load <4 x i1>* %in, align 1 %sext = sext <4 x i1> %wide.load35 to <4 x i64> ret <4 x i64> %sext } ; CHECK: test3 ; CHECK: movzbl ; CHECK: shrl ; CHECK: andl $1 ; CHECK: andl $1 ; CHECK: vmovd ; CHECK: pinsrd $1 ; CHECK: shrl $2 ; CHECK: andl $1 ; CHECK: pinsrd $2 ; CHECK: shrl $3 ; CHECK: andl $1 ; CHECK: pinsrd $3 ; CHECK: pslld ; CHECK: psrad ; CHECK: pmovsxdq ; CHECK: pmovsxdq ; CHECK: ret