[PATCH] Use vmovss to handle inserting an element into index 0 of a v8f32 vector of zeros.
Sanjay Patel
spatel at rotateright.com
Tue Mar 3 08:59:41 PST 2015
Can we move the mask check into lower256BitVectorShuffle() ?
Otherwise, we'll need to duplicate the logic to catch the following cases:
define <4 x i64> @mov_v4i64(i64* %ptr) {
%val = load i64, i64* %ptr
%i0 = insertelement <4 x i64> zeroinitializer, i64 %val, i32 0
ret <4 x i64> %i0
}
define <8 x i32> @mov_v8i32(i32* %ptr) {
%val = load i32, i32* %ptr
%i0 = insertelement <8 x i32> zeroinitializer, i32 %val, i32 0
ret <8 x i32> %i0
}
define <16 x i16> @mov_v16i16(i16* %ptr) {
%val = load i16, i16* %ptr
%i0 = insertelement <16 x i16> zeroinitializer, i16 %val, i32 0
ret <16 x i16> %i0
}
define <32 x i8> @mov_v32i8(i8* %ptr) {
%val = load i8, i8* %ptr
%i0 = insertelement <32 x i8> zeroinitializer, i8 %val, i32 0
ret <32 x i8> %i0
}
http://reviews.llvm.org/D7898
EMAIL PREFERENCES
http://reviews.llvm.org/settings/panel/emailpreferences/
More information about the llvm-commits
mailing list