Displaying 5 results from an estimated 5 matches for "int_x86_avx_vhadd_pd_xmm".
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 ex...
2010 Sep 12
2
[LLVMdev] GCCBuiltin and Intrinsic Mapping
...4_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 not define special intrinsics for 128-bit
AVX instructions. So one has to use the SSE intrinsics:
def int_x86_avx_vhadd_pd_xmm : GCCBuiltin<"__builtin_ia32_haddpd">,
Intrinsic<[llvm_v2f64_ty], [llvm_v2f64_ty, llvm_v2f64_ty],
[IntrNoMem]>;
Unfortunately, this doesn't work:
/ptmp/dag/universal_build/merge/developer/DEFAULT/llvm/tblgen: Intrinsic 'int_x86_s...
2010 Sep 12
0
[LLVMdev] GCCBuiltin and Intrinsic Mapping
...; 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 not define special intrinsics for 128-bit
> AVX instructions. So one has to use the SSE intrinsics:
>
> def int_x86_avx_vhadd_pd_xmm : GCCBuiltin<"__builtin_ia32_haddpd">,
> Intrinsic<[llvm_v2f64_ty], [llvm_v2f64_ty, llvm_v2f64_ty],
> [IntrNoMem]>;
>
> Unfortunately, this doesn't work:
>
> /ptmp/dag/universal_build/merge/developer/DEFAULT/llvm/tblgen...
2010 Sep 13
0
[LLVMdev] GCCBuiltin and Intrinsic Mapping
On Mon, Sep 13, 2010 at 8:27 AM, David A. Greene <dag at cray.com> wrote:
> 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...
2010 Sep 13
0
[LLVMdev] GCCBuiltin and Intrinsic Mapping
On Mon, Sep 13, 2010 at 8:27 AM, David A. Greene <dag at cray.com> wrote:
> 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...