Third question: (sorry) NEON intrinsics. Some of them are direct operations (types are the same, return type is the same), some of them are intrinsics. So far so good, but why not make them all intrinsics? I mean, it's ok to have ADD <i8 x 8> transform into a NEON operation, but why not have *also* the intrinsic for VADD? I've seen some intrinsics get changed to raw instructions in the validator, VADD and others could also be done the same way. If no one objects, I'll create them in the table gen files. It's not important, just would be good to keep consistency (and easier to generate IR). -- cheers, --renato http://systemcall.org/ Reclaim your digital rights, eliminate DRM, learn more at http://www.defectivebydesign.org/what_is_drm
On Sep 21, 2010, at 10:09 AM, Renato Golin wrote:> Third question: (sorry) > > NEON intrinsics. Some of them are direct operations (types are the > same, return type is the same), some of them are intrinsics. > > So far so good, but why not make them all intrinsics? I mean, it's ok > to have ADD <i8 x 8> transform into a NEON operation, but why not have > *also* the intrinsic for VADD? I've seen some intrinsics get changed > to raw instructions in the validator, VADD and others could also be > done the same way. > > If no one objects, I'll create them in the table gen files. It's not > important, just would be good to keep consistency (and easier to > generate IR).There's no reason to have clang builtins for operations that can be represented directly. It just bloats the compiler. Please don't do that.
On 21 September 2010 19:19, Bob Wilson <bob.wilson at apple.com> wrote:> There's no reason to have clang builtins for operations that can be represented directly. It just bloats the compiler. Please don't do that.Ok, so why are some in there already? There is a validation pass (in a pretty generic place, not ARM related: VMCore/AutoUpgrade.cpp) that filters them out as plain instructions. Shouldn't them get removed as well? -- cheers, --renato http://systemcall.org/ Reclaim your digital rights, eliminate DRM, learn more at http://www.defectivebydesign.org/what_is_drm