diff options
Diffstat (limited to 'src/ortho')
-rw-r--r-- | src/ortho/gcc/ortho-lang-49.c | 8 | ||||
-rw-r--r-- | src/ortho/gcc/ortho-lang-5.c | 8 | ||||
-rw-r--r-- | src/ortho/gcc/ortho-lang-6.c | 8 | ||||
-rw-r--r-- | src/ortho/gcc/ortho-lang-7.c | 8 | ||||
-rw-r--r-- | src/ortho/gcc/ortho-lang-8.c | 8 | ||||
-rw-r--r-- | src/ortho/gcc/ortho-lang-9.c | 8 |
6 files changed, 48 insertions, 0 deletions
diff --git a/src/ortho/gcc/ortho-lang-49.c b/src/ortho/gcc/ortho-lang-49.c index f73965615..3e29f0a14 100644 --- a/src/ortho/gcc/ortho-lang-49.c +++ b/src/ortho/gcc/ortho-lang-49.c @@ -722,6 +722,14 @@ type_for_mode (enum machine_mode mode, int unsignedp) if (mode == TYPE_MODE (long_double_type_node)) return long_double_type_node; + if (VECTOR_MODE_P (mode)) + { + machine_mode inner_mode = GET_MODE_INNER (mode); + tree inner_type = type_for_mode (inner_mode, unsignedp); + if (inner_type) + return build_vector_type_for_mode (inner_type, mode); + } + return NULL_TREE; } diff --git a/src/ortho/gcc/ortho-lang-5.c b/src/ortho/gcc/ortho-lang-5.c index 6dedb14b0..3e046f7a3 100644 --- a/src/ortho/gcc/ortho-lang-5.c +++ b/src/ortho/gcc/ortho-lang-5.c @@ -709,6 +709,14 @@ type_for_mode (enum machine_mode mode, int unsignedp) if (mode == TYPE_MODE (long_double_type_node)) return long_double_type_node; + if (VECTOR_MODE_P (mode)) + { + machine_mode inner_mode = GET_MODE_INNER (mode); + tree inner_type = type_for_mode (inner_mode, unsignedp); + if (inner_type) + return build_vector_type_for_mode (inner_type, mode); + } + return NULL_TREE; } diff --git a/src/ortho/gcc/ortho-lang-6.c b/src/ortho/gcc/ortho-lang-6.c index 639356085..bd989d9a8 100644 --- a/src/ortho/gcc/ortho-lang-6.c +++ b/src/ortho/gcc/ortho-lang-6.c @@ -709,6 +709,14 @@ type_for_mode (enum machine_mode mode, int unsignedp) if (mode == TYPE_MODE (long_double_type_node)) return long_double_type_node; + if (VECTOR_MODE_P (mode)) + { + machine_mode inner_mode = GET_MODE_INNER (mode); + tree inner_type = type_for_mode (inner_mode, unsignedp); + if (inner_type) + return build_vector_type_for_mode (inner_type, mode); + } + return NULL_TREE; } diff --git a/src/ortho/gcc/ortho-lang-7.c b/src/ortho/gcc/ortho-lang-7.c index f871bf93c..e9c0d47c8 100644 --- a/src/ortho/gcc/ortho-lang-7.c +++ b/src/ortho/gcc/ortho-lang-7.c @@ -718,6 +718,14 @@ type_for_mode (enum machine_mode mode, int unsignedp) if (mode == TYPE_MODE (long_double_type_node)) return long_double_type_node; + if (VECTOR_MODE_P (mode)) + { + machine_mode inner_mode = GET_MODE_INNER (mode); + tree inner_type = type_for_mode (inner_mode, unsignedp); + if (inner_type) + return build_vector_type_for_mode (inner_type, mode); + } + return NULL_TREE; } diff --git a/src/ortho/gcc/ortho-lang-8.c b/src/ortho/gcc/ortho-lang-8.c index de5080036..350504cdf 100644 --- a/src/ortho/gcc/ortho-lang-8.c +++ b/src/ortho/gcc/ortho-lang-8.c @@ -719,6 +719,14 @@ type_for_mode (enum machine_mode mode, int unsignedp) if (mode == TYPE_MODE (long_double_type_node)) return long_double_type_node; + if (VECTOR_MODE_P (mode)) + { + machine_mode inner_mode = GET_MODE_INNER (mode); + tree inner_type = type_for_mode (inner_mode, unsignedp); + if (inner_type) + return build_vector_type_for_mode (inner_type, mode); + } + return NULL_TREE; } diff --git a/src/ortho/gcc/ortho-lang-9.c b/src/ortho/gcc/ortho-lang-9.c index 5a5ac8859..b027f0d6d 100644 --- a/src/ortho/gcc/ortho-lang-9.c +++ b/src/ortho/gcc/ortho-lang-9.c @@ -719,6 +719,14 @@ type_for_mode (enum machine_mode mode, int unsignedp) if (mode == TYPE_MODE (long_double_type_node)) return long_double_type_node; + if (VECTOR_MODE_P (mode)) + { + machine_mode inner_mode = GET_MODE_INNER (mode); + tree inner_type = type_for_mode (inner_mode, unsignedp); + if (inner_type) + return build_vector_type_for_mode (inner_type, mode); + } + return NULL_TREE; } |