Displaying 6 results from an estimated 6 matches for "vpmovmskb".
2018 Nov 26
2
Vectorizer has trouble with vpmovmskb and store
...%a1 = icmp slt <16 x i8> %a0, zeroinitializer
%a2 = bitcast <16 x i1> %a1 to i16
%astore = getelementptr inbounds <8 x i16>, <8 x i16>* %egress, i64 0,
i64 7
;store i16 %a2, i16* %astore
ret i16 %a2
}
```
The optimizer recognizes this and llc nicely outputs a vpmovmskb
instruction:
```
foo: # @foo
vpmovmskb eax, xmm0
ret
```
Writing to the output vector also works well:
```
define void @writing(<8 x i16>* dereferenceable(16) %egress, <16 x i8> %a0)
{
%astore = getelementptr inbounds <8 x i16>, <8 x i16>* %egress, i64 0,
i64 7...
2018 Nov 27
2
Vectorizer has trouble with vpmovmskb and store
...itcast <16 x i1> %a1 to i16
>> %astore = getelementptr inbounds <8 x i16>, <8 x i16>* %egress, i64 0,
>> i64 7
>> ;store i16 %a2, i16* %astore
>> ret i16 %a2
>> }
>> ```
>> The optimizer recognizes this and llc nicely outputs a vpmovmskb
>> instruction:
>> ```
>> foo: # @foo
>> vpmovmskb eax, xmm0
>> ret
>> ```
>>
>> Writing to the output vector also works well:
>> ```
>> define void @writing(<8 x i16>* dereferenceable(16) %egress, <16 x i8>
>> %a...
2013 Aug 28
3
[PATCH] x86: AVX instruction emulation fixes
...6_emulate(&ctxt, &emulops);
+ if ( rc != X86EMUL_OKAY )
+ goto fail;
+#if 0 /* Don''t use AVX2 instructions for now */
+ asm ( "vpcmpeqb %%ymm2, %%ymm2, %%ymm2\n\t"
+ "vpcmpeqb %%ymm4, %%ymm2, %%ymm0\n\t"
+ "vpmovmskb %%ymm1, %0" : "=r" (rc) );
+#else
+ asm ( "vextractf128 $1, %%ymm4, %%xmm3\n\t"
+ "vpcmpeqb %%xmm2, %%xmm2, %%xmm2\n\t"
+ "vpcmpeqb %%xmm4, %%xmm2, %%xmm0\n\t"
+ "vpcmpeqb %%xmm3, %%xmm2, %%xmm1\n\t"...
2018 Apr 26
2
windows ABI problem with i128?
...mov %rdx,-0x28(%rbp)
63: 48 89 45 d0 mov %rax,-0x30(%rbp)
67: c5 fa 6f 45 d0 vmovdqu -0x30(%rbp),%xmm0
6c: c5 fa 6f 4d e0 vmovdqu -0x20(%rbp),%xmm1
71: c5 f9 74 c1 vpcmpeqb %xmm1,%xmm0,%xmm0
75: c5 79 d7 c0 vpmovmskb %xmm0,%r8d
79: 41 81 e8 ff ff 00 00 sub $0xffff,%r8d
80: 44 89 45 cc mov %r8d,-0x34(%rbp)
84: 74 06 je 8c <_start+0x7c>
86: eb 00 jmp 88 <_start+0x78>
88: eb 00 jmp 8a <...
2018 Apr 26
0
windows ABI problem with i128?
...)
> 63: 48 89 45 d0 mov %rax,-0x30(%rbp)
> 67: c5 fa 6f 45 d0 vmovdqu -0x30(%rbp),%xmm0
> 6c: c5 fa 6f 4d e0 vmovdqu -0x20(%rbp),%xmm1
> 71: c5 f9 74 c1 vpcmpeqb %xmm1,%xmm0,%xmm0
> 75: c5 79 d7 c0 vpmovmskb %xmm0,%r8d
> 79: 41 81 e8 ff ff 00 00 sub $0xffff,%r8d
> 80: 44 89 45 cc mov %r8d,-0x34(%rbp)
> 84: 74 06 je 8c <_start+0x7c>
> 86: eb 00 jmp 88 <_start+0x78>
> 88: eb 00...
2018 Apr 26
1
windows ABI problem with i128?
...9 45 d0 mov %rax,-0x30(%rbp)
> > 67: c5 fa 6f 45 d0 vmovdqu -0x30(%rbp),%xmm0
> > 6c: c5 fa 6f 4d e0 vmovdqu -0x20(%rbp),%xmm1
> > 71: c5 f9 74 c1 vpcmpeqb %xmm1,%xmm0,%xmm0
> > 75: c5 79 d7 c0 vpmovmskb %xmm0,%r8d
> > 79: 41 81 e8 ff ff 00 00 sub $0xffff,%r8d
> > 80: 44 89 45 cc mov %r8d,-0x34(%rbp)
> > 84: 74 06 je 8c <_start+0x7c>
> > 86: eb 00 jmp 88 <_start+0x78>
> >...