gcc-8.3/gcc/riscv_parse_arch_string()
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
*参照元 [#i0d07667]
#backlinks
*説明 [#b6aea19f]
-パス: [[gcc-8.3/gcc/common/config/riscv/riscv-common.c]]
-FIXME: これは何?
--説明
**引数 [#ra5f7eb1]
-const char *isa
--
-int *flags
--
-location_t loc
--
--[[gcc-8.3/gcc/location_t]]
**返り値 [#ib9ae693]
-なし
**参考 [#tfed9407]
*実装 [#ibcda8b3]
/* Parse a RISC-V ISA string into an option mask. Must ...
dependent mask bits, in case more than one -march str...
static void
riscv_parse_arch_string (const char *isa, int *flags, lo...
{
riscv_subset_list *subset_list;
subset_list = riscv_subset_list::parse (isa, loc);
if (!subset_list)
return;
-
--[[gcc-8.3/gcc/riscv_subset_list]]
--[[gcc-8.3/gcc/riscv_subset_list/parse()]]
if (subset_list->xlen () == 32)
*flags &= ~MASK_64BIT;
else if (subset_list->xlen () == 64)
*flags |= MASK_64BIT;
*flags &= ~MASK_RVE;
if (subset_list->lookup ("e"))
*flags |= MASK_RVE;
*flags &= ~MASK_MUL;
if (subset_list->lookup ("m"))
*flags |= MASK_MUL;
*flags &= ~MASK_ATOMIC;
if (subset_list->lookup ("a"))
*flags |= MASK_ATOMIC;
*flags &= ~(MASK_HARD_FLOAT | MASK_DOUBLE_FLOAT);
if (subset_list->lookup ("f"))
*flags |= MASK_HARD_FLOAT;
if (subset_list->lookup ("d"))
*flags |= MASK_DOUBLE_FLOAT;
*flags &= ~MASK_RVC;
if (subset_list->lookup ("c"))
*flags |= MASK_RVC;
if (current_subset_list)
delete current_subset_list;
current_subset_list = subset_list;
}
-
--[[gcc-8.3/gcc/current_subset_list(global)]]
--[[gcc-8.3/gcc/subset_list/xlen()]]
--[[gcc-8.3/gcc/subset_list/lookup()]]
*コメント [#i9ac9beb]
終了行:
*参照元 [#i0d07667]
#backlinks
*説明 [#b6aea19f]
-パス: [[gcc-8.3/gcc/common/config/riscv/riscv-common.c]]
-FIXME: これは何?
--説明
**引数 [#ra5f7eb1]
-const char *isa
--
-int *flags
--
-location_t loc
--
--[[gcc-8.3/gcc/location_t]]
**返り値 [#ib9ae693]
-なし
**参考 [#tfed9407]
*実装 [#ibcda8b3]
/* Parse a RISC-V ISA string into an option mask. Must ...
dependent mask bits, in case more than one -march str...
static void
riscv_parse_arch_string (const char *isa, int *flags, lo...
{
riscv_subset_list *subset_list;
subset_list = riscv_subset_list::parse (isa, loc);
if (!subset_list)
return;
-
--[[gcc-8.3/gcc/riscv_subset_list]]
--[[gcc-8.3/gcc/riscv_subset_list/parse()]]
if (subset_list->xlen () == 32)
*flags &= ~MASK_64BIT;
else if (subset_list->xlen () == 64)
*flags |= MASK_64BIT;
*flags &= ~MASK_RVE;
if (subset_list->lookup ("e"))
*flags |= MASK_RVE;
*flags &= ~MASK_MUL;
if (subset_list->lookup ("m"))
*flags |= MASK_MUL;
*flags &= ~MASK_ATOMIC;
if (subset_list->lookup ("a"))
*flags |= MASK_ATOMIC;
*flags &= ~(MASK_HARD_FLOAT | MASK_DOUBLE_FLOAT);
if (subset_list->lookup ("f"))
*flags |= MASK_HARD_FLOAT;
if (subset_list->lookup ("d"))
*flags |= MASK_DOUBLE_FLOAT;
*flags &= ~MASK_RVC;
if (subset_list->lookup ("c"))
*flags |= MASK_RVC;
if (current_subset_list)
delete current_subset_list;
current_subset_list = subset_list;
}
-
--[[gcc-8.3/gcc/current_subset_list(global)]]
--[[gcc-8.3/gcc/subset_list/xlen()]]
--[[gcc-8.3/gcc/subset_list/lookup()]]
*コメント [#i9ac9beb]
ページ名: