Please use GitHub pull requests for new patches. Phabricator shutdown timeline
Changeset View
Changeset View
Standalone View
Standalone View
llvm/trunk/test/CodeGen/X86/masked_gather_scatter.ll
Show First 20 Lines • Show All 2,639 Lines • ▼ Show 20 Lines | |||||
; SKX-NEXT: vpsrad $24, %ymm0, %ymm1 | ; SKX-NEXT: vpsrad $24, %ymm0, %ymm1 | ||||
; SKX-NEXT: vgatherdps (%rdi,%ymm1,4), %ymm0 {%k1} | ; SKX-NEXT: vgatherdps (%rdi,%ymm1,4), %ymm0 {%k1} | ||||
; SKX-NEXT: retq | ; SKX-NEXT: retq | ||||
; | ; | ||||
; SKX_32-LABEL: sext_v8i8_index: | ; SKX_32-LABEL: sext_v8i8_index: | ||||
; SKX_32: # %bb.0: | ; SKX_32: # %bb.0: | ||||
; SKX_32-NEXT: vpmovzxwd {{.*#+}} ymm0 = xmm0[0],zero,xmm0[1],zero,xmm0[2],zero,xmm0[3],zero,xmm0[4],zero,xmm0[5],zero,xmm0[6],zero,xmm0[7],zero | ; SKX_32-NEXT: vpmovzxwd {{.*#+}} ymm0 = xmm0[0],zero,xmm0[1],zero,xmm0[2],zero,xmm0[3],zero,xmm0[4],zero,xmm0[5],zero,xmm0[6],zero,xmm0[7],zero | ||||
; SKX_32-NEXT: movl {{[0-9]+}}(%esp), %eax | ; SKX_32-NEXT: movl {{[0-9]+}}(%esp), %eax | ||||
; SKX_32-NEXT: kxnorw %k0, %k0, %k1 | |||||
; SKX_32-NEXT: vpslld $24, %ymm0, %ymm0 | ; SKX_32-NEXT: vpslld $24, %ymm0, %ymm0 | ||||
; SKX_32-NEXT: vpsrad $24, %ymm0, %ymm1 | ; SKX_32-NEXT: vpsrad $24, %ymm0, %ymm1 | ||||
; SKX_32-NEXT: kxnorw %k0, %k0, %k1 | |||||
; SKX_32-NEXT: vgatherdps (%eax,%ymm1,4), %ymm0 {%k1} | ; SKX_32-NEXT: vgatherdps (%eax,%ymm1,4), %ymm0 {%k1} | ||||
; SKX_32-NEXT: retl | ; SKX_32-NEXT: retl | ||||
%sext_ind = sext <8 x i8> %ind to <8 x i64> | %sext_ind = sext <8 x i8> %ind to <8 x i64> | ||||
%gep.random = getelementptr float, float *%base, <8 x i64> %sext_ind | %gep.random = getelementptr float, float *%base, <8 x i64> %sext_ind | ||||
%res = call <8 x float> @llvm.masked.gather.v8f32.v8p0f32(<8 x float*> %gep.random, i32 4, <8 x i1> <i1 true, i1 true, i1 true, i1 true, i1 true, i1 true, i1 true, i1 true>, <8 x float> undef) | %res = call <8 x float> @llvm.masked.gather.v8f32.v8p0f32(<8 x float*> %gep.random, i32 4, <8 x i1> <i1 true, i1 true, i1 true, i1 true, i1 true, i1 true, i1 true, i1 true>, <8 x float> undef) | ||||
ret <8 x float>%res | ret <8 x float>%res | ||||
▲ Show 20 Lines • Show All 308 Lines • Show Last 20 Lines |