[llvm-dev] array fill idioms
Bagel via llvm-dev
llvm-dev at lists.llvm.org
Thu Nov 10 14:17:00 PST 2016
On 11/10/2016 04:07 PM, Ryan Taylor wrote:
> Like a list initializer, but will do partials/slices?
>
More than just an initializer, and yes it must do partials/slices. More like
std:fill in C++;
> Are you just looking to create an intrinsic that will generate a jump to a lib
> routine?
>
If all else fails, then call a library routine. But if the number of elements
is "small" and suitably aligned, them perhaps several elements can be filled by
a simple load a constant and store.
> On Thu, Nov 10, 2016 at 5:02 PM, Bagel via llvm-dev <llvm-dev at lists.llvm.org
> <mailto:llvm-dev at lists.llvm.org>> wrote:
>
> Yes, I know this works peachy keen for char arrays. I'm looking at (which is
> hard to express in C) something like
>
> void foo () {
> int bar[20] = { 42, 42, ..., 42 };
> }
>
> I don't want to do a memcopy of the 20 element constant array, and memset
> doesn't work here. I want an intrinsic that copys the scalar int constant 42
> to each element of the int array.
>
> bagel
More information about the llvm-dev
mailing list