[x86] Fix AVX maskload/store intrinsic prototypes.
authorAndrea Di Biagio <Andrea_DiBiagio@sn.scee.net>
Tue, 20 Oct 2015 11:20:13 +0000 (11:20 +0000)
committerAndrea Di Biagio <Andrea_DiBiagio@sn.scee.net>
Tue, 20 Oct 2015 11:20:13 +0000 (11:20 +0000)
commiteb09365c843560601b374d4de7322fd2b05611f5
treec7030864b923ae6abfa8bb1614d9edb7574f4100
parentbb5ca273e0ee58bededeab057f8b360181660b02
[x86] Fix AVX maskload/store intrinsic prototypes.

The mask value type for maskload/maskstore GCC builtins is never a vector of
packed floats/doubles.

This patch fixes the following issues:
1. The mask argument for builtin_ia32_maskloadpd and builtin_ia32_maskstorepd
   should be of type llvm_v2i64_ty and not llvm_v2f64_ty.
2. The mask argument for builtin_ia32_maskloadpd256 and
   builtin_ia32_maskstorepd256 should be of type llvm_v4i64_ty and not
   llvm_v4f64_ty.
3. The mask argument for builtin_ia32_maskloadps and builtin_ia32_maskstoreps
   should be of type llvm_v4i32_ty and not llvm_v4f32_ty.
4. The mask argument for builtin_ia32_maskloadps256 and
   builtin_ia32_maskstoreps256 should be of type llvm_v8i32_ty and not
   llvm_v8f32_ty.

Differential Revision: http://reviews.llvm.org/D13776

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@250817 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/IR/IntrinsicsX86.td
test/CodeGen/X86/avx-intrinsics-x86.ll
test/CodeGen/X86/avx-load-store.ll
test/CodeGen/X86/avx-win64.ll