diff options
author | Ilya Enkovich <enkovich.gnu@gmail.com> | 2015-11-05 09:46:10 +0000 |
---|---|---|
committer | Ilya Enkovich <ienkovich@gcc.gnu.org> | 2015-11-05 09:46:10 +0000 |
commit | e219e495bc5f009f59c5bdabf8905f7630d10fc6 (patch) | |
tree | 5c64d4d4e5bf6e0a1b34ef887efc1b7dec23697e /gcc/stor-layout.c | |
parent | 175a31e4914dc8814c08f8961daf0d419e2f0cb7 (diff) | |
download | gcc-e219e495bc5f009f59c5bdabf8905f7630d10fc6.zip gcc-e219e495bc5f009f59c5bdabf8905f7630d10fc6.tar.gz gcc-e219e495bc5f009f59c5bdabf8905f7630d10fc6.tar.bz2 |
targhooks.c (default_get_mask_mode): Use BLKmode in case target doesn't support required vector mode.
gcc/
2015-10-29 Ilya Enkovich <enkovich.gnu@gmail.com>
* targhooks.c (default_get_mask_mode): Use BLKmode in
case target doesn't support required vector mode.
* stor-layout.c (layout_type); Check for BLKmode.
From-SVN: r229794
Diffstat (limited to 'gcc/stor-layout.c')
-rw-r--r-- | gcc/stor-layout.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/stor-layout.c b/gcc/stor-layout.c index 2e258ce..364a0b5 100644 --- a/gcc/stor-layout.c +++ b/gcc/stor-layout.c @@ -2174,7 +2174,8 @@ layout_type (tree type) TYPE_SATURATING (type) = TYPE_SATURATING (TREE_TYPE (type)); TYPE_UNSIGNED (type) = TYPE_UNSIGNED (TREE_TYPE (type)); /* Several boolean vector elements may fit in a single unit. */ - if (VECTOR_BOOLEAN_TYPE_P (type)) + if (VECTOR_BOOLEAN_TYPE_P (type) + && type->type_common.mode != BLKmode) TYPE_SIZE_UNIT (type) = size_int (GET_MODE_SIZE (type->type_common.mode)); else |