[PATCH] [X86] Refactor PMOV[SZ]Xrm to add missing AVX2 patterns.
Ahmed Bougacha
ahmed.bougacha at gmail.com
Tue Dec 2 15:37:07 PST 2014
Hi Elena!
So, any thoughts on the sse41.ll tests and associated patterns?
To recap:
- the vzmovl patterns fire on code with scalar loads:
```
%0 = load i64* %p
%tmp2 = insertelement <2 x i64> zeroinitializer, i64 %0, i32 0
%1 = bitcast <2 x i64> %tmp2 to <8 x i16>
%2 = call <4 x i32> @llvm.x86.sse41.pmovsxwd(<8 x i16> %1)
```
- the vzload patterns fire on the same code, but in 32-bit mode
- the loadf64 patterns fire on vector loads of a 64-bit type, in 32-bit mode (where load f64 is legal, but load i64 isn't):
```
%X = load <2 x i32>* %ptr
%Y = sext <2 x i32> %X to <2 x i64>
```
The other patterns cover the expected scalar load + extension, or vector load + extension (for intrinsics).
-Ahmed
http://reviews.llvm.org/D6125
More information about the llvm-commits
mailing list