gcc-8.3/gcc/vector_type_mode()
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
*参照元 [#o121e66f]
#backlinks
*説明 [#t96309af]
-パス: [[gcc-8.3/gcc/tree.c]]
-FIXME: これは何?
--説明
**引数 [#a0657202]
-
--
**返り値 [#w9bb9caa]
-
--
**参考 [#f465d5c8]
*実装 [#m78f6509]
/* Vector types need to re-check the target flags each t...
the machine mode. We need to do this because attribu...
change the result of vector_mode_supported_p and have...
on a per-function basis. Thus the TYPE_MODE of a VEC...
change on a per-function basis. */
/* ??? Possibly a better solution is to run through all ...
referenced by a function and re-compute the TYPE_MODE...
than make the TYPE_MODE macro call a function. */
machine_mode
vector_type_mode (const_tree t)
{
machine_mode mode;
gcc_assert (TREE_CODE (t) == VECTOR_TYPE);
-
--[[gcc-8.3/gcc/machine_mode]]
--[[gcc-8.3/gcc/gcc_assert()]]
--[[gcc-8.3/gcc/TREE_CODE()]]
mode = t->type_common.mode;
if (VECTOR_MODE_P (mode)
&& (!targetm.vector_mode_supported_p (mode)
|| !have_regs_of_mode[mode]))
{
scalar_int_mode innermode;
-
--[[gcc-8.3/gcc/VECTOR_MODE_P()]]
--[[gcc-8.3/gcc/scalar_int_mode]]
/* For integers, try mapping it to a same-sized sc...
if (is_int_mode (TREE_TYPE (t)->type_common.mode, ...
{
poly_int64 size = (TYPE_VECTOR_SUBPARTS (t)
* GET_MODE_BITSIZE (innermode));
scalar_int_mode mode;
if (int_mode_for_size (size, 0).exists (&mode)
&& have_regs_of_mode[mode])
return mode;
}
-
--[[gcc-8.3/gcc/is_int_mode()]]
--[[gcc-8.3/gcc/TREE_TYPE()]]
--[[gcc-8.3/gcc/poly_int64]]
--[[gcc-8.3/gcc/TYPE_VECTOR_SUBPARTS()]]
--[[gcc-8.3/gcc/GET_MODE_BITSIZE()]]
--[[gcc-8.3/gcc/scalar_int_mode]]
--[[gcc-8.3/gcc/int_mode_for_size()]]
return BLKmode;
}
return mode;
}
*コメント [#c9683810]
終了行:
*参照元 [#o121e66f]
#backlinks
*説明 [#t96309af]
-パス: [[gcc-8.3/gcc/tree.c]]
-FIXME: これは何?
--説明
**引数 [#a0657202]
-
--
**返り値 [#w9bb9caa]
-
--
**参考 [#f465d5c8]
*実装 [#m78f6509]
/* Vector types need to re-check the target flags each t...
the machine mode. We need to do this because attribu...
change the result of vector_mode_supported_p and have...
on a per-function basis. Thus the TYPE_MODE of a VEC...
change on a per-function basis. */
/* ??? Possibly a better solution is to run through all ...
referenced by a function and re-compute the TYPE_MODE...
than make the TYPE_MODE macro call a function. */
machine_mode
vector_type_mode (const_tree t)
{
machine_mode mode;
gcc_assert (TREE_CODE (t) == VECTOR_TYPE);
-
--[[gcc-8.3/gcc/machine_mode]]
--[[gcc-8.3/gcc/gcc_assert()]]
--[[gcc-8.3/gcc/TREE_CODE()]]
mode = t->type_common.mode;
if (VECTOR_MODE_P (mode)
&& (!targetm.vector_mode_supported_p (mode)
|| !have_regs_of_mode[mode]))
{
scalar_int_mode innermode;
-
--[[gcc-8.3/gcc/VECTOR_MODE_P()]]
--[[gcc-8.3/gcc/scalar_int_mode]]
/* For integers, try mapping it to a same-sized sc...
if (is_int_mode (TREE_TYPE (t)->type_common.mode, ...
{
poly_int64 size = (TYPE_VECTOR_SUBPARTS (t)
* GET_MODE_BITSIZE (innermode));
scalar_int_mode mode;
if (int_mode_for_size (size, 0).exists (&mode)
&& have_regs_of_mode[mode])
return mode;
}
-
--[[gcc-8.3/gcc/is_int_mode()]]
--[[gcc-8.3/gcc/TREE_TYPE()]]
--[[gcc-8.3/gcc/poly_int64]]
--[[gcc-8.3/gcc/TYPE_VECTOR_SUBPARTS()]]
--[[gcc-8.3/gcc/GET_MODE_BITSIZE()]]
--[[gcc-8.3/gcc/scalar_int_mode]]
--[[gcc-8.3/gcc/int_mode_for_size()]]
return BLKmode;
}
return mode;
}
*コメント [#c9683810]
ページ名: