search for: __builtin_ia32_haddpd

Displaying 4 results from an estimated 4 matches for "__builtin_ia32_haddpd".

Did you mean: __builtin_ia32_haddps
2010 Sep 12
2
[LLVMdev] GCCBuiltin and Intrinsic Mapping
I've run into an issue specifying intrinsics for AVX. Right now one can use GCCBuiltin to get automatic CBE (and other) support for emitting intrinsics as gcc builtins. It looks like this: def int_x86_sse3_hadd_pd : GCCBuiltin<"__builtin_ia32_haddpd">, Intrinsic<[llvm_v2f64_ty], [llvm_v2f64_ty, llvm_v2f64_ty], [IntrNoMem]>; AVX has 128-bit instructions that work exactly like SSE instructions except they have non-destructive operands. gcc defines intrinsics for 256-bit operations but does n...
2010 Sep 12
0
[LLVMdev] GCCBuiltin and Intrinsic Mapping
...at cray.com> wrote: > I've run into an issue specifying intrinsics for AVX. > > Right now one can use GCCBuiltin to get automatic CBE (and other) > support for emitting intrinsics as gcc builtins.  It looks like > this: > >  def int_x86_sse3_hadd_pd : GCCBuiltin<"__builtin_ia32_haddpd">, >              Intrinsic<[llvm_v2f64_ty], [llvm_v2f64_ty, >                         llvm_v2f64_ty], [IntrNoMem]>; > > AVX has 128-bit instructions that work exactly like SSE instructions > except they have non-destructive operands.  gcc defines intrinsics for > 25...
2010 Sep 13
0
[LLVMdev] GCCBuiltin and Intrinsic Mapping
...you give an example of such a scenario? In answer to your original question, it's probably just a matter of messing with the relevant generator in TableGen, relatively straightforward. Your syntax is probably insufficient, though: how will the table generator decide which intrinsic to use for __builtin_ia32_haddpd coming from a frontend? -Eli
2010 Sep 13
4
[LLVMdev] GCCBuiltin and Intrinsic Mapping
Eli Friedman <eli.friedman at gmail.com> writes: > int_x86_avx_vhadd_pd_xmm doesn't exist on trunk. Why does it exist on > your branch if the semantics are exactly equivalent to > int_x86_sse3_hadd_pd? The register allocator can handle converting to > three-address form if the target provides the appropriate hooks. Because in some cases users may want to explicitly use